]> git.cameronkatri.com Git - mandoc.git/blobdiff - gmdiff
MANWIDTH
[mandoc.git] / gmdiff
diff --git a/gmdiff b/gmdiff
index 2c7ba4b343ca8031d11008a90137d06be91edce0..69431f703aaf5508c5bf51a453084c3a7307becc 100644 (file)
--- a/gmdiff
+++ b/gmdiff
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
+# Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -19,20 +19,39 @@ if [ `id -u` -eq 0 ]; then
 fi
 
 if [ $# -eq 0 ]; then
-  echo "usage: $0 manual_source_file ..."
+  echo "usage: $0 [-h|-u] manual_source_file ..."
   exit 1
 fi
 
+if [ "X$1" = "X-h" ]; then
+  shift
+  export PATH="/usr/local/heirloom-doctools/bin:$PATH"
+  EQN="neqn"
+  ROFF="nroff"
+  MOPT="-Ios=BSD -Tascii $MOPT"
+  COLPIPE="col -b"
+elif [ "X$1" = "X-u" ]; then
+  shift
+  ROFF="groff -ket -ww -Tutf8 -P -c"
+  MOPT="-Ios=OpenBSD -Wall -Tutf8 $MOPT"
+  COLPIPE="cat"
+else
+  ROFF="groff -ket -ww -mtty-char -Tascii -P -c"
+  MOPT="-Ios=OpenBSD -Wall -Tascii $MOPT"
+  COLPIPE="cat"
+fi
+
 while [ -n "$1" ]; do
   file=$1
   shift
   echo " ========== $file ========== "
-  tbl $file | groff -mandoc -Tascii -P -c 2> /tmp/groff.err > /tmp/groff.out
-  mandoc -Ios='OpenBSD ports' -Werror $file 2> /tmp/mandoc.err > /tmp/mandoc.out
-  for i in groff mandoc; do
-    [[ -s /tmp/$i.err ]] && echo "$i errors:" && cat /tmp/$i.err
+  $ROFF -mandoc $file | $COLPIPE 2> /tmp/roff.err > /tmp/roff.out
+  ${MANDOC:=mandoc} $MOPT $file | $COLPIPE \
+    2> /tmp/mandoc.err > /tmp/mandoc.out
+  for i in roff mandoc; do
+    [ -s /tmp/$i.err ] && echo "$i errors:" && cat /tmp/$i.err
   done
-  diff -au /tmp/groff.out /tmp/mandoc.out 2>&1
+  diff -au $DIFFOPT /tmp/roff.out /tmp/mandoc.out 2>&1
 done
 
 exit 0