automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FYI: update config.{sub,guess} and texinfo.tex


From: Alexandre Duret-Lutz
Subject: FYI: update config.{sub,guess} and texinfo.tex
Date: Sun, 01 Dec 2002 13:58:31 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/20.7 (i386-debian-linux-gnu)

2002-12-01  Alexandre Duret-Lutz  <address@hidden>

        * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
        versions.

Index: lib/config.guess
===================================================================
RCS file: /cvs/automake/automake/lib/config.guess,v
retrieving revision 1.28
diff -u -r1.28 config.guess
--- lib/config.guess    17 Sep 2002 18:41:01 -0000      1.28
+++ lib/config.guess    1 Dec 2002 12:55:50 -0000
@@ -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-11-30'
 
 # 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 @@
 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 ;
@@ -178,7 +178,18 @@
                ;;
        esac
        # The OS release
-       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
@@ -257,7 +268,7 @@
        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 +448,7 @@
          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
@@ -449,7 +460,7 @@
     Motorola:*:4.3:PL8-*)
        echo powerpc-harris-powermax
        exit 0 ;;
-    Night_Hawk:*:*:PowerMAX_OS)
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
        echo powerpc-harris-powermax
        exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
@@ -524,7 +535,7 @@
                        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 +634,7 @@
                   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 +672,7 @@
          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 ;;
@@ -769,13 +780,16 @@
        echo ${UNAME_MACHINE}-pc-pw32
        exit 0 ;;
     x86:Interix*:3*)
-       echo i386-pc-interix3
+       echo i586-pc-interix3
+       exit 0 ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
        exit 0 ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
        # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i386-pc-interix
+       echo i586-pc-interix
        exit 0 ;;
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
@@ -819,7 +833,27 @@
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
        rm -f $dummy.c && rmdir $tmpdir
-       test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
+       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       ;;
+    mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips64
+       #undef mips64el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || 
defined(MIPSEL)
+       CPU=mips64el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || 
defined(MIPSEB)
+       CPU=mips64
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+       rm -f $dummy.c && rmdir $tmpdir
+       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
        ;;
     ppc:Linux:*:*)
        echo powerpc-unknown-linux-gnu
@@ -932,6 +966,23 @@
         # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit 0 ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit 0 ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit 0 ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit 0 ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -966,9 +1017,6 @@
                echo ${UNAME_MACHINE}-pc-sysv32
        fi
        exit 0 ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit 0 ;;
     pc:*:*:*)
        # Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -995,9 +1043,12 @@
     mc68k:UNIX:SYSTEM5:3.51m)
        echo m68k-convergent-sysv
        exit 0 ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit 0 ;;
     M68*:*:R3V[567]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 
3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 
3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | 
SDS2:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1014,9 +1065,6 @@
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
        exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
        echo sparc-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
@@ -1134,11 +1182,6 @@
        fi
        echo ${UNAME_MACHINE}-unknown-plan9
        exit 0 ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit 0 ;;
     *:TOPS-10:*:*)
        echo pdp10-unknown-tops10
        exit 0 ;;
@@ -1157,12 +1200,6 @@
     *:ITS:*:*)
        echo pdp10-unknown-its
        exit 0 ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit 0 ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1283,7 +1320,7 @@
 }
 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: lib/config.sub
===================================================================
RCS file: /cvs/automake/automake/lib/config.sub,v
retrieving revision 1.165
diff -u -r1.165 config.sub
--- lib/config.sub      17 Sep 2002 18:41:01 -0000      1.165
+++ lib/config.sub      1 Dec 2002 12:55:54 -0000
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002 Free Software Foundation, Inc.
 
-timestamp='2002-09-05'
+timestamp='2002-11-30'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,7 @@
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | 
windows32-* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | 
os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -977,10 +977,6 @@
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
-       windows32)
-               basic_machine=i386-pc
-               os=-windows32-msvcrt
-               ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -1113,11 +1109,12 @@
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
              | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | 
-powermax*)
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1129,8 +1126,10 @@
                        ;;
                esac
                ;;
