]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Version 2.54a.
authorAkim Demaille <akim@epita.fr>
Fri, 25 Oct 2002 12:17:22 +0000 (12:17 +0000)
committerAkim Demaille <akim@epita.fr>
Fri, 25 Oct 2002 12:17:22 +0000 (12:17 +0000)
* Makefile.maint: Update from the Coreutils.
(AMTAR): Remove, obsolete.
(-automake_repo): Update to redhat.com.
(cvs_file): New.
Adjust to the fact that ansi2knr is now hosted by Automake.
* Maekfile.am (cvs_files): Add install-sh and mkinstalldirs.
* config/config.guess, config/mkinstalldirs, config/texinfo.tex:
Update from masters.

ChangeLog
Makefile.am
Makefile.in
Makefile.maint
config/config.guess
config/mkinstalldirs
config/texinfo.tex
man/config.guess.1

index 229035295ad6aa12e657a85d871d293a7e06a424..7f0a66a01e71ad4d6c6a76653713e19ca44d74bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2002-10-25  Akim Demaille  <akim@epita.fr>
+
+       Version 2.54a.
+
+       * Makefile.maint: Update from the Coreutils.
+       (AMTAR): Remove, obsolete.
+       (-automake_repo): Update to redhat.com.
+       (cvs_file): New.
+       Adjust to the fact that ansi2knr is now hosted by Automake.
+       * Maekfile.am (cvs_files): Add install-sh and mkinstalldirs.
+       * config/config.guess, config/mkinstalldirs, config/texinfo.tex:
+       Update from masters.
+
 2002-10-25  Akim Demaille  <akim@epita.fr>
 
        * bin/autom4te.in (&load_configuration): Take the file as
index 97bfd95ca25bf9c0b07396f23b2a9f0397d0a49d..709ecb9cbfa73ac873763fefee8d88adab06c4f2 100644 (file)
@@ -74,4 +74,6 @@ url_dir_list = \
 wget_files = $(srcdir)/config/config.guess $(srcdir)/config/config.sub \
             $(srcdir)/config/texinfo.tex \
             $(srcdir)/doc/standards.texi $(srcdir)/doc/make-stds.texi
-cvs_files = $(srcdir)/config/missing
+cvs_files = $(srcdir)/config/missing \
+            $(srcdir)/config/install-sh \
+            $(srcdir)/config/mkinstalldirs
index 72f39198395c3b02bf76b4d7fb39f9e20ad31c3a..2d89f2921b43eaa36542d69212039c2aee10fdfb 100644 (file)
@@ -53,6 +53,7 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
@@ -122,7 +123,10 @@ wget_files = $(srcdir)/config/config.guess $(srcdir)/config/config.sub \
             $(srcdir)/config/texinfo.tex \
             $(srcdir)/doc/standards.texi $(srcdir)/doc/make-stds.texi
 
-cvs_files = $(srcdir)/config/missing
+cvs_files = $(srcdir)/config/missing \
+            $(srcdir)/config/install-sh \
+            $(srcdir)/config/mkinstalldirs
+
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
@@ -139,7 +143,7 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
 DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
        Makefile.in NEWS README-alpha THANKS TODO aclocal.m4 configure \
        configure.ac
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = bin tests . lib config man doc
 all: all-recursive
 
 .SUFFIXES:
@@ -154,7 +158,7 @@ Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
 
 $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
-$(srcdir)/configure:  $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+$(srcdir)/configure:  $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) 
        cd $(srcdir) && $(AUTOCONF)
 
 $(ACLOCAL_M4):  configure.ac config/m4.m4
@@ -321,9 +325,11 @@ distdir: $(DISTFILES)
        mkdir $(distdir)
        $(mkinstalldirs) $(distdir)/tests
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
          case $$file in \
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
          esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
@@ -344,7 +350,7 @@ distdir: $(DISTFILES)
            || exit 1; \
          fi; \
        done
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -387,7 +393,6 @@ distcheck: dist
        chmod a-w $(distdir)
        dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
          && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && $(mkinstalldirs) $$dc_destdir \
          && cd $(distdir)/=build \
          && ../configure --srcdir=.. --prefix="$$dc_install_base" \
            $(DISTCHECK_CONFIGURE_FLAGS) \
@@ -400,7 +405,9 @@ distcheck: dist
          && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
                distuninstallcheck \
          && chmod -R a-w "$$dc_install_base" \
