mirror of
git://git.gnu.org.ua/pam-modules.git
synced 2025-04-25 16:09:54 +03:00
Use imprimatur to maintain docs.
This commit is contained in:
parent
803b69beb3
commit
00c1786bc2
12 changed files with 45 additions and 342 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -24,4 +24,5 @@ config.status
|
|||
configure
|
||||
core
|
||||
libtool
|
||||
m4
|
||||
stamp-h1
|
||||
|
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "imprimatur"]
|
||||
path = imprimatur
|
||||
url = git://git.gnu.org.ua/imprimatur.git
|
|
@ -14,6 +14,8 @@
|
|||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
AUTOMAKE_OPTIONS = gnits 1.8
|
||||
ACLOCAL_AMFLAGS = -I m4 -I imprimatur
|
||||
|
||||
if PAM_COND_FSHADOW
|
||||
FSHADOW_DIR=pam_fshadow
|
||||
endif
|
||||
|
@ -27,6 +29,7 @@ if PAM_COND_LDAPHOME
|
|||
LDAPHOME_DIR=pam_ldaphome
|
||||
endif
|
||||
SUBDIRS = \
|
||||
imprimatur\
|
||||
doc\
|
||||
lib\
|
||||
$(FSHADOW_DIR)\
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#! /bin/sh
|
||||
|
||||
test -d m4 || mkdir m4
|
||||
autoreconf -f -i -s
|
||||
|
|
|
@ -19,6 +19,7 @@ AC_PREREQ(2.63)
|
|||
AC_INIT(pam-modules, 1.7, bug-pam-modules@gnu.org.ua)
|
||||
AC_CONFIG_SRCDIR(pam_fshadow/pam_fshadow.c)
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AM_INIT_AUTOMAKE([1.11 no-exeext tar-ustar dist-xz silent-rules])
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
|
@ -188,6 +189,11 @@ AC_ARG_WITH(pamdir,
|
|||
[PAMDIR=$withval])
|
||||
AC_SUBST(PAMDIR)
|
||||
|
||||
## **************
|
||||
## Imprimatur
|
||||
## **************
|
||||
IMPRIMATUR_INIT
|
||||
|
||||
## **************
|
||||
## Summary
|
||||
## **************
|
||||
|
|
|
@ -15,10 +15,9 @@
|
|||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS=pam-modules.texi
|
||||
pam_modules_TEXINFOS=fdl.texi macros.texi rendition.texi
|
||||
pam_modules_TEXINFOS=fdl.texi macros.texi
|
||||
|
||||
EXTRA_DIST = \
|
||||
check-docs.sh\
|
||||
gendocs_template\
|
||||
mastermenu.el\
|
||||
untabify.el
|
||||
|
@ -26,55 +25,14 @@ EXTRA_DIST = \
|
|||
clean-local:
|
||||
rm -rf manual
|
||||
|
||||
AM_MAKEINFOFLAGS=@IMPRIMATUR_MAKEINFOFLAGS@
|
||||
imprimatur_INPUT=$(info_TEXINFOS) $(pam_modules_TEXINFOS)
|
||||
CHECK_DOCS=$(top_srcdir)/@IMPRIMATUR_MODULE_DIR@/check-docs.sh
|
||||
include ../imprimatur/imprimatur.mk
|
||||
|
||||
# Checking
|
||||
check-format:
|
||||
@if test -n "`cat $(info_TEXINFOS) $(pam_modules_TEXINFOS) | tr -d -c '\t'`"; then \
|
||||
echo "Sources contain tabs; run make untabify"; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
check-refs:
|
||||
@for file in $(info_TEXINFOS) $(mailfromd_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); \
|
||||
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-unrevised:
|
||||
@grep -Hn @UNREVISED $(info_TEXINFOS) > $@-t; \
|
||||
if [ -s $@-t ]; then \
|
||||
echo "Unrevised nodes:"; \
|
||||
cat $@-t; \
|
||||
rm $@-t; \
|
||||
false;\
|
||||
else \
|
||||
rm $@-t; \
|
||||
fi
|
||||
|
||||
check-log-options:
|
||||
@check-docs.sh "pam_log options" \
|
||||
@$(CHECK_DOCS) "pam_log options" \
|
||||
'/struct pam_opt .*\[\] = /,/^}/s/[ \t]*{ *PAM_OPTSTR(\([^,)]*\)).*/\1/p' \
|
||||
'/@set MODULE pam_log/,/@set MODULE/{s/@value{MODULE}/pam_log/g;there;:here;s/@opindex *\([^@,]*\),.*@command{pam_log}.*/\1/;t lab;b;: lab;{s/^-//;s/^no//;p;}}' \
|
||||
$(top_srcdir)/pam_log/*.c -- \
|
||||
|
@ -85,7 +43,7 @@ check-log-options:
|
|||
check-all-options:
|
||||
@for mod in fshadow regex sql; \
|
||||
do \
|
||||
check-docs.sh "pam_$$mod options" \
|
||||
$(CHECK_DOCS) "pam_$$mod options" \
|
||||
'/struct pam_opt .*\[\] = /,/^}/s/[ \t]*{ *PAM_OPTSTR(\([^,)]*\)).*/\1/;t lab;b;: lab {/audit/d;/debug/d;/waitdebug/d;p}' \
|
||||
'/@set MODULE pam_'$$mod'/,/@set MODULE/{s/@value{MODULE}/pam_'$$mod'/g;there;:here;s/@opindex *\([^@,]*\),.*@command{pam_'$$mod'}.*/\1/;t lab;b;: lab;{s/^-//;s/^no//;p;}}' \
|
||||
$(top_srcdir)/pam_$$mod/*.c -- \
|
||||
|
@ -94,7 +52,7 @@ check-all-options:
|
|||
done
|
||||
|
||||
check-sql-config:
|
||||
@check-docs.sh 'SQL configuration keywords' \
|
||||
@$(CHECK_DOCS) 'SQL configuration keywords' \
|
||||
's/.*check_boolean_config *("\([^"]*\)".*/\1/p;s/.*find_config *("\([^"]*\)".*/\1/p' \
|
||||
's/@kwindex *\([^@,]*\).*/\1/p' \
|
||||
$(top_srcdir)/pam_sql/*.c -- \
|
||||
|
@ -103,19 +61,15 @@ check-sql-config:
|
|||
|
||||
check-options: check-all-options check-log-options
|
||||
|
||||
all-check-docs: check-format check-refs check-fixmes check-unrevised check-options check-sql-config
|
||||
all-check-docs: imprimatur-basic-checks check-options check-sql-config
|
||||
|
||||
check-docs:
|
||||
$(MAKE) -k all-check-docs
|
||||
#
|
||||
|
||||
master-menu:
|
||||
emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS)
|
||||
|
||||
untabify:
|
||||
emacs -batch -l untabify.el $(info_TEXINFOS) $(pam_modules_TEXINFOS)
|
||||
|
||||
final: untabify master-menu
|
||||
master-menu: imprimatur-master-menu
|
||||
untabify: imprimatur-untabify
|
||||
final: imprimatur-final
|
||||
|
||||
#
|
||||
|
||||
|
@ -123,8 +77,6 @@ final: untabify master-menu
|
|||
# Just call `make RENDITION=PROOF [target]' if you want PROOF rendition.
|
||||
RENDITION = DISTRIB
|
||||
|
||||
MAKEINFOFLAGS=-D$(RENDITION)
|
||||
|
||||
GENDOCS=gendocs.sh
|
||||
|
||||
TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
|
||||
|
@ -134,11 +86,10 @@ TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E
|
|||
.PHONY: manual
|
||||
manual:
|
||||
TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS) $(AM_MAKEINFOFLAGS)" \
|
||||
TEXI2DVI="$(TEXI2DVI) -t @finalout" \
|
||||
$(GENDOCS) --texi2html $(PACKAGE) '$(PACKAGE_NAME) manual'
|
||||
|
||||
|
||||
manual.tar.bz2: manual
|
||||
tar cfj manual.tar.bz2 manual
|
||||
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
#! /bin/sh
|
||||
# This file is part of mailfrom filter.
|
||||
# Copyright (C) 2006-2007, 2010-2011 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
|
|
@ -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
|
|
@ -173,7 +173,7 @@ WAITING FOR DEBUG
|
|||
and waits for @var{interval} seconds (default 3600) before actually
|
||||
starting to do anything. The developer is supposed to attach to the
|
||||
process with a debugger, set the @code{interval} variable to 0 and to
|
||||
continue execution of the module in the debugging mode.
|
||||
continue execution of the module in the debugging mode.
|
||||
@end table
|
||||
|
||||
@cindex PAM item expansion
|
||||
|
@ -194,37 +194,37 @@ or numeric).
|
|||
|
||||
@table @samp
|
||||
@item service
|
||||
@code{PAM_SERVICE}. The service name (which identifies
|
||||
@code{PAM_SERVICE}. The service name (which identifies
|
||||
the @acronym{PAM} stack that will be used).
|
||||
|
||||
@item user
|
||||
@code{PAM_USER}. The username of the entity under whose identity
|
||||
@code{PAM_USER}. The username of the entity under whose identity
|
||||
service will be given.
|
||||
|
||||
@item tty
|
||||
@code{PAM_TTY}. The terminal name: prefixed by
|
||||
@code{PAM_TTY}. The terminal name: prefixed by
|
||||
@samp{/dev/} if it is a device file; for graphical, X-based,
|
||||
applications the value for this item is usually the @env{$DISPLAY}
|
||||
environment variable.
|
||||
|
||||
@item rhost
|
||||
@code{PAM_RHOST}. The requesting hostname (the hostname of the machine
|
||||
from which the @code{PAM_RUSER} entity is requesting service). That is
|
||||
@code{PAM_RHOST}. The requesting hostname (the hostname of the machine
|
||||
from which the @code{PAM_RUSER} entity is requesting service). That is
|
||||
@samp{@code{PAM_RUSER}@@@code{PAM_RHOST}} identifies the requesting
|
||||
user. In some applications, @code{PAM_RHOST} may be @samp{NULL}.
|
||||
user. In some applications, @code{PAM_RHOST} may be @samp{NULL}.
|
||||
|
||||
@item ruser
|
||||
@code{PAM_RUSER}. The requesting entity: user's sername for a locally
|
||||
requesting user or a remote requesting user. In some cases,
|
||||
@code{PAM_RUSER}. The requesting entity: user's sername for a locally
|
||||
requesting user or a remote requesting user. In some cases,
|
||||
@code{PAM_RUSER} may be @samp{NULL}.
|
||||
|
||||
@item prompt
|
||||
@code{PAM_USER_PROMPT}. The string used when prompting for a user's
|
||||
name. The default value for this string is @samp{Please enter
|
||||
@code{PAM_USER_PROMPT}. The string used when prompting for a user's
|
||||
name. The default value for this string is @samp{Please enter
|
||||
username: }.
|
||||
|
||||
@item password
|
||||
@code{PAM_AUTHTOK}. The authentication token (often a password).
|
||||
@code{PAM_AUTHTOK}. The authentication token (often a password).
|
||||
@end table
|
||||
|
||||
Item expansion is used by @command{pam_log}, @command{pam_mysql}
|
||||
|
@ -314,7 +314,7 @@ Print program version and copyright information and exit.
|
|||
@prindex pam_fshadow
|
||||
The @command{pam_fshadow} module provides authentication against an
|
||||
alternative @file{shadow} file, or @file{passwd} / @file{shadow} pair
|
||||
(or pairs). There are two main operation modes: @dfn{plain} mode, in which
|
||||
(or pairs). There are two main operation modes: @dfn{plain} mode, in which
|
||||
@command{pam_fshadow} uses only one @file{passwd}/@file{shadow} pair,
|
||||
and @dfn{virtual domain} mode, which allows to select the pair to use
|
||||
based on the authentication token (the user name). First, let's
|
||||
|
@ -490,12 +490,12 @@ This section summarizes all @command{pam_fshadow} command line options:
|
|||
|
||||
@opsummary{nopasswd}
|
||||
@item nopasswd
|
||||
Use only @file{shadow} for authentication. @xref{pam_fshadow common
|
||||
Use only @file{shadow} for authentication. @xref{pam_fshadow common
|
||||
options, nopasswd}.
|
||||
|
||||
@opsummary{noshadow}
|
||||
@item nopasswd
|
||||
Use only @file{passwd} for authentication. @xref{pam_fshadow common
|
||||
Use only @file{passwd} for authentication. @xref{pam_fshadow common
|
||||
options, noshadow}.
|
||||
|
||||
@opsummary{regex}
|
||||
|
@ -641,7 +641,7 @@ the interaction is defined to be: ignore matches before the
|
|||
@end table
|
||||
|
||||
Any delimiter can be used in lieue of @samp{/}, the only requirement being
|
||||
that it be used consistently throughout the expression. For example,
|
||||
that it be used consistently throughout the expression. For example,
|
||||
the following two expressions are equivalent:
|
||||
|
||||
@smallexample
|
||||
|
|
|
@ -1,85 +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 UNREVISED
|
||||
@ifclear PUBLISH
|
||||
@quotation
|
||||
@emph{(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
|
|
@ -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)
|
1
imprimatur
Submodule
1
imprimatur
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit f32ef1983968e755cd580b06e369476d7e7f88b6
|
Loading…
Add table
Add a link
Reference in a new issue