]> diplodocus.org Git - nmh/blobdiff - man/mh-chart-gen.sh
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / man / mh-chart-gen.sh
index 33e2a4c583a88ef2968a7d966d97d9c413829f79..a49514d4b78f14173e2b4dd324649c32407b32a9 100755 (executable)
@@ -1,36 +1,49 @@
-#! /bin/sh
+#!/bin/sh
 #
 #
-# Generates mh-chart.man from other .man files that have a
-# SYNOPSIS section.
+# Generates mh-chart.man from other .man files that have a SYNOPSIS
+# section.
+#
+# This code is Copyright (c) 2012, by the authors of nmh.
+# See the COPYRIGHT file in the root directory of the nmh
+# distribution for complete copyright information.
 
 nmhmandir=`dirname $0`
 
 
 nmhmandir=`dirname $0`
 
-cat <<'EOF'
-.\"
+# The following ensures the generated date field in the manpage is divorced
+# from the local build environment when building distribution packages.
+LC_TIME=C; export LC_TIME
+unset LANG
+datestamp=`date +%Y-%m-%d`
+
+cat <<__HOOPY_FROOD
+.TH MH-CHART %manext7% "${datestamp}" "%nmhversion%"
+.
 .\" %nmhwarning%
 .\" %nmhwarning%
-.\"
-.TH MH-CHART %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
+.
 .SH NAME
 .SH NAME
-mh-chart \- Chart of nmh Commands
+mh-chart \- chart of nmh commands and their options
 .SH SYNOPSIS
 .na
 .SH SYNOPSIS
 .na
-EOF
+__HOOPY_FROOD
 
 for i in $nmhmandir/*.man; do
 
 for i in $nmhmandir/*.man; do
-  if ! echo $i | grep 'mh-chart.man' >/dev/null; then
-    if grep '^\.ad' "$i" >/dev/null; then
-      #### Extract lines from just after .SH SYNOPSIS to just before .ad.
-      #### Filter out the "typical usage:" section in pick.man.
-      awk '/.SH SYNOPSIS/,/^(\.ad|typical usage:)/' "$i" | \
-        grep -Ev '^(\.SH SYNOPSIS|\.na|\.ad|typical usage:)'
-      echo
-    fi
-  fi
+  case $i in
+    */mh-chart.man) ;;
+    *) if grep '^\.ad' "$i" >/dev/null; then
+         #### Extract lines from just after .SH SYNOPSIS to just before .ad.
+         #### Filter out the "typical usage:" section in pick.man.
+         awk '/.SH SYNOPSIS/,/^(\.ad|typical usage:)/ {
+                if ($0 !~ /^(\.SH SYNOPSIS|\.na|\.ad|typical usage:)/) print
+              }' "$i"
+         echo
+       fi ;;
+  esac
 done
 
 cat <<'EOF'
 .ad
 
 .SH "SEE ALSO"
 done
 
 cat <<'EOF'
 .ad
 
 .SH "SEE ALSO"
-nmh(1)
+.IR nmh (7),
+.IR mh\-mime (7)
 EOF
 EOF