+       -nto-qnx*)
+               ;;
        -nto*)
-               os=-nto-qnx
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
Index: lib/texinfo.tex
===================================================================
RCS file: /cvs/automake/automake/lib/texinfo.tex,v
retrieving revision 1.20.2.1
diff -u -r1.20.2.1 texinfo.tex
--- lib/texinfo.tex     16 Oct 2002 18:04:58 -0000      1.20.2.1
+++ lib/texinfo.tex     1 Dec 2002 12:56:15 -0000
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2002-10-13.14}
+\def\texinfoversion{2002-11-25.11}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
@@ -68,6 +68,13 @@
 \everyjob{\message{[Texinfo version \texinfoversion]}%
   \catcode`+=\active \catcode`\_=\active}
 
+\message{Basics,}
+\chardef\other=12
+
+% We never want plain's outer \+ definition in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
 % Save some parts of plain tex whose names we will redefine.
 \let\ptexb=\b
 \let\ptexbullet=\bullet
@@ -78,19 +85,16 @@
 \let\ptexend=\end
 \let\ptexequiv=\equiv
 \let\ptexexclam=\!
+\let\ptexgtr=>
+\let\ptexhat=^
 \let\ptexi=\i
 \let\ptexlbrace=\{
+\let\ptexless=<
+\let\ptexplus=+
 \let\ptexrbrace=\}
 \let\ptexstar=\*
 \let\ptext=\t
 
-% We never want plain's outer \+ definition in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
-
-\message{Basics,}
-\chardef\other=12
-
 % If this character appears in an error message or help string, it
 % starts a new line in the output.
 \newlinechar = `^^J
@@ -159,24 +163,30 @@
 
 % Sometimes it is convenient to have everything in the transcript file
 % and nothing on the terminal.  We don't just call \tracingall here,
-% since that produces some useless output on the terminal.
+% since that produces some useless output on the terminal.  We also make
+% some effort to order the tracing commands to reduce output in the log
+% file; cf. trace.sty in LaTeX.
 %
 \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\ifx\eTeXversion\undefined
-\def\loggingall{\tracingcommands2 \tracingstats2
-   \tracingpages1 \tracingoutput1 \tracinglostchars1
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1
-   \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
-   \tracingpages1 \tracingoutput1 \tracinglostchars1
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1
-   \tracingscantokens1 \tracingassigns1 \tracingifs1
-   \tracinggroups1 \tracingnesting2
-   \showboxbreadth\maxdimen\showboxdepth\maxdimen
+\def\loggingall{%
+  \tracingstats2
+  \tracingpages1
+  \tracinglostchars2  % 2 gives us more in etex
+  \tracingparagraphs1
+  \tracingoutput1
+  \tracingmacros2
+  \tracingrestores1
+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
+  \ifx\eTeXversion\undefined\else % etex gives us more logging
+    \tracingscantokens1
+    \tracingifs1
+    \tracinggroups1
+    \tracingnesting2
+    \tracingassigns1
+  \fi
+  \tracingcommands3  % 3 gives us more in etex
+  \errorcontextlines\maxdimen
 }%
-\fi
 
 % add check for \lastpenalty to plain's definitions.  If the last thing
 % we did was a \nobreak, we don't want to insert more space.
@@ -441,17 +451,6 @@
 }
 
 
-% Single-spacing is done by various environments (specifically, in
-% \nonfillstart and \quotations).
-\newskip\singlespaceskip \singlespaceskip = 12.5pt
-\def\singlespace{%
-  % Why was this kern here?  It messes up equalizing space above and below
-  % environments.  --karl, 6may93
-  %{\advance \baselineskip by -\singlespaceskip
-  %\kern \baselineskip}%
-  \setleading\singlespaceskip
-}
-
 %% Simple single-character @ commands
 
 % @@ prints an @
@@ -846,11 +845,6 @@
 % to set catcodes according to plain TeX first, to allow for subscripts,
 % superscripts, special math chars, etc.
 % 
-% @math does not do math typesetting in section titles, index
-% entries, and other such contexts where the catcodes are set before
-% @math gets a chance to work.  This could perhaps be fixed, but for now
-% at least we can have real math in the main text, where it's needed most.
-%
 \let\implicitmath = $%$ font-lock fix
 %
 % One complication: _ usually means subscripts, but it could also mean
@@ -876,9 +870,27 @@
   \tex
   \mathcode`\_="8000 \mathunderscore
   \let\\ = \mathbackslash
