summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2011-01-03 03:03:40 +0000
committerColin Watson <cjwatson@debian.org>2011-01-03 03:03:40 +0000
commit0f4620d4ac262733db798f986aece1ef03796a12 (patch)
tree7666943c59a9c7451223d526960f0aa4b7ff3a53 /m4
parentf6d95ff590d165444141825069c4ad6da4680599 (diff)
Add basic support for the Heirloom Documentation Tools.
* m4/man-heirloom-nroff.m4: New file. * configure.ac: Call MAN_PROG_HEIRLOOM_NROFF. If successful and an nroff macro was found, prepend -mg -msafe -mpadj to the nroff and troff options. * lib/encodings.c (charset_table) [HEIRLOOM_NROFF]: Disable latin1 and nippon devices. (device_table) [HEIRLOOM_NROFF]: Add locale device. * src/man.c (heirloom_line_length) [HEIRLOOM_NROFF]: New function. (add_roff_line_length): Optionally return a command, which should be inserted before troff. (add_roff_line_length) [HEIRLOOM_NROFF]: Support Heirloom, which needs text inserted at the start of the input. (make_roff_command) [HEIRLOOM_NROFF]: Use locale device instead of utf8 in UTF-8 locales. Handle add_roff_line_length return value. Unset TROFFMACS if running setuid. (make_browser): Compile only if TROFF_IS_GROFF. (format_display): Only declare variables related to HTML output if TROFF_IS_GROFF. * src/tests/zsoelim-1: Ignore .ll and .lt lines inserted by heirloom_line_length. * NEWS: Document this.
Diffstat (limited to 'm4')
-rw-r--r--m4/man-heirloom-nroff.m433
1 files changed, 33 insertions, 0 deletions
diff --git a/m4/man-heirloom-nroff.m4 b/m4/man-heirloom-nroff.m4
new file mode 100644
index 00000000..85144e7f
--- /dev/null
+++ b/m4/man-heirloom-nroff.m4
@@ -0,0 +1,33 @@
+# man-heirloom-nroff.m4 serial 1
+dnl MAN_PROG_HEIRLOOM_NROFF(PROGRAM-NAME)
+dnl Check whether the given nroff program is from the Heirloom Documentation
+dnl Tools. We do this by testing the .X number register; it should be
+dnl non-zero, and should change to a different value if the -mg option is
+dnl used to enable groff compatibility.
+AC_DEFUN([MAN_PROG_HEIRLOOM_NROFF],
+[AC_MSG_CHECKING([whether nroff is Heirloom nroff])
+
+AC_CACHE_VAL([man_cv_prog_heirloom_nroff],
+ [man_heirloom_ext_plain=`$1 2>/dev/null <<EOF | tr -d '\n'
+\\n(.X
+EOF
+`
+ man_heirloom_ext_mg=`$1 -mg 2>/dev/null <<EOF | tr -d '\n'
+\\n(.X
+EOF
+`
+ if test "x$man_heirloom_ext_plain" != 0 && \
+ test "x$man_heirloom_ext_mg" != 0 && \
+ test "x$man_heirloom_ext_plain" != "x$man_heirloom_extflag_mg"
+ then
+ man_cv_prog_heirloom_nroff=yes
+ else
+ man_cv_prog_heirloom_nroff=no
+ fi])
+
+if test "$man_cv_prog_heirloom_nroff" = "yes"
+then
+ AC_DEFINE([HEIRLOOM_NROFF], [1], [Define if nroff is Heirloom nroff.])
+fi
+AC_MSG_RESULT([$man_cv_prog_heirloom_nroff])
+])