Bug #23436: fix some minor manpage syntax errors and add a test which runs
authorPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sun, 3 Aug 2008 15:14:23 +0000 (15:14 +0000)
committerPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sun, 3 Aug 2008 15:14:23 +0000 (15:14 +0000)
groff over them and checks that no warnings are emitted.

man/forw.man
man/inc.man
man/mh-chart.man
man/mhmail.man
man/mhshow.man
man/mhstore.man
man/msgchk.man
man/packf.man
man/scan.man
test/tests/manpages/test-manpages [new file with mode: 0644]

index c59f4a6..0f05b68 100644 (file)
@@ -96,10 +96,14 @@ If the
 .B \-annotate
 switch is given, each message being forwarded will
 be annotated with the lines:
-
-     Forwarded:\ date
-     Forwarded:\ addrs
-
+.PP
+.RS 5
+.nf
+Forwarded:\ date
+Forwarded:\ addrs
+.fi
+.RE
+.PP
 where each address list contains as many lines as required.  This
 annotation will be done only if the message is sent directly from
 .BR forw .
@@ -295,8 +299,8 @@ the
 .BR \-mime ,
 and
 .B \-digest
-switches is bypassed, and the usual leading and trailing
-'Forwarded Message' delimiters are not added.
+switches is bypassed, and the usual leading and
+trailing 'Forwarded Message' delimiters are not added.
 The same caveats apply to this option as to the
 .B \-build
 switch.
index baaead8..86280b9 100644 (file)
@@ -88,7 +88,7 @@ line per message to the end of the specified audit\-file with the format:
 .PP
 .RS 5
 .nf
-\*(<<inc\*(>> date
+<<inc>> date
 <scan line for first message>
 <scan line for second message>
 <etc.>
index 707e2be..5e097e4 100644 (file)
@@ -331,7 +331,7 @@ is equivalent to
 .IR text ]
 .RB [ \-cc
 .I addrs
-...]
+\&...]
 .RB [ \-from
 .IR addr ]
 .RB [ \-subject
@@ -450,7 +450,7 @@ all/mail/nomail ]
 .RB [ \-snoop ]
 %nmhendpop%
 .RI [ users
-... ]
+\&... ]
 .RB [ \-version ]
 .RB [ \-help ]
 
index 7e46677..75f4918 100644 (file)
@@ -15,7 +15,7 @@ mhmail \- send or read mail
 .IR text ]
 .RB [ \-cc
 .I addrs
-...]
+\&...]
 .RB [ \-from
 .IR addr ]
 .RB [ \-subject
@@ -77,7 +77,7 @@ length,
 .B mhmail
 will not send the message.  You can use the switch
 .B \-body
-\*(lr\*(rq to force an empty message.
+\*(lq\*(rq to force an empty message.
 .PP
 Normally, addresses appearing as arguments are put in the \*(lqTo:\*(rq
 field.  If the
index 3717202..78d8ed9 100644 (file)
@@ -529,7 +529,7 @@ operates may vary for
 different machines,
 .B mhshow
 will look for the environment variable
-.BE $MHSHOW .
+.BR $MHSHOW .
 If present, this specifies the name of an additional
 user profile which should be read.  Hence, when a user logs in on a
 particular display device, this environment variable should be set to
index ae15292..4907273 100644 (file)
@@ -162,8 +162,8 @@ the message contains information indicating the filename that should
 be used to store the content.  This information should be specified
 as the attribute \*(lqname=filename\*(rq in the \*(lqContent-Type\*(rq header
 for the content you are storing.  For security reasons, this filename
-will be ignored if it begins with the character '/', '.', '|', or
-'!', or if it contains the character '%'.  For the sake of security,
+will be ignored if it begins with the character '/', '.', '|', or '!',
+or if it contains the character '%'.  For the sake of security,
 this switch is not the default, and it is recommended that you do
 NOT put the
 .B \-auto
@@ -418,7 +418,7 @@ operates may vary for
 different machines,
 .B mhstore
 will look for the environment variable
-.BE $MHSTORE .
+.BR $MHSTORE .
 If present, this specifies the name of an additional
 user profile which should be read.  Hence, when a user logs in on a
 particular machine, this environment variable should be set to
index 49a841d..6decb1e 100644 (file)
@@ -27,7 +27,7 @@ all/mail/nomail ]
 .RB [ \-snoop ]
 %nmhendpop%
 .RI [ users
-... ]
+\&... ]
 .RB [ \-version ]
 .RB [ \-help ]
 .ad
index d220a76..a351578 100644 (file)
@@ -91,4 +91,3 @@ inc(1)
 .SH CONTEXT
 If a folder is given, it will become the current folder.  The first
 message packed will become the current message.
-.En
index 3655a10..7da788e 100644 (file)
@@ -37,8 +37,8 @@ and, if room allows, some of the body of the message.  For example:
 .RS 5
 .nf
 .ta \w'15+- 'u +\w'07/\|05x 'u +\w'Dcrocker  'u
-15+    10/\|05 crocker nned\0\0\*(<<Last week I asked some of
-16\-   10/\|05 crocker message id format\0\0\*(<<I recommend
+15+    10/\|05 crocker nned\0\0<<Last week I asked some of
+16\-   10/\|05 crocker message id format\0\0\<<I recommend
 18     10/\|06 brien   Re: Exit status from mkdir
 19     10/\|07*brien   \*(lqscan\*(rq listing format in nmh
 .fi
diff --git a/test/tests/manpages/test-manpages b/test/tests/manpages/test-manpages
new file mode 100644 (file)
index 0000000..ab06831
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/sh
+######################################################
+#
+# Test that the manpages don't have any syntax errors
+# as detected by groff.
+#
+######################################################
+
+# First find out whether we have a groff on the path:
+
+# portable implementation of 'which' utility
+findprog()
+{
+  FOUND=
+  PROG="$1"
+  IFS_SAVE="$IFS"
+  IFS=:
+  for D in $PATH; do
+    if [ -z "$D" ]; then
+      D=.
+    fi
+    if [ -f "$D/$PROG" ] && [ -x "$D/$PROG" ]; then
+      printf '%s\n' "$D/$PROG"
+      break
+    fi
+  done
+  IFS="$IFS_SAVE"
+}
+
+if [ -z "$(findprog groff)" ]; then
+  echo "Test $0 SKIP (missing groff)"
+  exit 120
+fi
+
+cd $MH_TEST_DIR/share/man
+
+# groff will still exit with status zero even if warnings
+# were emitted, so we have to jump through hoops to
+# find out if any were emitted.
+
+expected=$MH_TEST_DIR/$$.expected
+actual=$MH_TEST_DIR/$$.actual
+
+# There aren't any expected warnings at the moment but
+# this mechanism does let us add them if necessary later.
+rm -f "$expected" "$actual"
+touch "$expected" "$actual"
+
+for manpage in man?/*.?; do
+  groff -Tutf8 -mandoc -wmac "$manpage" > /dev/null 2>>"$actual"
+done
+
+diff -u "$expected" "$actual"