+  \mathactive
   \implicitmath\finishmath}
 \def\finishmath#1{#1\implicitmath\Etex}
 
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an
+% argument to a command which set the catcodes (such as @item or @section).
+% 
+{
+  \catcode`^ = \active
+  \catcode`< = \active
+  \catcode`> = \active
+  \catcode`+ = \active
+  \gdef\mathactive{%
+    \let^ = \ptexhat
+    \let< = \ptexless
+    \let> = \ptexgtr
+    \let+ = \ptexplus
+  }
+}
+
 % @bullet and @minus need the same treatment as @math, just above.
 \def\bullet{\implicitmath\ptexbullet\implicitmath}
 \def\minus{\implicitmath-\implicitmath}
@@ -970,7 +982,7 @@
       \ifx\empty\imagewidth\else width \imagewidth \fi
       \ifx\empty\imageheight\else height \imageheight \fi
       \ifnum\pdftexversion<13
-        #1.pdf%
+         #1.pdf%
        \else
          {#1.pdf}%
        \fi
@@ -1235,6 +1247,7 @@
 \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}
@@ -1349,6 +1362,7 @@
 \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
@@ -1356,8 +1370,8 @@
 % \smartitalic{ARG} outputs arg in italics, followed by an italic correction
 % unless the following character is such as not to need one.
 \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
 
 \let\i=\smartitalic
 \let\var=\smartslanted
@@ -1596,7 +1610,8 @@
    \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
@@ -1877,10 +1892,18 @@
     % \parskip glue -- logically it's part of the @item we just started.
     \nobreak \vskip-\parskip
     %
-    % Stop a page break at the \parskip glue coming up.  Unfortunately
+    % Stop a page break at the \parskip glue coming up.  (Unfortunately
     % we can't prevent a possible page break at the following
-    % \baselineskip glue.
-    \nobreak
+    % \baselineskip glue.)  However, if what follows is an environment
+    % such as @example, there will be no \parskip glue; then
+    % the negative vskip we just would cause the example and the item to
+    % crash together.  So we use this bizarre value of 10001 as a signal
+    % to \aboveenvbreak to insert \parskip glue after all.
+    % (Possibly there are other commands that could be followed by
+    % @example which need the same treatment, but not section titles; or
+    % maybe section titles are the only special case and they should be
+    % penalty 10001...)
+    \penalty 10001
     \endgroup
     \itemxneedsnegativevskipfalse
   \else
@@ -3554,13 +3577,18 @@
 \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}%
@@ -3923,7 +3951,16 @@
           \hangindent = \wd0 % zero if no section number
           \unhbox0 #3}%
   }%
-  \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak
+  % Add extra space after the heading -- either a line space or a
+  % paragraph space, whichever is more.  (Some people like to set
+  % \parskip to large values for some reason.)
+  \nobreak
+  \ifdim\parskip>\normalbaselineskip
+    \kern\parskip
+  \else
+    \kern\normalbaselineskip
+  \fi
+  \nobreak
 }
 
 
@@ -4012,7 +4049,8 @@
       \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.
@@ -4054,7 +4092,8 @@
 }
 
 % 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
@@ -4255,15 +4294,18 @@
 % Make spacing and below environment symmetrical.  We use \parskip here
 % to help in doing that, since in @example-like environments \parskip
 % is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip
