/[autoconf]/autoconf/config/texinfo.tex
ViewVC logotype

Diff of /autoconf/config/texinfo.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by akim, Thu May 22 07:37:43 2003 UTC revision 1.12 by akim, Thu Aug 21 17:50:11 2003 UTC
# Line 3  Line 3 
3  % Load plain if necessary, i.e., if running under initex.  % Load plain if necessary, i.e., if running under initex.
4  \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi  \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5  %  %
6  \def\texinfoversion{2003-05-04.08}  \def\texinfoversion{2003-07-28.08}
7  %  %
8  % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,  % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9  % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.  % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# Line 887  where each line of input produces a line Line 887  where each line of input produces a line
887    
888  % @firstparagraphindent WORD  % @firstparagraphindent WORD
889  % If WORD is `none', then suppress indentation of the first paragraph  % If WORD is `none', then suppress indentation of the first paragraph
890  % after a section heading.  If WORD is `insert', then do indentat such  % after a section heading.  If WORD is `insert', then do indent at such
891  % paragraphs.  % paragraphs.
892  %  %
893  % The paragraph indentation is suppressed or not by calling  % The paragraph indentation is suppressed or not by calling
894  % \suppressfirstparagraphindent, which the sectioning commands do.  We  % \suppressfirstparagraphindent, which the sectioning commands do.
895  % switch the definition of this back and forth according to WORD.  By  % We switch the definition of this back and forth according to WORD.
896  % default, we suppress indentation.  % By default, we suppress indentation.
897  %  %
898  \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}  \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
899  \newdimen\currentparindent  \newdimen\currentparindent
# Line 2524  width0pt\relax} \fi Line 2524  width0pt\relax} \fi
2524  % Prevent errors for section commands.  % Prevent errors for section commands.
2525  % Used in @ignore and in failing conditionals.  % Used in @ignore and in failing conditionals.
2526  \def\ignoresections{%  \def\ignoresections{%
   \let\chapter=\relax  
   \let\unnumbered=\relax  
   \let\top=\relax  
   \let\unnumberedsec=\relax  
   \let\unnumberedsection=\relax  
   \let\unnumberedsubsec=\relax  
   \let\unnumberedsubsection=\relax  
   \let\unnumberedsubsubsec=\relax  
   \let\unnumberedsubsubsection=\relax  
   \let\section=\relax  
   \let\subsec=\relax  
   \let\subsubsec=\relax  
   \let\subsection=\relax  
   \let\subsubsection=\relax  
2527    \let\appendix=\relax    \let\appendix=\relax
2528    \let\appendixsec=\relax    \let\appendixsec=\relax
2529    \let\appendixsection=\relax    \let\appendixsection=\relax
# Line 2545  width0pt\relax} \fi Line 2531  width0pt\relax} \fi
2531    \let\appendixsubsection=\relax    \let\appendixsubsection=\relax
2532    \let\appendixsubsubsec=\relax    \let\appendixsubsubsec=\relax
2533    \let\appendixsubsubsection=\relax    \let\appendixsubsubsection=\relax
2534      %\let\begin=\relax
2535      %\let\bye=\relax
2536      \let\centerchap=\relax
2537      \let\chapter=\relax
2538    \let\contents=\relax    \let\contents=\relax
2539      \let\section=\relax
2540    \let\smallbook=\relax    \let\smallbook=\relax
2541      \let\subsec=\relax
2542      \let\subsection=\relax
2543      \let\subsubsec=\relax
2544      \let\subsubsection=\relax
2545    \let\titlepage=\relax    \let\titlepage=\relax
2546  }    \let\top=\relax
2547      \let\unnumbered=\relax
2548  % Used in nested conditionals, where we have to parse the Texinfo source    \let\unnumberedsec=\relax
2549  % and so want to turn off most commands, in case they are used    \let\unnumberedsection=\relax
2550  % incorrectly.    \let\unnumberedsubsec=\relax
2551  %    \let\unnumberedsubsection=\relax
2552  % We use \empty instead of \relax for the @def... commands, so that \end    \let\unnumberedsubsubsec=\relax
2553  % doesn't throw an error.  For instance:    \let\unnumberedsubsubsection=\relax
 % @ignore  
 % @deffn ...  
 % @end deffn  
 % @end ignore  
 %  
 % The @end deffn is going to get expanded, because we're trying to allow  
 % nested conditionals.  But we don't want to expand the actual @deffn,  
 % since it might be syntactically correct and intended to be ignored.  
 % Since \end checks for \relax, using \empty does not cause an error.  
 %  
 \def\ignoremorecommands{%  
   \let\defcodeindex = \relax  
   \let\defcv = \empty  
   \let\defcvx = \empty  
   \let\Edefcv = \empty  
   \let\deffn = \empty  
   \let\deffnx = \empty  
   \let\Edeffn = \empty  
   \let\defindex = \relax  
   \let\defivar = \empty  
   \let\defivarx = \empty  
   \let\Edefivar = \empty  
   \let\defmac = \empty  
   \let\defmacx = \empty  
   \let\Edefmac = \empty  
   \let\defmethod = \empty  
   \let\defmethodx = \empty  
   \let\Edefmethod = \empty  
   \let\defop = \empty  
   \let\defopx = \empty  
   \let\Edefop = \empty  
   \let\defopt = \empty  
   \let\defoptx = \empty  
   \let\Edefopt = \empty  
   \let\defspec = \empty  
   \let\defspecx = \empty  
   \let\Edefspec = \empty  
   \let\deftp = \empty  
   \let\deftpx = \empty  
   \let\Edeftp = \empty  
   \let\deftypefn = \empty  
   \let\deftypefnx = \empty  
   \let\Edeftypefn = \empty  
   \let\deftypefun = \empty  
   \let\deftypefunx = \empty  
   \let\Edeftypefun = \empty  
   \let\deftypeivar = \empty  
   \let\deftypeivarx = \empty  
   \let\Edeftypeivar = \empty  
   \let\deftypemethod = \empty  
   \let\deftypemethodx = \empty  
   \let\Edeftypemethod = \empty  
   \let\deftypeop = \empty  
   \let\deftypeopx = \empty  
   \let\Edeftypeop = \empty  
   \let\deftypevar = \empty  
   \let\deftypevarx = \empty  
   \let\Edeftypevar = \empty  
   \let\deftypevr = \empty  
   \let\deftypevrx = \empty  
   \let\Edeftypevr = \empty  
   \let\defun = \empty  
   \let\defunx = \empty  
   \let\Edefun = \empty  
   \let\defvar = \empty  
   \let\defvarx = \empty  
   \let\Edefvar = \empty  
   \let\defvr = \empty  
   \let\defvrx = \empty  
   \let\Edefvr = \empty  
   \let\clear = \relax  
   \let\down = \relax  
   \let\evenfooting = \relax  
   \let\evenheading = \relax  
   \let\everyfooting = \relax  
   \let\everyheading = \relax  
   \let\headings = \relax  
   \let\include = \relax  
   \let\item = \relax  
   \let\lowersections = \relax  
   \let\oddfooting = \relax  
   \let\oddheading = \relax  
   \let\printindex = \relax  
   \let\pxref = \relax  
   \let\raisesections = \relax  
   \let\ref = \relax  
   \let\set = \relax  
   \let\setchapternewpage = \relax  
   \let\setchapterstyle = \relax  
   \let\settitle = \relax  
   \let\up = \relax  
   \let\verbatiminclude = \relax  
   \let\xref = \relax  
2554  }  }
2555    
2556  % Ignore @ignore, @ifhtml, @ifinfo, and the like.  % Ignore @ignore, @ifhtml, @ifinfo, and the like.
# Line 2670  width0pt\relax} \fi Line 2572  width0pt\relax} \fi
2572  % which this file should belong to.  Ignore this in TeX.  % which this file should belong to.  Ignore this in TeX.
2573  \let\dircategory = \comment  \let\dircategory = \comment
2574    
2575  % Ignore text until a line `@end #1'.  % Ignore text until a line `@end #1', keeping track of nested conditionals.
2576  %  %
2577    % A count to remember the depth of nesting.
2578    \newcount\doignorecount  \doignorecount = 0
2579    
2580  \def\doignore#1{\begingroup  \def\doignore#1{\begingroup
2581    % Don't complain about control sequences we have declared \outer.    % Don't complain about control sequences we have declared \outer.
2582    \ignoresections    \ignoresections
2583    %    %
   % Define a command to swallow text until we reach `@end #1'.  
   % This @ is a catcode 12 token (that is the normal catcode of @ in  
   % this texinfo.tex file).  We change the catcode of @ below to match.  
   \long\def\doignoretext##1@end #1{\enddoignore}%  
   %  
2584    % Make sure that spaces turn into tokens that match what \doignoretext wants.    % Make sure that spaces turn into tokens that match what \doignoretext wants.
2585    \catcode\spaceChar = 10    \catcode\spaceChar = 10
2586    %    %
2587    % Ignore braces, too, so mismatched braces don't cause trouble.    % Ignore braces, so mismatched braces don't cause trouble.
2588    \catcode`\{ = 9    \catcode`\{ = 9
2589    \catcode`\} = 9    \catcode`\} = 9
2590    %    %
2591    % We must not have @c interpreted as a control sequence.    % Count number of #1's that we've seen.
2592    \catcode`\@ = 12    \doignorecount = 0
2593    %    %
2594    \def\ignoreword{#1}%    % Swallow text until we reach the matching `@end #1'.
2595    \ifx\ignoreword\documentdescriptionword    \expandafter \dodoignore \csname#1\endcsname {#1}%
     % The c kludge breaks documentdescription, since  
     % `documentdescription' contains a `c'.  Means not everything will  
     % be ignored inside @documentdescription, but oh well...  
   \else  
     % Make the letter c a comment character so that the rest of the line  
     % will be ignored. This way, the document can have (for example)  
     %   @c @end ifinfo  
     % and the @end ifinfo will be properly ignored.  
     % (We've just changed @ to catcode 12.)  
     \catcode`\c = 14  
   \fi  
   %  
   % And now expand the command defined above.  
   \doignoretext  
 }  
   
 % What we do to finish off ignored text.  
 %  
 \def\enddoignore{\endgroup\ignorespaces}%  
   
 \newif\ifwarnedobs\warnedobsfalse  
 \def\obstexwarn{%  
   \ifwarnedobs\relax\else  
   % We need to warn folks that they may have trouble with TeX 3.0.  
   % This uses \immediate\write16 rather than \message to get newlines.  
     \immediate\write16{}  
     \immediate\write16{WARNING: for users of Unix TeX 3.0!}  
     \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}  
     \immediate\write16{If you are running another version of TeX, relax.}  
     \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}  
     \immediate\write16{  Then upgrade your TeX installation if you can.}  
     \immediate\write16{  (See ftp://ftp.gnu.org/non-gnu/TeX.README.)}  
     \immediate\write16{If you are stuck with version 3.0, run the}  
     \immediate\write16{  script ``tex3patch'' from the Texinfo distribution}  
     \immediate\write16{  to use a workaround.}  
     \immediate\write16{}  
     \global\warnedobstrue  
     \fi  
2596  }  }
2597    
2598  % **In TeX 3.0, setting text in \nullfont hangs tex.  For a  { \catcode`@=11 % We want to use \ST@P which cannot appear in texinfo source.
2599  % workaround (which requires the file ``dummy.tfm'' to be installed),    \obeylines %
2600  % uncomment the following line:    %
2601  %%%%%\font\nullfont=dummy\let\obstexwarn=\relax    \gdef\dodoignore#1#2{%
2602        % #1 contains, e.g., \ifinfo, a.k.a. @ifinfo.
2603  % Ignore text, except that we keep track of conditional commands for      % #2 contains the string `ifinfo'.
 % purposes of nesting, up to an `@end #1' command.  
 %  
 \def\nestedignore#1{%  
   \obstexwarn  
   % 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 chance of memory overflow, we follow the approach outlined on  
   % page 401 of the TeXbook.  
   %  
   \setbox0 = \vbox\bgroup  
     % Don't complain about control sequences we have declared \outer.  
     \ignoresections  
     %  
     % Define `@end #1' to end the box, which will in turn undefine the  
     % @end command again.  
     \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%  
     %  
     % We are going to be parsing Texinfo commands.  Most cause no  
     % trouble when they are used incorrectly, but some commands do  
     % complicated argument parsing or otherwise get confused, so we  
     % undefine them.  
     %  
     % We can't do anything about stray @-signs, unfortunately;  
     % they'll produce `undefined control sequence' errors.  
     \ignoremorecommands  
     %  
     % Set the current font to be \nullfont, a TeX primitive, and define  
     % all the font commands to also use \nullfont.  We don't use  
     % dummy.tfm, as suggested in the TeXbook, because some sites  
     % might not have that installed.  Therefore, math mode will still  
     % produce output, but that should be an extremely small amount of  
     % stuff compared to the main input.  
     %  
     \nullfont  
     \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont  
     \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont  
     \let\tensf=\nullfont  
     % Similarly for index fonts.  
     \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont  
     \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont  
     \let\smallsf=\nullfont  
     % Similarly for smallexample fonts.  
     \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont  
     \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont  
     \let\smallersf=\nullfont  
     %  
     % Don't complain when characters are missing from the fonts.  
     \tracinglostchars = 0  
     %  
     % Don't bother to do space factor calculations.  
     \frenchspacing  
     %  
     % Don't report underfull hboxes.  
     \hbadness = 10000  
2604      %      %
2605      % Do minimal line-breaking.      % Define a command to find the next `@end #2', which must be on a line
2606      \pretolerance = 10000      % by itself.
2607        \long\def\doignoretext##1^^M\end #2{\doignoretextyyy##1^^M#1\ST@P}%
2608        % And this command to find another #1 command, at the beginning of a
2609        % line.  (Otherwise, we would consider a line `@c @ifset', for
2610        % example, to count as an @ifset for nesting.)
2611        \long\def\doignoretextyyy##1^^M#1##2\ST@P{\doignoreyyy{##2}\ST@P}%
2612      %      %
2613      % Do not execute instructions in @tex.      % And now expand that command.
2614      \def\tex{\doignore{tex}}%      \obeylines %
2615      % Do not execute macro definitions.      \doignoretext ^^M%
2616      % `c' is a comment character, so the word `macro' will get cut off.    }%
2617      \def\macro{\doignore{ma}}%  }
2618    
2619    \def\doignoreyyy#1{%
2620      \def\temp{#1}%
2621      \ifx\temp\empty                       % Nothing found.
2622        \let\next\doignoretextzzz
2623      \else                                 % Found a nested condition, ...
2624        \advance\doignorecount by 1
2625        \let\next\doignoretextyyy           % ..., look for another.
2626        % If we're here, #1 ends with \ifinfo (for example).
2627      \fi
2628      \next #1% the token \ST@P is present just after this macro.
2629    }
2630    
2631    % We have to swallow the remaining "\ST@P".
2632    %
2633    \def\doignoretextzzz#1{%
2634      \ifnum\doignorecount = 0      % We have just found the outermost @end.
2635        \let\next\enddoignore
2636      \else                         % Still inside a nested condition.
2637        \advance\doignorecount by -1
2638        \let\next\doignoretext      % Look for the next @end.
2639      \fi
2640      \next
2641  }  }
2642    
2643    % Finish off ignored text.
2644    \def\enddoignore{\endgroup\ignorespaces}
2645    
2646    
2647  % @set VAR sets the variable VAR to an empty value.  % @set VAR sets the variable VAR to an empty value.
2648  % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.  % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
2649  %  %
# Line 2881  width0pt\relax} \fi Line 2720  width0pt\relax} \fi
2720    \next    \next
2721  }  }
2722  \def\ifsetsucceed{\conditionalsucceed{ifset}}  \def\ifsetsucceed{\conditionalsucceed{ifset}}
2723  \def\ifsetfail{\nestedignore{ifset}}  \def\ifsetfail{\doignore{ifset}}
2724  \defineunmatchedend{ifset}  \defineunmatchedend{ifset}
2725    
2726  % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been  % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
# Line 2897  width0pt\relax} \fi Line 2736  width0pt\relax} \fi
2736    \next    \next
2737  }  }
2738  \def\ifclearsucceed{\conditionalsucceed{ifclear}}  \def\ifclearsucceed{\conditionalsucceed{ifclear}}
2739  \def\ifclearfail{\nestedignore{ifclear}}  \def\ifclearfail{\doignore{ifclear}}
2740  \defineunmatchedend{ifclear}  \defineunmatchedend{ifclear}
2741    
2742  % @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we  % @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we
# Line 4023  width0pt\relax} \fi Line 3862  width0pt\relax} \fi
3862  %          if justification is not attempted.  Hence \raggedright.  %          if justification is not attempted.  Hence \raggedright.
3863    
3864    
3865  \def\majorheading{\parsearg\majorheadingzzz}  \def\majorheading{%
 \def\majorheadingzzz #1{%  
3866    {\advance\chapheadingskip by 10pt \chapbreak }%    {\advance\chapheadingskip by 10pt \chapbreak }%
3867    {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000    \parsearg\chapheadingzzz
3868                      \parindent=0pt\raggedright  }
                     \rm #1\hfill}}\bigskip \par\penalty 200}  
3869    
3870  \def\chapheading{\parsearg\chapheadingzzz}  \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
3871  \def\chapheadingzzz #1{\chapbreak %  \def\chapheadingzzz #1{%
3872    {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000    {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
3873                      \parindent=0pt\raggedright                      \parindent=0pt\raggedright
3874                      \rm #1\hfill}}\bigskip \par\penalty 200}                      \rm #1\hfill}}%
3875      \bigskip \par\penalty 200\relax
3876      \suppressfirstparagraphindent
3877    }
3878    
3879  % @heading, @subheading, @subsubheading.  % @heading, @subheading, @subsubheading.
3880  \def\heading{\parsearg\plainsecheading}  \def\heading{\parsearg\doheading}
3881  \def\subheading{\parsearg\plainsubsecheading}  \def\subheading{\parsearg\dosubheading}
3882  \def\subsubheading{\parsearg\plainsubsubsecheading}  \def\subsubheading{\parsearg\dosubsubheading}
3883    \def\doheading#1{\plainsecheading{#1}\suppressfirstparagraphindent}
3884    \def\dosubheading#1{\plainsubsecheading{#1}\suppressfirstparagraphindent}
3885    \def\dosubsubheading#1{\plainsubsubsecheading{#1}\suppressfirstparagraphindent}
3886    
3887  % These macros generate a chapter, section, etc. heading only  % These macros generate a chapter, section, etc. heading only
3888  % (including whitespace, linebreaking, etc. around it),  % (including whitespace, linebreaking, etc. around it),
# Line 6177  width0pt\relax} \fi Line 6020  width0pt\relax} \fi
6020      \closein 1      \closein 1
6021      \input \jobname.aux      \input \jobname.aux
6022      \global\havexrefstrue      \global\havexrefstrue
     \global\warnedobstrue  
6023    \fi    \fi
6024    % Open the new aux file.  TeX will close it automatically at exit.    % Open the new aux file.  TeX will close it automatically at exit.
6025    \openout\auxfile=\jobname.aux    \openout\auxfile=\jobname.aux

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26