changeset 3960:3f2e16551946

update from texinfo
author Karl Berry <karl@freefriends.org>
date Thu, 31 Oct 2002 01:01:19 +0000
parents 642b4d67be8c
children b34619ffab3d
files config/texinfo.tex
diffstat 1 files changed, 79 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/config/texinfo.tex
+++ b/config/texinfo.tex
@@ -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-24.15}
+\def\texinfoversion{2002-10-30.16}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
@@ -159,24 +159,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
+\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
 }%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
-   \tracingpages1 \tracingoutput1 \tracinglostchars1
-   \tracingmacros2 \tracingparagraphs1 \tracingrestores1
-   \tracingscantokens1 \tracingassigns1 \tracingifs1
-   \tracinggroups1 \tracingnesting2
-   \showboxbreadth\maxdimen\showboxdepth\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 +447,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 @
@@ -1358,8 +1353,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
@@ -3931,7 +3926,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
 }
 
 
@@ -4265,7 +4269,7 @@
 % 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
@@ -4352,7 +4356,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
@@ -4467,7 +4470,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...
@@ -4700,11 +4702,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 = )
@@ -4809,7 +4814,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
@@ -4821,24 +4826,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.
@@ -4848,7 +4867,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}}%
 }
@@ -4862,9 +4881,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}}%
 }
@@ -4873,7 +4891,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}}%
 }
@@ -4884,7 +4902,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%
@@ -4894,14 +4912,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}}%
 }
@@ -4917,7 +4935,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
 }
@@ -4935,18 +4953,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.