-         && ({   $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+         && ({ \
+              (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
               && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
               && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
                    distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
index 4250dfb72876429faa0d286a486d996a9b1d919b..ef8b99760b3983644127fdc49e43b8dcc71e54bb 100644 (file)
@@ -1,5 +1,6 @@
 # -*-Makefile-*-
-# This Makefile fragment is shared between Autoconf and Bison.
+# This Makefile fragment is shared between fileutils, sh-utils, textutils,
+# CPPI, Bison, and Autoconf.
 
 ## Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 ##
@@ -42,98 +43,42 @@ release_archive_dir ?= ../release
 
 
 
-## ---------------- ##
-## Updating files.  ##
-## ---------------- ##
-
-WGET = wget
-ftp-gnu = ftp://ftp.gnu.org/gnu
-
-# Use mv, if you don't have/want move-if-change.
-move_if_change ?= move-if-change
-
-# ------------------- #
-# Updating PO files.  #
-# ------------------- #
-
-po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE)
-.PHONY: do-po-update po-update
-do-po-update:
-       tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
-       rm -rf $$tmppo && \
-       mkdir $$tmppo && \
-       (cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
-       cp $$tmppo/*.po po
-       cd po && $(MAKE) update-po
-       $(MAKE) po-check
-
-po-update:
-       if test -d "po"; then \
-         $(MAKE) do-po-update; \
-       fi
-
-# -------------------------- #
-# Updating GNU build tools.  #
-# -------------------------- #
-
-# The following pseudo table associates a local directory and a URL
-# with each of the files that belongs to some other package and is
-# regularly updated from the specified URL.
-wget_files ?= $(srcdir)/config.guess $(srcdir)/config.sub \
-             $(srcdir)/doc/texinfo.tex
-wget-targets = $(patsubst %, get-%, $(wget_files))
-
-config.guess-url_prefix = $(ftp-gnu)/config/
-config.sub-url_prefix = $(ftp-gnu)/config/
-
-texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
-
-standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
-make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
-
-target = $(patsubst get-%, %, $@)
-url = $($(notdir $(target))-url_prefix)$(notdir $(target))
-
-.PHONY: $(wget-targets)
-$(wget-targets):
-       $(WGET) $(url) -O $(target).t \
-         && $(move_if_change) $(target).t $(target)
-
-.PHONY: wget-update
-wget-update: $(wget-targets)
-
-
-# Updating tools via CVS.
-cvs_files ?= depcomp missing
-cvs-targets = $(patsubst %, get-%, $(cvs_files))
-
-automake_repo = :pserver:anoncvs@anoncvs.cygnus.com:/cvs/automake
-.PHONY: $(cvs-targets)
-$(cvs-targets):
-       $(CVS) -d $(automake_repo) co -p automake/lib/$(notdir $(target)) \
-         >$(target).t \
-           && $(move_if_change) $(target).t $(target);
-
-.PHONY: cvs-update
-cvs-update: $(cvs-targets)
-
-
-# --------------------- #
-# Updating everything.  #
-# --------------------- #
-
-.PHONY: update
-update: wget-update cvs-update po-update
-
-
-
 ## --------------- ##
 ## Sanity checks.  ##
 ## --------------- ##
 
-# Checks that don't require cvs.  Run `changelog-check' last as
-# previous test may reveal problems requiring new ChangeLog entries.
-local-check: po-check copyright-check writable-files changelog-check
+# Checks that don't require cvs.
+# Run `changelog-check' last, as previous test may reveal problems requiring
+# new ChangeLog entries.
+local-check = \
+  po-check copyright-check writable-files m4-check author_mark_check \
+  changelog-check strftime-check header-check
+.PHONY: $(local-check)
+
+# Make sure C source files in src/ don't include xalloc.h directly,
+# since they all already include it via sys2.h.
+# It's not a big deal -- just aesthetics.
+header-check:
+       if test -f $(srcdir)/src/sys2.h; then                           \
+         if grep 'xalloc\.h' $(srcdir)/src/*.c; then                   \
+           exit 1;                                                     \
+         fi;                                                           \
+       fi
+
+# Ensure that date's --help output stays in sync with the info
+# documentation for GNU strftime.  The only exception is %N,
+# which date accepts but GNU strftime does not.
+extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/'
+strftime-check:
+       if test -f $(srcdir)/src/date.c; then                           \
+         grep '^  %.  ' $(srcdir)/src/date.c | sort                    \
+           | $(extract_char) > $@-src;                                 \
+         { echo N;                                                     \
+           info libc date calendar format | grep '^    `%.'\'          \
+             | $(extract_char); } | sort > $@-info;                    \
+         diff -u $@-src $@-info || exit 1;                             \
+         rm -f $@-src $@-info;                                         \
+       fi
 
 changelog-check:
        if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
@@ -143,15 +88,28 @@ changelog-check:
          exit 1; \
        fi
 
+m4-check:
+       @grep 'AC_DEFUN([^[]' m4/*.m4 \
+         && { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
+              exit 1; } || :
+
 # Verify that all source files using _() are listed in po/POTFILES.in.
 po-check:
        if test -f po/POTFILES.in; then \
          grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
-         grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2; \
+         grep -E -l '\b_\(' lib/*.[ch] src/*.[ch] | sort > $@-2; \
          diff -u $@-1 $@-2 || exit 1; \
          rm -f $@-1 $@-2; \
        fi
 
+# In a definition of #define AUTHORS "... and ..." where the RHS contains
+# the English word `and', the string must be marked with `N_ (...)' so that
+# gettext recognizes it as a string requiring translation.
+author_mark_check:
+       @grep '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
+         { echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
+           exit 1; } || :
+
 # Check that `make alpha' will not fail at the end of the process.
 writable-files:
        if test -d $(release_archive_dir); then :; else                 \
@@ -166,12 +124,14 @@ writable-files:
        done;                                                           \
        test "$$fail" && exit 1 || :
 
-# Make sure that the copyright date in lib/version-etc.c is up to date.
+v_etc_file = lib/version-etc.c
+# Make sure that the copyright date in $(v_etc_file) is up to date.
 copyright-check:
-       @if test -f lib/version-etc.c; then \
-         grep 'N_("Copyright (C) $(shell date +%Y) Free' lib/version-etc.c \
+       @if test -f $(v_etc_file); then \
+         grep '"Copyright (C) $(shell date +%Y) Free' $(v_etc_file) \
            >/dev/null \
-         || { echo 'out of date copyright in $<; update it' 1>&2; exit 1; }; \
+         || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
+              exit 1; }; \
        fi
 
 
@@ -199,16 +159,10 @@ maintainer-distcheck: changelog-check
        $(MAKE) my-distcheck
 
 
-
-## -------------- ##
-## Making dists.  ##
-## -------------- ##
-
-
 # Tag before making distribution.  Also, don't make a distribution if
 # checks fail.  Also, make sure the NEWS file is up-to-date.
 # FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
-cvs-dist: local-check cvs-check maintainer-distcheck
+cvs-dist: $(local-check) cvs-check maintainer-distcheck
        $(CVS) update po
        $(CVS) tag -c $(this-cvs-tag)
        $(MAKE) dist
@@ -218,7 +172,6 @@ cvs-dist: local-check cvs-check maintainer-distcheck
 null_AM_MAKEFLAGS = \
   ACLOCAL=false \
   AUTOCONF=false \
-  AUTOM4TE=false \
   AUTOMAKE=false \
   AUTOHEADER=false \
   MAKEINFO=false
@@ -228,7 +181,7 @@ null_AM_MAKEFLAGS = \
 # and building with CFLAGS='-Wformat -Werror' causes any format warning to be
 # treated as a failure.
 t=./=test
-my-distcheck: writable-files po-check
+my-distcheck: $(local-check)
        -rm -rf $(t)
        mkdir $(t)
        GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
@@ -262,7 +215,7 @@ rel-check:
        md5_tmp=/tmp/rel-check-md5-$$$$; \
        set -e; \
        trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \
-       $(WGET) -q --output-document=$$tarz $(url); \
+       wget -q --output-document=$$tarz $(url); \
        echo "$(md5)  -" > $$md5_tmp; \
        md5sum -c $$md5_tmp < $$tarz
 
@@ -311,6 +264,52 @@ announcement: NEWS ChangeLog $(rel-files)
              -e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
        )
 
+WGET = wget
+ftp-gnu = ftp://ftp.gnu.org/gnu
+
+# Use mv, if you don't have/want move-if-change.
+move_if_change ?= move-if-change
+
+# The following pseudo table associates a local directory and a URL
+# with each of the files that belongs to some other package and is
+# regularly updated from the specified URL.
+wget_files ?= $(srcdir)/config/config.guess \
+              $(srcdir)/config/config.sub \
+              $(srcdir)/src/ansi2knr.c \
+             $(srcdir)/config/texinfo.tex
+get-targets = $(patsubst %, get-%, $(wget_files))
+
+config.guess-url_prefix = $(ftp-gnu)/config/
+config.sub-url_prefix = $(ftp-gnu)/config/
+
+ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
+
+texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
+
+standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
+make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
+
+target = $(patsubst get-%, %, $@)
+url = $($(notdir $(target))-url_prefix)$(notdir $(target))
+
+.PHONY: $(get-targets)
+$(get-targets):
+       $(WGET) $(url) -O $(target).t \
+         && $(move_if_change) $(target).t $(target)
+
+cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing $(srcdir)/config/mkinstalldirs \
+             $(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
+automake_repo=:pserver:anoncvs:anoncvs@sources.redhat.com:/cvs/automake
+.PHONY: wget-update
+wget-update: $(get-targets)
+       for f in $(cvs_files); do                                     \
+         test -f $$f || { echo "*** skipping $$f" 1>&2; continue; }; \
+         file=$$(basename $$f);                                      \
+         echo checking out $$file...;                                \
+         $(CVS) -d $(automake_repo) co -p automake/lib/$$file> $$f.t \
+           && $(move_if_change) $$f.t $$f;                           \
+       done
+
 define emit-upload-commands
        echo =====================================
        echo =====================================
@@ -323,7 +322,7 @@ endef
 $(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
        xdelta delta -9 $^ $@ || :
 
-alpha:
+alpha: $(local-check)
        $(MAKE) cvs-dist
        $(MAKE) $(xd-delta)
        $(MAKE) -s announcement > /tmp/announce-$(my_distdir)
index f1657bbc46471af91d3bd85a01b289b939ae851b..5145e35717991118e42fa7b479e0b7926074e79d 100755 (executable)
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-09-03'
+timestamp='2002-10-21'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -109,7 +109,7 @@ trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
 case $CC_FOR_BUILD,$HOST_CC,$CC in
  ,,)    echo "int x;" > $dummy.c ;
        for c in cc gcc c89 c99 ; do
-         if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
             CC_FOR_BUILD="$c"; break ;
          fi ;
        done ;
@@ -257,7 +257,7 @@ main:
        jsr \$26,exit
        .end main
 EOF
-       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+       $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
        if test "$?" = 0 ; then
                case `$dummy` in
                        0-0)
@@ -437,7 +437,7 @@ EOF
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD $dummy.c -o $dummy \
+       $CC_FOR_BUILD -o $dummy $dummy.c \
          && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
          && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
        rm -f $dummy.c $dummy && rmdir $tmpdir
@@ -524,7 +524,7 @@ EOF
                        exit(0);
                        }
 EOF
-               $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
                rm -f $dummy.c $dummy && rmdir $tmpdir
                echo rs6000-ibm-aix3.2.5
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
@@ -623,7 +623,7 @@ EOF
                   exit (0);
               }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
                    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
                    rm -f $dummy.c $dummy && rmdir $tmpdir
                fi ;;
@@ -661,7 +661,7 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
        rm -f $dummy.c $dummy && rmdir $tmpdir
        echo unknown-hitachi-hiuxwe2
        exit 0 ;;
@@ -1283,7 +1283,7 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
 rm -f $dummy.c $dummy && rmdir $tmpdir
 
 # Apollos put the system type in the environment.
index 8ab885ec92d9e1ce51e4bca32745b24c2bf0a596..d2d5f21b611235316317197d3a32c2dff5897a6f 100755 (executable)
@@ -12,18 +12,29 @@ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
 
 # process command line arguments
 while test $# -gt 0 ; do
-   case "${1}" in
-     -h | --help | --h* )                      # -h for help
-       echo "${usage}" 1>&2; exit 0 ;;
-     -m )                                      # -m PERM arg
-       shift
-       test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-       dirmode="${1}"
-       shift ;;
-     -- ) shift; break ;;                      # stop option processing
-     -* ) echo "${usage}" 1>&2; exit 1 ;;      # unknown option
-     * )  break ;;                             # first non-opt arg
-   esac
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage" 1>&2
+      exit 0
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
 done
 
 for file
@@ -36,64 +47,65 @@ do
 done
 
 case $# in
-0) exit 0 ;;
+  0) exit 0 ;;
 esac
 
 case $dirmode in
-'')
-  if mkdir -p -- . 2>/dev/null; then
-    echo "mkdir -p -- $*"
-    exec mkdir -p -- "$@"
-  fi ;;
-*)
-  if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
-    echo "mkdir -m $dirmode -p -- $*"
-    exec mkdir -m "$dirmode" -p -- "$@"
-  fi ;;
+  '')
+    if mkdir -p -- . 2>/dev/null; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    fi
+    ;;
 esac
 
 for file
 do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-       echo "mkdir $pathcomp"
-
-       mkdir "$pathcomp" || lasterr=$?
-
-       if test ! -d "$pathcomp"; then
-         errstatus=$lasterr
-       else
-         if test ! -z "$dirmode"; then
-            echo "chmod $dirmode $pathcomp"
-
-            lasterr=""
-            chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-            if test ! -z "$lasterr"; then
-              errstatus=$lasterr
-            fi
-         fi
-       fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  shift
+
+  pathcomp=
+  for d
+  do
+    pathcomp="$pathcomp$d"
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
+
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+       errstatus=$lasterr
+      else
+       if test ! -z "$dirmode"; then
+         echo "chmod $dirmode $pathcomp"
+         lasterr=""
+         chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+         if test ! -z "$lasterr"; then
+           errstatus=$lasterr
+         fi
+       fi
+      fi
+    fi
+
+    pathcomp="$pathcomp/"
+  done
 done
 
 exit $errstatus
 
 # Local Variables:
 # mode: shell-script
-# sh-indentation: 3
+# sh-indentation: 2
 # End:
 # mkinstalldirs ends here
index b0a1cfc3e72c966e47b5cfd42f2f000d24fcca54..fbaaebd250ab0407b129a78d047d70394baeae59 100644 (file)
@@ -3,10 +3,10 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2002-06-04.06}
+\def\texinfoversion{2002-10-13.14}
 %
-% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
-%               2000, 01, 02 Free Software Foundation, Inc.
+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software; you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
 %     (and all CTAN mirrors, see http://www.ctan.org),
 %   and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
 % 
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+% 
 % The texinfo.tex in any given Texinfo distribution could well be out
 % of date, so if that's what you're using, please check.
 % 
-% Texinfo has a small home page at http://texinfo.org/ and also
-% http://www.gnu.org/software/texinfo.
-%
 % Send bug reports to bug-texinfo@gnu.org.  Please include including a
 % complete document in each bug report with which we can reproduce the
 % problem.  Patches are, of course, greatly appreciated.
 %
 \def\gobble#1{}
 
+% True if #1 is the empty string, i.e., called like `\ifempty{}'.
+%
+\def\ifempty#1{\ifemptyx #1\emptymarkA\emptymarkB}%
+\def\ifemptyx#1#2\emptymarkB{\ifx #1\emptymarkA}%
+
+% Hyphenation fixes.
 \hyphenation{ap-pen-dix}
 \hyphenation{mini-buf-fer mini-buf-fers}
 \hyphenation{eshell}
 \hyphenation{white-space}
 
 % Margin to add to right of even pages, to left of odd pages.
-\newdimen \bindingoffset
-\newdimen \normaloffset
+\newdimen\bindingoffset
+\newdimen\normaloffset
 \newdimen\pagewidth \newdimen\pageheight
 
 % Sometimes it is convenient to have everything in the transcript file
@@ -987,40 +992,39 @@ where each line of input produces a line of output.}
     \openin 1 \jobname.toc
     \ifeof 1\else\begingroup
       \closein 1 
-      \indexnofonts
-      \def\tt{}
-      \let\_ = \normalunderscore
       % Thanh's hack / proper braces in bookmarks  
       \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
       \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
       %
       \def\chapentry ##1##2##3{}
-      \let\appendixentry = \chapentry
-      \def\unnumbchapentry ##1##2{}
       \def\secentry ##1##2##3##4{\advancenumber{chap##2}}
-      \def\unnumbsecentry ##1##2##3{\advancenumber{chap##2}}
       \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
-      \def\unnumbsubsecentry ##1##2##3##4{\advancenumber{sec##2.##3}}
       \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
-      \def\unnumbsubsubsecentry ##1##2##3##4##5{\advancenumber{subsec##2.##3.##4}}
+      \let\appendixentry = \chapentry
+      \let\unnumbchapentry = \chapentry
+      \let\unnumbsecentry = \secentry
+      \let\unnumbsubsecentry = \subsecentry
+      \let\unnumbsubsubsecentry = \subsubsecentry
       \input \jobname.toc
       \def\chapentry ##1##2##3{%
         \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
-      \let\appendixentry = \chapentry
-      \def\unnumbchapentry ##1##2{%
-        \pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
       \def\secentry ##1##2##3##4{%
         \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
-      \def\unnumbsecentry ##1##2##3{%
-        \pdfoutline goto name{\pdfmkpgn{##3}}{##1}}
       \def\subsecentry ##1##2##3##4##5{%
         \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
-      \def\unnumbsubsecentry ##1##2##3##4{%
-        \pdfoutline goto name{\pdfmkpgn{##4}}{##1}}
       \def\subsubsecentry ##1##2##3##4##5##6{%
         \pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
-      \def\unnumbsubsubsecentry ##1##2##3##4##5{%
-        \pdfoutline goto name{\pdfmkpgn{##5}}{##1}}
+      \let\appendixentry = \chapentry
+      \let\unnumbchapentry = \chapentry
+      \let\unnumbsecentry = \secentry
+      \let\unnumbsubsecentry = \subsecentry
+      \let\unnumbsubsubsecentry = \subsubsecentry
+      %
+      % Make special characters normal for writing to the pdf file.
+      % 
+      \indexnofonts
+      \let\tt=\relax
+      \turnoffactive
       \input \jobname.toc
     \endgroup\fi
   }}
@@ -1170,7 +1174,7 @@ where each line of input produces a line of output.}
 \newcount\mainmagstep
 \ifx\bigger\relax
   % not really supported.
-  \let\mainmagstep=\magstep1
+  \mainmagstep=\magstep1
   \setfont\textrm\rmshape{12}{1000}
   \setfont\texttt\ttshape{12}{1000}
 \else
@@ -1231,6 +1235,7 @@ where each line of input produces a line of output.}
 \font\titlei=cmmi12 scaled \magstep3
 \font\titlesy=cmsy10 scaled \magstep4
 \def\authorrm{\secrm}
+\def\authortt{\sectt}
 
 % Chapter (and unnumbered) fonts (17.28pt).
 \setfont\chaprm\rmbshape{12}{\magstep2}
@@ -1345,6 +1350,7 @@ where each line of input produces a line of output.}
 \setfont\shortcontrm\rmshape{12}{1000}
 \setfont\shortcontbf\bxshape{12}{1000}
 \setfont\shortcontsl\slshape{12}{1000}
+\setfont\shortconttt\ttshape{12}{1000}
 
 %% Add scribe-like font environments, plus @l for inline lisp (usually sans
 %% serif) and @ii for TeX italic
@@ -1592,7 +1598,8 @@ where each line of input produces a line of output.}
    \let\subtitlerm=\tenrm
    \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
    %
-   \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
+   \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
+                   \let\tt=\authortt}%
    %
    % Leave some space at the very top of the page.
    \vglue\titlepagetopglue
@@ -2413,19 +2420,20 @@ width0pt\relax} \fi
   \let\item = \relax
 }
 
-% Ignore @ignore, @ifhtml, @ifinfo, @ifplaintext, @ifnottex, @html, @menu,
-% @direntry, and @documentdescription.
+% Ignore @ignore, @ifhtml, @ifinfo, and the like.
 %
-\def\ignore{\doignore{ignore}}
+\def\direntry{\doignore{direntry}}
+\def\documentdescriptionword{documentdescription}
+\def\documentdescription{\doignore{documentdescription}}
+\def\html{\doignore{html}}
 \def\ifhtml{\doignore{ifhtml}}
 \def\ifinfo{\doignore{ifinfo}}
-\def\ifplaintext{\doignore{ifplaintext}}
 \def\ifnottex{\doignore{ifnottex}}
-\def\html{\doignore{html}}
+\def\ifplaintext{\doignore{ifplaintext}}
+\def\ifxml{\doignore{ifxml}}
+\def\ignore{\doignore{ignore}}
 \def\menu{\doignore{menu}}
-\def\direntry{\doignore{direntry}}
-\def\documentdescription{\doignore{documentdescription}}
-\def\documentdescriptionword{documentdescription}
+\def\xml{\doignore{xml}}
 
 % @dircategory CATEGORY  -- specify a category of the dir file
 % which this file should belong to.  Ignore this in TeX.
@@ -2507,7 +2515,7 @@ width0pt\relax} \fi
   % We must actually expand the ignored text to look for the @end
   % command, so that nested ignore constructs work.  Thus, we put the
   % text into a \vbox and then do nothing with the result.  To minimize
-  % the change of memory overflow, we follow the approach outlined on
+  % the chance of memory overflow, we follow the approach outlined on
   % page 401 of the TeXbook: make the current font be a dummy font.
   %
   \setbox0 = \vbox\bgroup
@@ -2559,7 +2567,7 @@ width0pt\relax} \fi
     % Do minimal line-breaking.
     \pretolerance = 10000
     %
-    % Do not execute instructions in @tex
+    % Do not execute instructions in @tex.
     \def\tex{\doignore{tex}}%
     % Do not execute macro definitions.
     % `c' is a comment character, so the word `macro' will get cut off.
@@ -3549,13 +3557,18 @@ width0pt\relax} \fi
 \global\let\subsubsection = \numberedsubsubsec
 }
 
+% we use \chapno to avoid indenting back
+\def\appendixbox#1{%
+  \setbox0 = \hbox{\putwordAppendix{} \the\chapno}%
+  \hbox to \wd0{#1\hss}}
+
 \outer\def\appendix{\parsearg\appendixyyy}
 \def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
 \def\appendixzzz #1{%
 \secno=0 \subsecno=0 \subsubsecno=0
 \global\advance \appendixno by 1
 \message{\putwordAppendix\space \appendixletter}%
-\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
+\chapmacro {#1}{\appendixbox{\putwordAppendix{} \appendixletter}}%
 \gdef\thissection{#1}%
 \gdef\thischaptername{#1}%
 \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
@@ -3597,7 +3610,7 @@ width0pt\relax} \fi
 \unnumbchapmacro {#1}%
 \gdef\thischapter{#1}\gdef\thissection{#1}%
 \toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}%
+\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}{\the\chapno}}}%
 \temp
 \unnumbnoderef
 \global\let\section = \unnumberedsec
@@ -3639,7 +3652,7 @@ width0pt\relax} \fi
 \plainsecheading {#1}\gdef\thissection{#1}%
 \toks0 = {#1}%
 \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry%
-  {\the\toks0}{\the\chapno}}}%
+  {\the\toks0}{\the\chapno}{\the\secno}}}%
 \temp
 \unnumbnoderef
 \nobreak
@@ -3678,7 +3691,7 @@ width0pt\relax} \fi
 \plainsubsecheading {#1}\gdef\thissection{#1}%
 \toks0 = {#1}%
 \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry%
-  {\the\toks0}{\the\chapno}{\the\secno}}}%
+  {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}%
 \temp
 \unnumbnoderef
 \nobreak
@@ -3719,7 +3732,7 @@ width0pt\relax} \fi
 \plainsubsubsecheading {#1}\gdef\thissection{#1}%
 \toks0 = {#1}%
 \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry%
-  {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}%
+  {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
 \temp
 \unnumbnoderef
 \nobreak
@@ -4007,16 +4020,17 @@ width0pt\relax} \fi
       \let\unnumbchapentry = \shortunnumberedentry
       % We want a true roman here for the page numbers.
       \secfonts
-      \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
+      \let\rm=\shortcontrm \let\bf=\shortcontbf
+      \let\sl=\shortcontsl \let\tt=\shortconttt
       \rm
       \hyphenpenalty = 10000
       \advance\baselineskip by 1pt % Open it up a little.
       \def\secentry ##1##2##3##4{}
-      \def\unnumbsecentry ##1##2##3{}
       \def\subsecentry ##1##2##3##4##5{}
-      \def\unnumbsubsecentry ##1##2##3##4{}
       \def\subsubsecentry ##1##2##3##4##5##6{}
-      \def\unnumbsubsubsecentry ##1##2##3##4##5{}
+      \let\unnumbsecentry = \secentry
+      \let\unnumbsubsecentry = \subsecentry
+      \let\unnumbsubsubsecentry = \subsubsecentry
       \openin 1 \jobname.toc
       \ifeof 1 \else
         \closein 1
@@ -4049,7 +4063,8 @@ width0pt\relax} \fi
 }
 
 % Appendices, in the main contents.
-\def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}}
+\def\appendixentry#1#2#3{%
+  \dochapentry{\appendixbox{\putwordAppendix{} #2}\labelspace#1}{#3}}
 %
 % Appendices, in the short toc.
 \let\shortappendixentry = \shortchapentry
@@ -4073,21 +4088,21 @@ width0pt\relax} \fi
 }
 
 % Unnumbered chapters.
-\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
-\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}}
+\def\unnumbchapentry#1#2#3{\dochapentry{#1}{#3}}
+\def\shortunnumberedentry#1#2#3{\tocentry{#1}{\doshortpageno\bgroup#3\egroup}}
 
 % Sections.
 \def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2#3{\dosecentry{#1}{#3}}
+\def\unnumbsecentry#1#2#3#4{\dosecentry{#1}{#4}}
 
 % Subsections.
 \def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
+\def\unnumbsubsecentry#1#2#3#4#5{\dosubsecentry{#1}{#5}}
 
 % And subsubsections.
 \def\subsubsecentry#1#2#3#4#5#6{%
   \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2#3#4#5{\dosubsubsecentry{#1}{#5}}
+\def\unnumbsubsubsecentry#1#2#3#4#5#6{\dosubsubsecentry{#1}{#6}}
 
 % This parameter controls the indentation of the various levels.
 \newdimen\tocindent \tocindent = 3pc
@@ -4620,30 +4635,68 @@ width0pt\relax} \fi
 }
 
 % @copying ... @end copying.
-% Save the text away for @insertcopying later.
+% Save the text away for @insertcopying later.  Many commands won't be
+% allowed in this context, but that's ok.
+% 
+% We save the uninterpreted tokens, rather than creating a box.
+% Saving the text in a box would be much easier, but then all the
+% typesetting commands (@smallbook, font changes, etc.) have to be done
+% beforehand -- and a) we want @copying to be done first in the source
+% file; b) letting users define the frontmatter in as flexible order as
+% possible is very desirable.
 % 
-\newbox\copyingbox
-%
 \def\copying{\begingroup
-  \parindent = 0pt  % looks wrong on title page
-  \def\Ecopying{\egroup\endgroup}%
-  \global\setbox\copyingbox = \vbox\bgroup
+  % Define a command to swallow text until we reach `@end copying'.
+  % \ is the escape char in this texinfo.tex file, so it is the
+  % delimiter for the command; @ will be the escape char when we read
+  % it, but that doesn't matter.
+  \long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}%
+  %
+  % We must preserve ^^M's in the input file; see \insertcopying below.
+  \catcode`\^^M = \active
+  \docopying
 }
 
-% @insertcopying.
-% 
-\def\insertcopying{\unvcopy\copyingbox}
+% What we do to finish off the copying text.
+%
+\def\enddocopying{\endgroup\ignorespaces}
 
+% @insertcopying.  Here we must play games with ^^M's.  On the one hand,
+% we need them to delimit commands such as `@end quotation', so they
+% must be active.  On the other hand, we certainly don't want every
+% end-of-line to be a \par, as would happen with the normal active
+% definition of ^^M.  On the third hand, two ^^M's in a row should still
+% generate a \par.
+% 
+% Our approach is to make ^^M insert a space and a penalty1 normally;
+% then it can also check if \lastpenalty=1.  If it does, then manually
+% do \par.
+% 
+% Seems pretty fragile, but for the limited use of getting the copying
+% text (which should be quite simple) inserted, we can hope it's ok.
+% % 
+{\catcode`\^^M=\active %
+\gdef\insertcopying{\begingroup %
+  \parindent = 0pt  % looks wrong on title page
+  \def^^M{%
+    \ifnum \lastpenalty=1 %
+      \par %
+    \else %
+      \space \penalty 1 %
+    \fi %
+  }%
+  \copyingtext %
+\endgroup}%
+}
 
 \message{defuns,}
 % @defun etc.
 
 % Allow user to change definition object font (\df) internally
-\def\setdeffont #1 {\csname DEF#1\endcsname}
+\def\setdeffont#1 {\csname DEF#1\endcsname}
 
 \newskip\defbodyindent \defbodyindent=.4in
 \newskip\defargsindent \defargsindent=50pt
-\newskip\deftypemargin \deftypemargin=12pt
 \newskip\deflastargmargin \deflastargmargin=18pt
 
 \newcount\parencount
@@ -4702,32 +4755,47 @@ width0pt\relax} \fi
   \global\let& = \ampnr
 }
 
-% First, defname, which formats the header line itself.
-% #1 should be the function name.
-% #2 should be the type of definition, such as "Function".
-
-\def\defname #1#2{%
-% Get the values of \leftskip and \rightskip as they were
-% outside the @def...
-\dimen2=\leftskip
-\advance\dimen2 by -\defbodyindent
-\noindent
-\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
-\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1
-% Now output arg 2 ("Function" or some such)
-% ending at \deftypemargin from the right margin,
-% but stuck inside a box of width 0 so it does not interfere with linebreaking
-{% Adjust \hsize to exclude the ambient margins,
-% so that \rightline will obey them.
-\advance \hsize by -\dimen2
-\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}%
-% Make all lines underfull and no complaints:
-\tolerance=10000 \hbadness=10000
-\advance\leftskip by -\defbodyindent
-\exdentamount=\defbodyindent
-{\df #1}\enskip        % Generate function name
+% \defname, which formats the name of the @def (not the args).
+% #1 is the function name.
+% #2 is the type of definition, such as "Function".
+%
+\def\defname#1#2{%
+  % How we'll output the type name.  Putting it in brackets helps
+  % distinguish it from the body text that may end up on the next line
+  % just below it.
+  \ifempty{#2}%
+    \def\defnametype{}%
+  \else
+    \def\defnametype{[\rm #2]}%
+  \fi
+  %
+  % Get the values of \leftskip and \rightskip as they were outside the @def...
+  \dimen2=\leftskip
+  \advance\dimen2 by -\defbodyindent
+  %
+  % Figure out values for the paragraph shape.
+  \setbox0=\hbox{\hskip \deflastargmargin{\defnametype}}%
+  \dimen0=\hsize \advance \dimen0 by -\wd0  % compute size for first line
+  \dimen1=\hsize \advance \dimen1 by -\defargsindent  % size for continuations
+  \parshape 2 0in \dimen0 \defargsindent \dimen1
+  %
+  % Output arg 2 ("Function" or some such) but stuck inside a box of
+  % width 0 so it does not interfere with linebreaking.
+  \noindent
+  %
+  {% Adjust \hsize to exclude the ambient margins,
+   % so that \rightline will obey them.
+   \advance \hsize by -\dimen2
+   \dimen3 = 0pt  % was -1.25pc
+   \rlap{\rightline{\defnametype\kern\dimen3}}%
+  }%
+  %
+  % Allow all lines to be underfull without complaint:
+  \tolerance=10000 \hbadness=10000
+  \advance\leftskip by -\defbodyindent
+  \exdentamount=\defbodyindent
+  {\df #1}\enskip        % output function name
+  % \defunargs will be called next to output the arguments, if any.
 }
 
 % Common pieces to start any @def...
@@ -6035,11 +6103,13 @@ should work if nowhere else does.}
 }
 
 % Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip.  We also call
-% \setleading{\textleading}, so the caller should define \textleading.
-% The caller should also set \parskip.
+% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)
+% physical page width.
+% 
+% We also call \setleading{\textleading}, so the caller should define
+% \textleading.  The caller should also set \parskip.
 %
-\def\internalpagesizes#1#2#3#4#5#6{%
+\def\internalpagesizes#1#2#3#4#5#6#7#8{%
   \voffset = #3\relax
   \topskip = #6\relax
   \splittopskip = \topskip
@@ -6058,6 +6128,11 @@ should work if nowhere else does.}
   \normaloffset = #4\relax
   \bindingoffset = #5\relax
   %
+  \ifpdf
+    \pdfpageheight #7\relax
+    \pdfpagewidth #8\relax
+  \fi
+  %
   \setleading{\textleading}
   %
   \parindent = \defaultparindent
@@ -6079,7 +6154,10 @@ should work if nowhere else does.}
   \textleading = 13.2pt
   %
   % If page is nothing but text, make it come out even.
-  \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
+  \internalpagesizes{46\baselineskip}{6in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{36pt}%
+                    {11in}{8.5in}%
 }}
 
 % Use @smallbook to reset parameters for 7x9.5 (or so) format.
@@ -6087,13 +6165,15 @@ should work if nowhere else does.}
   \parskip = 2pt plus 1pt
   \textleading = 12pt
   %
-  \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
+  \internalpagesizes{7.5in}{5in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{16pt}%
+                    {9.25in}{7in}%
   %
   \lispnarrowing = 0.3in
   \tolerance = 700
   \hfuzz = 1pt
   \contentsrightmargin = 0pt
-  \deftypemargin = 0pt
   \defbodyindent = .5cm
   \smallenvironments
 }}
@@ -6101,12 +6181,27 @@ should work if nowhere else does.}
 % Use @afourpaper to print on European A4 paper.
 \def\afourpaper{{\globaldefs = 1
   \parskip = 3pt plus 2pt minus 1pt
-  \textleading = 12pt
+  \textleading = 13.2pt
   %
-  \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
+  % Double-side printing via postscript on Laserjet 4050 
+  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
+  % To change the settings for a different printer or situation, adjust
+  % \normaloffset until the front-side and back-side texts align.  Then
+  % do the same for \bindingoffset.  You can set these for testing in
+  % your texinfo source file like this:
+  % @tex
+  % \global\normaloffset = -6mm
+  % \global\bindingoffset = 10mm
+  % @end tex
+  \internalpagesizes{51\baselineskip}{160mm}
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{44pt}%
+                    {297mm}{210mm}%
   %
   \tolerance = 700
   \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 5mm
 }}
 
 % Use @afivepaper to print on European A5 paper.
@@ -6116,37 +6211,42 @@ should work if nowhere else does.}
   \parskip = 2pt plus 1pt minus 0.1pt
   \textleading = 12.5pt
   %
-  \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}%
+  \internalpagesizes{160mm}{120mm}%
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{8pt}%
+                    {210mm}{148mm}%
   %
   \lispnarrowing = 0.2in
   \tolerance = 800
   \hfuzz = 1.2pt
-  \contentsrightmargin = 0mm
-  \deftypemargin = 0pt
+  \contentsrightmargin = 0pt
   \defbodyindent = 2mm
   \tableindent = 12mm
   %
   \smallenvironments
 }}
 
-% A specific text layout, 24x15cm overall, intended for A4 paper.  Top margin
-% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
+% A specific text layout, 24x15cm overall, intended for A4 paper.  
 \def\afourlatex{{\globaldefs = 1
-  \textleading = 13.6pt
-  %
   \afourpaper
-  \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
+  \internalpagesizes{237mm}{150mm}%
+                    {\voffset}{4.6mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
   %
-  % Must explicitly reset to 0 because we call \afourpaper, apparently,
-  % although this does not entirely make sense.
+  % Must explicitly reset to 0 because we call \afourpaper.
   \globaldefs = 0
 }}
 
-% Use @afourwide to print on European A4 paper in wide format.
-\def\afourwide{%
+% Use @afourwide to print on A4 paper in landscape format.
+\def\afourwide{{\globaldefs = 1
   \afourpaper
-  \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
-}
+  \internalpagesizes{241mm}{165mm}%
+                    {\voffset}{-2.95mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  \globaldefs = 0
+}}
 
 % @pagesizes TEXTHEIGHT[,TEXTWIDTH]
 % Perhaps we should allow setting the margins, \topskip, \parskip,
@@ -6161,7 +6261,16 @@ should work if nowhere else does.}
   \parskip = 3pt plus 2pt minus 1pt
   \setleading{\textleading}%
   %
-  \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
+  \dimen0 = #1
+  \advance\dimen0 by \voffset
+  %
+  \dimen2 = \hsize
+  \advance\dimen2 by \normaloffset
+  %
+  \internalpagesizes{#1}{\hsize}%
+                    {\voffset}{\normaloffset}%
+                    {\bindingoffset}{44pt}%
+                    {\dimen0}{\dimen2}%
 }}
 
 % Set default to letter.
@@ -6285,16 +6394,8 @@ should work if nowhere else does.}
 @let+=@normalplus
 @let$=@normaldollar}%$ font-lock fix
 
-@def@normalturnoffactive{@let"=@normaldoublequote
-@let\=@normalbackslash
-@let~=@normaltilde
-@let^=@normalcaret
-@let_=@normalunderscore
-@let|=@normalverticalbar
-@let<=@normalless
-@let>=@normalgreater
-@let+=@normalplus
-@let$=@normaldollar}%$ font-lock fix
+% Same as @turnoffactive except for \.
+@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
 
 % Make _ and + \other characters, temporarily.
 % This is canceled by @fixbackslash.
index 2931f0bd9992a4abe5297ba80a1fb461d5d8d235..864563c5db0708ab136577e142a3e31efbdfba0e 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.29.
-.TH CONFIG.GUESS "1" "October 2002" "config.guess (2002-09-03)" "User Commands"
+.TH CONFIG.GUESS "1" "October 2002" "config.guess (2002-10-21)" "User Commands"
 .SH NAME
 config.guess \- guess the build system triplet
 .SH SYNOPSIS