diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-10-08 01:21:59 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-10-08 01:21:59 +0300 |
commit | eb8797c9a28f3f4e238bad89b56d331492df7828 (patch) | |
tree | 91d59a8d31d88c3c51899ed7f0a816da5263e581 /doc | |
parent | a31c3374d2c32de00feb7b9d029e6846abd0a76d (diff) | |
download | pies-eb8797c9a28f3f4e238bad89b56d331492df7828.tar.gz pies-eb8797c9a28f3f4e238bad89b56d331492df7828.tar.bz2 |
Use Imprimatur for docs processing.
* .gitmodules: Add imprimatur.
* Makefile.am (ACLOCAL_AMFLAGS,SUBDIRS): Add imprimatur.
* configure.ac: Require gettext 0.18. Call IMPRIMATUR_INIT.
Define ATTRIBUTE_NORETURN, if not defined already.
* doc/Makefile.am: Use imprimatur. Drop files that are
no longer necessary.
* doc/check-docs.sh: Delete.
* doc/fix-sentence-spacing.sed: Delete.
* doc/mastermenu.el: Delete.
* doc/rendition.texi: Delete.
* doc/untabify.el: Delete.
* doc/pies.texi: Use @: where appropriate.
* src/pies.c (main): Use _() instead of N_().
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 113 | ||||
-rwxr-xr-x | doc/check-docs.sh | 74 | ||||
-rw-r--r-- | doc/fix-sentence-spacing.sed | 4 | ||||
-rw-r--r-- | doc/mastermenu.el | 90 | ||||
-rw-r--r-- | doc/pies.texi | 16 | ||||
-rw-r--r-- | doc/rendition.texi | 94 | ||||
-rw-r--r-- | doc/untabify.el | 13 |
7 files changed, 24 insertions, 380 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index da7d47c..492a6ae 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -21,3 +21,2 @@ pies_TEXINFOS=\ macros.texi\ - rendition.texi\ usr-acl.texi @@ -25,7 +24,3 @@ pies_TEXINFOS=\ EXTRA_DIST = \ - check-docs.sh\ - fix-sentence-spacing.sed\ - gendocs_template\ - mastermenu.el\ - untabify.el + gendocs_template @@ -35,18 +30,12 @@ clean-local: # Checking -check-tabs: - @if test -n "`cat $(info_TEXINFOS) $(pies_TEXINFOS) | tr -d -c '\t'`"; then \ - echo "Sources contain tabs; run make untabify"; \ - false; \ - fi -check-sentence-spacing: - @if cat $(info_TEXINFOS) $(pies_TEXINFOS) | sed 's/i\.e\. //g;s/e\.g\. //g;s/\.\.\. @//g' | grep -q '\. [@A-Z]'; then \ - echo >&2 "Sources contain single-space sentence separators"; \ - echo >&2 "Run make fix-sentence-spacing to fix"; \ - fi +AM_MAKEINFOFLAGS = @IMPRIMATUR_MAKEINFOFLAGS@ +imprimatur_INPUT=$(info_TEXINFOS) $(pies_TEXINFOS) +include ../imprimatur/imprimatur.mk +CHECK_DOCS=$(top_srcdir)/@IMPRIMATUR_MODULE_DIR@/check-docs.sh -check-format: check-tabs check-sentence-spacing +check-format: imprimatur-format imprimatur-check-sentence-spacing check-options: - @check-docs.sh options \ + @$(CHECK_DOCS) options \ '/argp_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ @@ -58,3 +47,3 @@ check-options: check-config: - @check-docs.sh 'configuration statements' \ + @$(CHECK_DOCS) 'configuration statements' \ '/pies_keywords\[\] *= *{/,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ @@ -68,3 +57,3 @@ check-sub-config: while read ident kw; do \ - check-docs.sh "$$ident configuration statements" \ + $(CHECK_DOCS) "$$ident configuration statements" \ "/$$kw"'\[\] *= *{/,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ @@ -76,56 +65,4 @@ check-sub-config: -check-refs: - @for file in $(info_TEXINFOS) $(pies_TEXINFOS); \ - do \ - sed -e = $$file | \ - sed -n 'N;/@FIXME-.*ref/{s/\(^[0-9][0-9]*\).*@FIXME-.*ref{\([^}]*\)}.*/'$$file':\1: \2/gp}'; \ - done > $@-t; \ - if [ -s $@-t ]; then \ - echo "Unresolved cross-references:"; \ - cat $@-t;\ - rm $@-t; \ - else \ - rm -f $@-t; \ - fi - -check-fixmes: - @for file in $(info_TEXINFOS) $(pies_TEXINFOS); \ - do \ - sed -e = $$file | \ - sed -n 'N;/@FIXME{/{s/\(^[0-9][0-9]*\).*@FIXME{\([^}]*\).*/'$$file':\1: \2/gp}'; \ - done > $@-t; \ - if [ -s $@-t ]; then \ - echo "Unresolved FIXMEs:"; \ - cat $@-t; \ - rm $@-t; \ - false; \ - else \ - rm -f $@-t; \ - fi - -check-writeme: - @grep -Hn @WRITEME $(info_TEXINFOS) $(pies_TEXINFOS) > $@-t; \ - if [ -s $@-t ]; then \ - echo "Empty nodes:"; \ - cat $@-t; \ - rm $@-t; \ - false;\ - else \ - rm $@-t; \ - fi - -check-unrevised: - @grep -Hn @UNREVISED $(info_TEXINFOS) $(pies_TEXINFOS) > $@-t; \ - if [ -s $@-t ]; then \ - echo "Unrevised nodes:"; \ - cat $@-t; \ - rm $@-t; \ - false;\ - else \ - rm $@-t; \ - fi - -all-check-docs: check-format check-options \ - check-config check-sub-config \ - check-refs check-fixmes check-writeme check-unrevised +all-check-docs: imprimatur-basic-checks \ + check-options check-config check-sub-config @@ -135,24 +72,5 @@ check-docs: # - -master-menu: - $(AM_V_GEN)emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS) - -untabify: - @emacs -batch -l untabify.el $(info_TEXINFOS) $(pies_TEXINFOS) - -fix-sentence-spacing: - for file in $(info_TEXINFOS) $(wydawca_TEXINFOS); \ - do \ - if grep -q '\. [@A-Z]' $$file; then \ - mv $$file $${file}~; \ - sed -r -f fix-sentence-spacing.sed $${file}~ > $$file; \ - fi; \ - done - -final: untabify fix-sentence-spacing master-menu - -# The rendering level is one of PUBLISH, DISTRIB or PROOF. -# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. - -MAKEINFOFLAGS=-D$(RENDITION) +master-menu: imprimatur-master-menu +untabify: imprimatur-untabify +final: imprimatur-final @@ -168,4 +86,5 @@ manual: TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \ - MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \ + MAKEINFO="$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS)" \ TEXI2DVI="$(TEXI2DVI) -t @finalout" \ + TEXI2HTML="texi2html $(AM_MAKEINFOFLAGS)" \ $(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual' diff --git a/doc/check-docs.sh b/doc/check-docs.sh deleted file mode 100755 index 709b1d6..0000000 --- a/doc/check-docs.sh +++ /dev/null @@ -1,74 +0,0 @@ -#! /bin/sh -# This file is part of mailfrom filter. -# Copyright (C) 2006, 2007, 2010 Sergey Poznyakoff -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -usage() { - cat <<EOT -usage: $0 item code-sed doc-sed sources -- args... -EOT -} - -if [ $# -le 4 ]; then - usage - exit 2 -fi - -item=$1 -shift -codesexp="$1" -shift -docsexp=$1 -shift - -source= -while [ $# -ne 0 ] -do - if [ "$1" = "--" ]; then - shift - break; - fi - source="$source $1" - shift -done - -TEMPDIR=/tmp/mfck.$$ -mkdir $TEMPDIR || exit 1 -trap 'rm -rf $TEMPDIR' 1 2 13 15 - -sed -n "$codesexp" $source | sort | uniq > $TEMPDIR/src -$* | \ - sed -n '/^@macro/,/^@end macro/d;'"$docsexp" \ - | sort | uniq > $TEMPDIR/doc - -join -v1 $TEMPDIR/src $TEMPDIR/doc > $TEMPDIR/src-doc -join -v2 $TEMPDIR/src $TEMPDIR/doc > $TEMPDIR/doc-src -(if [ -s $TEMPDIR/src-doc ]; then - echo "Not documented $item:" - cat $TEMPDIR/src-doc - fi - if [ -s $TEMPDIR/doc-src ]; then - echo "Non-existing $item:" - cat $TEMPDIR/doc-src - fi) > $TEMPDIR/report - -if [ -s $TEMPDIR/report ]; then - cat $TEMPDIR/report - rm -rf $TEMPDIR - exit 1 -else - rm -rf $TEMPDIR - exit 0 -fi diff --git a/doc/fix-sentence-spacing.sed b/doc/fix-sentence-spacing.sed deleted file mode 100644 index 906a670..0000000 --- a/doc/fix-sentence-spacing.sed +++ /dev/null @@ -1,4 +0,0 @@ -s/\. ([@A-Z])/. \1/g -s/e\.g\. /e.g. /g -s/i\.e\. /i.e. /g -s/\.\.\. @\}/... @}/g diff --git a/doc/mastermenu.el b/doc/mastermenu.el deleted file mode 100644 index 3ab3341..0000000 --- a/doc/mastermenu.el +++ /dev/null @@ -1,90 +0,0 @@ -;;; mastermenu.el --- Redefinition of texinfo-master-menu-list - -;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. - -;; Author: Sergey Poznyakoff -;; Maintainer: bug-tar@gnu.org -;; Keywords: maint, tex, docs - -;; This file is part of GNU tar documentation suite - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; This file redefines texinfo-master-menu-list so that it takes into -;; account included files. - -;; Known bugs: @menu without previous sectioning command will inherit -;; documentation string from the previous menu. However, since such a -;; menu is illegal in a texinfo file, we can live with it. - -(require 'texinfo) -(require 'texnfo-upd) - -(defun texinfo-master-menu-list-recursive (title) - "Auxiliary function used by `texinfo-master-menu-list'." - (save-excursion - (let (master-menu-list) - (while (re-search-forward "\\(^@menu\\|^@include\\)" nil t) - (cond - ((string= (match-string 0) "@include") - (skip-chars-forward " \t") - (let ((included-name (let ((start (point))) - (end-of-line) - (skip-chars-backward " \t") - (buffer-substring start (point))))) - (end-of-line) - (let ((prev-title (texinfo-copy-menu-title))) - (save-excursion - (set-buffer (find-file-noselect included-name)) - (setq master-menu-list - (append (texinfo-master-menu-list-recursive prev-title) - master-menu-list)))))) - (t - (setq master-menu-list - (cons (list - (texinfo-copy-menu) - (let ((menu-title (texinfo-copy-menu-title))) - (if (string= menu-title "") - title - menu-title))) - master-menu-list))))) - master-menu-list))) - -(defun texinfo-master-menu-list () - "Return a list of menu entries and header lines for the master menu, -recursing into included files. - -Start with the menu for chapters and indices and then find each -following menu and the title of the node preceding that menu. - -The master menu list has this form: - - \(\(\(... \"entry-1-2\" \"entry-1\"\) \"title-1\"\) - \(\(... \"entry-2-2\" \"entry-2-1\"\) \"title-2\"\) - ...\) - -However, there does not need to be a title field." - - (reverse (texinfo-master-menu-list-recursive ""))) - -(defun make-master-menu () - "Create master menu in the first Emacs argument." - (find-file (car command-line-args-left)) - (texinfo-master-menu nil) - (save-buffer)) - - -;;; mastermenu.el ends here diff --git a/doc/pies.texi b/doc/pies.texi index 4a7bfa7..a77e4cf 100644 --- a/doc/pies.texi +++ b/doc/pies.texi @@ -473,3 +473,3 @@ EOT double-quoted string, unless @var{word} is preceded by a backslash -(e.g. @samp{<<\EOT}) or enclosed in double-quotes, in which case +(e.g.@: @samp{<<\EOT}) or enclosed in double-quotes, in which case the text is read as is, without interpretation of escape sequences. @@ -515,3 +515,3 @@ dependents (pmult, auth); without being a member of a list: it is equivalent to a list with a -single member. This means that, e.g. @samp{dependents auth;} is +single member. This means that, e.g.@: @samp{dependents auth;} is equivalent to @samp{dependents (auth);}. @@ -654,3 +654,3 @@ comma-separated list of flags. Valid flags are: @item disable -This component is disabled, i.e. @command{pies} will parse and +This component is disabled, i.e.@: @command{pies} will parse and remember its settings, but will not start it. @@ -687,3 +687,3 @@ names, instead of IP addresses. -@deffn {Config: component} acl @{ ... @} +@deffn {Config: component} acl @{ @dots{} @} Set access control list for this component. @xref{ACL}, for a @@ -1106,3 +1106,3 @@ Sets the socket type. Allowed values for @var{type} are: some socket types may not be implemented by all protocol -families, e.g. @samp{seqpacket} is not implemented for +families, e.g.@: @samp{seqpacket} is not implemented for @samp{inet}. @@ -1768,3 +1768,3 @@ the client @acronym{IP} address and @var{netmask} equals to @var{addr}. The network mask must be specified in ``dotted quad'' -form, e.g. @samp{255.255.255.224}. +form, e.g.@: @samp{255.255.255.224}. @@ -1990,3 +1990,3 @@ behavior as a whole. @anchor{syslog} -@deffn {Config} syslog @{ ... @} +@deffn {Config} syslog @{ @dots{} @} This block statement configures logging via syslog. It has two @@ -2017,3 +2017,3 @@ limits}, for a detailed description of @var{arg}. -@deffn {Config} return-code @{ ... @} +@deffn {Config} return-code @{ @dots{} @} Configure global exit actions. @xref{Exit Actions}, for a detailed diff --git a/doc/rendition.texi b/doc/rendition.texi deleted file mode 100644 index 45ac068..0000000 --- a/doc/rendition.texi +++ /dev/null @@ -1,94 +0,0 @@ -@c Let's use the concept of 'renditions' by Fra@,{c}ois Pinard -@c I extended it by adding a FIXME_FOOTNOTE variable, which controls -@c whether FIXME information should be placed in footnotes or -@c inlined. - -@c ====================================================================== -@c This document has three levels of rendition: PUBLISH, DISTRIB or PROOF, -@c as decided by @set symbols. The PUBLISH rendition does not show -@c notes or marks asking for revision. Most users will prefer having more -@c information, even if this information is not fully revised for adequacy, -@c so DISTRIB is the default for distributions. The PROOF rendition -@c show all marks to the point of ugliness, but is nevertheless useful to -@c those working on the manual itself. -@c ====================================================================== - -@c Set this symbol if you wish FIXMEs to appear in footnotes, instead -@c of being inserted into the text. -@c @set PROOF_FOOTNOTED - -@ifclear PUBLISH -@ifclear DISTRIB -@ifclear PROOF -@set DISTRIB -@end ifclear -@end ifclear -@end ifclear - -@ifset PUBLISH -@set RENDITION The book, version -@end ifset - -@ifset DISTRIB -@set RENDITION FTP release, version -@end ifset - -@ifset PROOF -@set RENDITION Proof reading version -@end ifset - -@c Output marks for nodes needing revision, but not in PUBLISH rendition. - -@macro WRITEME -@ifclear PUBLISH -@quotation -@emph{This node is to be written.} -@end quotation -@end ifclear -@end macro - -@macro UNREVISED -@ifclear PUBLISH -@quotation -(@emph{The information in this node may be obsolete or otherwise inaccurate.} -This message will disappear, once this node revised.) -@end quotation -@end ifclear -@end macro - -@c Output various FIXME information only in PROOF rendition. - -@macro FIXME{string} -@ifset PROOF -@ifset PROOF_FOOTNOTED -@footnote{@strong{FIXME:} \string\} -@end ifset -@ifclear PROOF_FOOTNOTED -@cartouche -@strong{<FIXME>} \string\ @strong{</>} -@end cartouche -@end ifclear -@end ifset - -@end macro - -@macro FIXME-ref{string} -@ifset PROOF -@strong{<REF>} \string\ @strong{</>} -@end ifset - -@end macro - -@macro FIXME-pxref{string} -@ifset PROOF -@strong{<PXREF>} \string\ @strong{</>} -@end ifset - -@end macro - -@macro FIXME-xref{string} -@ifset PROOF -@strong{<XREF>} \string\ @strong{</>} -@end ifset - -@end macro diff --git a/doc/untabify.el b/doc/untabify.el deleted file mode 100644 index 77dd5c0..0000000 --- a/doc/untabify.el +++ /dev/null @@ -1,13 +0,0 @@ -;;;; Untabify the sources. -;;;; Usage: emacs -batch -l untabify.el [file ...] - -(defun global-untabify (buflist) - (mapcar - (lambda (bufname) - (set-buffer (find-file bufname)) - (untabify (point-min) (point-max)) - (save-buffer) - (kill-buffer (current-buffer))) - buflist)) - -(global-untabify command-line-args-left) |