+% start of the next paragraph will insert \parskip.
 %
 \def\aboveenvbreak{{%
-  \ifnum\lastpenalty < 10000
+  % =10000 instead of <10000 because of a special case in \itemzzz, q.v.
+  \ifnum \lastpenalty=10000 \else
     \advance\envskipamount by \parskip
     \endgraf
     \ifdim\lastskip<\envskipamount
       \removelastskip
-      \penalty-50
+      % it's not a good place to break if the last penalty was \nobreak
+      % or better ...
+      \ifnum\lastpenalty>10000 \else \penalty-50 \fi
       \vskip\envskipamount
     \fi
   \fi
@@ -4342,7 +4384,6 @@
   \inENV % This group ends at the end of the body
   \hfuzz = 12pt % Don't be fussy
   \sepspaces % Make spaces be word-separators rather than space tokens.
-  \singlespace
   \let\par = \lisppar % don't ignore blank lines
   \obeylines % each line of input is a line of output
   \parskip = 0pt
@@ -4457,7 +4498,6 @@
 \def\quotation{%
   \begingroup\inENV %This group ends at the end of the @quotation body
   {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \singlespace
   \parindent=0pt
   % We have retained a nonzero parskip for the environment, since we're
   % doing normal filling. So to avoid extra space below the environment...
@@ -4480,10 +4520,14 @@
 %
 % [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
 %
-% [Knuth] p. 344; only we need to do '@' too
+% [Knuth] p.344; only we need to do the other characters Texinfo sets
+% active too.  Otherwise, they get lost as the first character on a
+% verbatim line.
 \def\dospecials{%
-  \do\ address@hidden&%
-  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
+  \do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
+  \do\<\do\>\do\|address@hidden"%
+}
 %
 % [Knuth] p. 380
 \def\uncatcodespecials{%
@@ -4570,7 +4614,7 @@
 %
 % For Texinfo it's a lot easier than for LaTeX, 
 % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
-% we need not redefine '\', '{' and '}'
+% we need not redefine '\', '{' and '}'.
 %
 % Inspired by LaTeX's verbatim command set [latex.ltx]
 %% Include LaTeX hack for completeness -- never know
@@ -4580,9 +4624,14 @@
 %% \catcode`\\=12|gdef|address@hidden verbatim[
 %% #1|endgroup|def|Everbatim[]|end[verbatim]]
 %% |endgroup
+%
 \begingroup
   \catcode`\ =\active
-  address@hidden verbatim{#1\end{verbatim}}
+  \obeylines %
+  % ignore everything up to the first ^^M, that's the newline at the end
+  % of the @verbatim input line itself.  Otherwise we get an extra blank
+  % line in the output.
+  address@hidden verbatim{#2\end{verbatim}}%
 \endgroup
 %
 \def\verbatim{%
@@ -4690,11 +4739,14 @@
 \newskip\deflastargmargin \deflastargmargin=18pt
 
 \newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
+
+% We want ()&[] to print specially on the defun line.
+% 
 \def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
+  \catcode`\(=\active \catcode`\)=\active
+  \catcode`\&=\active
+  \catcode`\[=\active \catcode`\]=\active
+}
 
 % Make control sequences which act like normal parenthesis chars.
 \let\lparen = ( \let\rparen = )
@@ -4799,7 +4851,7 @@
   % which is there to keep the function description together with its
   % header.  But if there's nothing but headers, we want to allow a
   % break after all.
-  \ifnum\lastpenalty = 10000 \penalty0 \fi
+  \ifnum\lastpenalty=10000 \penalty0 \fi
   \medbreak
   %
   % Define the \E... end token that this defining construct specifies
@@ -4811,24 +4863,38 @@
   \exdentamount=\defbodyindent
 }
 
+% Common part of the \...x definitions.
+% 
+\def\defxbodycommon{%
+  % As with \parsebodycommon above, allow line break if we have multiple
+  % x headers in a row.  It's not a great place, though.
+  \ifnum\lastpenalty=10000 \penalty1000 \fi
+  %
+  \begingroup\obeylines
+}
+
 % Process body of @defun, @deffn, @defmac, etc.
 %
 \def\defparsebody#1#2#3{%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
+  \def#2{\defxbodycommon \activeparens \spacesplit#3}%
   \catcode61=\active % 61 is `='
   \begingroup\obeylines\activeparens
   \spacesplit#3%
 }
 
-% #1, #2, #3 are the common arguments (see \defparsebody).
+% #1, #2, #3 are the common arguments (see \parsebodycommon above).
 % #4, delimited by the space, is the class name.
 %
 \def\defmethparsebody#1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \activeparens \spacesplit{#3{##1}}}%
   \begingroup\obeylines\activeparens
-  \spacesplit{#3{#4}}%
+  % The \empty here prevents misinterpretation of a construct such as
+  %   @deffn {whatever} {Enharmonic comma}
+  % See comments at \deftpparsebody, although in our case we don't have
+  % to remove the \empty afterwards, since it is empty.
+  \spacesplit{#3{#4}}\empty
 }
 
 % Used for @deftypemethod and @deftypeivar.
@@ -4838,7 +4904,7 @@
 %
 \def\deftypemethparsebody#1#2#3#4 #5 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
+  \def#2##1 ##2 {\defxbodycommon \activeparens \spacesplit{#3{##1}{##2}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#4}{#5}}%
 }
@@ -4852,9 +4918,8 @@
 % 
 \def\deftypeopparsebody#1#2#3#4#5 #6 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 ##2 ##3 {%
-    \def#4{##1}%
-    \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
+  \def#2##1 ##2 ##3 {\def#4{##1}%
+    \defxbodycommon \activeparens \spacesplit{#3{##2}{##3}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#5}{#6}}%
 }
@@ -4863,7 +4928,7 @@
 \def\defopparsebody #1#2#3#4#5 {%
   \parsebodycommon{#1}{#2}{#3}%
   \def#2##1 ##2 {\def#4{##1}%
-    \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
+    \defxbodycommon \activeparens \spacesplit{#3{##2}}}%
   \begingroup\obeylines\activeparens
   \spacesplit{#3{#5}}%
 }
@@ -4874,7 +4939,7 @@
 %
 \def\defvarparsebody #1#2#3{%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2{\begingroup\obeylines\spacesplit#3}%
+  \def#2{\defxbodycommon \spacesplit#3}%
   \catcode61=\active %
   \begingroup\obeylines
   \spacesplit#3%
@@ -4884,14 +4949,14 @@
 \def\defopvarparsebody #1#2#3#4#5 {%
   \parsebodycommon{#1}{#2}{#3}%
   \def#2##1 ##2 {\def#4{##1}%
-    \begingroup\obeylines\spacesplit{#3{##2}}}%
+    \defxbodycommon \spacesplit{#3{##2}}}%
   \begingroup\obeylines
   \spacesplit{#3{#5}}%
 }
 
 \def\defvrparsebody#1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
   \begingroup\obeylines
   \spacesplit{#3{#4}}%
 }
@@ -4907,7 +4972,7 @@
 %
 \def\deftpparsebody #1#2#3#4 {%
   \parsebodycommon{#1}{#2}{#3}%
-  \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
+  \def#2##1 {\defxbodycommon \spacesplit{#3{##1}}}%
   \begingroup\obeylines
   \spacesplit{\parsetpheaderline{#3{#4}}}\empty
 }
@@ -4925,18 +4990,22 @@
   #1{\removeemptybraces#2\relax}{#3}%
 }%
 
-% Split up #2 at the first space token.
+% Split up #2 (the rest of the input line) at the first space token.
 % call #1 with two arguments:
 %  the first is all of #2 before the space token,
 %  the second is all of #2 after that space token.
 % If #2 contains no space token, all of it is passed as the first arg
 % and the second is passed as empty.
 %
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
+{\obeylines %
+ \gdef\spacesplit#1#2^^M{\endgroup\spacesplitx{#1}#2 \relax\spacesplitx}%
+ \long\gdef\spacesplitx#1#2 #3#4\spacesplitx{%
+   \ifx\relax #3%
+     #1{#2}{}%
+   \else %
+     #1{#2}{#3#4}%
+   \fi}%
+}
 
 % Define @defun.
 

-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]