/[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.6 by akim, Fri Apr 5 13:39:58 2002 UTC revision 1.7 by eggert, Wed Jun 5 20:55:06 2002 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{2002-03-26.08}  \def\texinfoversion{2002-06-04.06}
7  %  %
8  % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,  % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
9  %               2000, 01, 02 Free Software Foundation, Inc.  %               2000, 01, 02 Free Software Foundation, Inc.
# Line 4730  width0pt\relax} \fi Line 4730  width0pt\relax} \fi
4730  {\df #1}\enskip        % Generate function name  {\df #1}\enskip        % Generate function name
4731  }  }
4732    
4733  % Actually process the body of a definition  % Common pieces to start any @def...
 % #1 should be the terminating control sequence, such as \Edefun.  
 % #2 should be the "another name" control sequence, such as \defunx.  
 % #3 should be the control sequence that actually processes the header,  
 %    such as \defunheader.  
   
 \def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody  
 \medbreak %  
 % Define the end token that this defining construct specifies  
 % so that it will exit this group.  
 \def#1{\endgraf\endgroup\medbreak}%  
 \def#2{\begingroup\obeylines\activeparens\spacesplit#3}%  
 \parindent=0in  
 \advance\leftskip by \defbodyindent  
 \exdentamount=\defbodyindent  
 \begingroup %  
 \catcode 61=\active % 61 is `='  
 \obeylines\activeparens\spacesplit#3}  
   
4734  % #1 is the \E... control sequence to end the definition (which we define).  % #1 is the \E... control sequence to end the definition (which we define).
4735  % #2 is the \...x control sequence for consecutive fns (which we define).  % #2 is the \...x control sequence (which our caller defines).
4736  % #3 is the control sequence to call to resume processing.  % #3 is the control sequence to process the header, such as \defunheader.
4737    %
4738    \def\parsebodycommon#1#2#3{%
4739      \begingroup\inENV
4740      % If there are two @def commands in a row, we'll have a \nobreak,
4741      % which is there to keep the function description together with its
4742      % header.  But if there's nothing but headers, we want to allow a
4743      % break after all.
4744      \ifnum\lastpenalty = 10000 \penalty0 \fi
4745      \medbreak
4746      %
4747      % Define the \E... end token that this defining construct specifies
4748      % so that it will exit this group.
4749      \def#1{\endgraf\endgroup\medbreak}%
4750      %
4751      \parindent=0in
4752      \advance\leftskip by \defbodyindent
4753      \exdentamount=\defbodyindent
4754    }
4755    
4756    % Process body of @defun, @deffn, @defmac, etc.
4757    %
4758    \def\defparsebody#1#2#3{%
4759      \parsebodycommon{#1}{#2}{#3}%
4760      \def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
4761      \catcode61=\active % 61 is `='
4762      \begingroup\obeylines\activeparens
4763      \spacesplit#3%
4764    }
4765    
4766    % #1, #2, #3 are the common arguments (see \defparsebody).
4767  % #4, delimited by the space, is the class name.  % #4, delimited by the space, is the class name.
4768  %  %
4769  \def\defmethparsebody#1#2#3#4 {\begingroup\inENV %  \def\defmethparsebody#1#2#3#4 {%
4770  \medbreak %    \parsebodycommon{#1}{#2}{#3}%
4771  % Define the end token that this defining construct specifies    \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
4772  % so that it will exit this group.    \begingroup\obeylines\activeparens
4773  \def#1{\endgraf\endgroup\medbreak}%    \spacesplit{#3{#4}}%
4774  \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%  }
 \parindent=0in  
 \advance\leftskip by \defbodyindent  
 \exdentamount=\defbodyindent  
 \begingroup\obeylines\activeparens\spacesplit{#3{#4}}}  
4775    
4776  % Used for @deftypemethod and @deftypeivar.  % Used for @deftypemethod and @deftypeivar.
4777  % #1 is the \E... control sequence to end the definition (which we define).  % #1, #2, #3 are the common arguments (see \defparsebody).
 % #2 is the \...x control sequence for consecutive fns (which we define).  
 % #3 is the control sequence to call to resume processing.  
4778  % #4, delimited by a space, is the class name.  % #4, delimited by a space, is the class name.
4779  % #5 is the method's return type.  % #5 is the method's return type.
4780  %  %
4781  \def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV  \def\deftypemethparsebody#1#2#3#4 #5 {%
4782    \medbreak    \parsebodycommon{#1}{#2}{#3}%
   \def#1{\endgraf\endgroup\medbreak}%  
4783    \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%    \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
4784    \parindent=0in    \begingroup\obeylines\activeparens
4785    \advance\leftskip by \defbodyindent    \spacesplit{#3{#4}{#5}}%
4786    \exdentamount=\defbodyindent  }
   \begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}  
4787    
4788  % Used for @deftypeop.  The change from \deftypemethparsebody is an  % Used for @deftypeop.  The change from \deftypemethparsebody is an
4789  % extra argument at the beginning which is the `category', instead of it  % extra argument at the beginning which is the `category', instead of it
# Line 4788  width0pt\relax} \fi Line 4792  width0pt\relax} \fi
4792  % input at hand.  Thus also need a control sequence (passed as #5) for  % input at hand.  Thus also need a control sequence (passed as #5) for
4793  % the \E... definition to assign the category name to.  % the \E... definition to assign the category name to.
4794  %  %
4795  \def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV  \def\deftypeopparsebody#1#2#3#4#5 #6 {%
4796    \medbreak    \parsebodycommon{#1}{#2}{#3}%
   \def#1{\endgraf\endgroup\medbreak}%  
4797    \def#2##1 ##2 ##3 {%    \def#2##1 ##2 ##3 {%
4798      \def#4{##1}%      \def#4{##1}%
4799      \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%      \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
4800    \parindent=0in    \begingroup\obeylines\activeparens
4801    \advance\leftskip by \defbodyindent    \spacesplit{#3{#5}{#6}}%
4802    \exdentamount=\defbodyindent  }
   \begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}}  
4803    
4804  \def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %  % For @defop.
4805  \medbreak %  \def\defopparsebody #1#2#3#4#5 {%
4806  % Define the end token that this defining construct specifies    \parsebodycommon{#1}{#2}{#3}%
4807  % so that it will exit this group.    \def#2##1 ##2 {\def#4{##1}%
4808  \def#1{\endgraf\endgroup\medbreak}%      \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
4809  \def#2##1 ##2 {\def#4{##1}%    \begingroup\obeylines\activeparens
4810  \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%    \spacesplit{#3{#5}}%
4811  \parindent=0in  }
 \advance\leftskip by \defbodyindent  
 \exdentamount=\defbodyindent  
 \begingroup\obeylines\activeparens\spacesplit{#3{#5}}}  
4812    
4813  % These parsing functions are similar to the preceding ones  % These parsing functions are similar to the preceding ones
4814  % except that they do not make parens into active characters.  % except that they do not make parens into active characters.
4815  % These are used for "variables" since they have no arguments.  % These are used for "variables" since they have no arguments.
   
 \def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody  
 \medbreak %  
 % Define the end token that this defining construct specifies  
 % so that it will exit this group.  
 \def#1{\endgraf\endgroup\medbreak}%  
 \def#2{\begingroup\obeylines\spacesplit#3}%  
 \parindent=0in  
 \advance\leftskip by \defbodyindent  
 \exdentamount=\defbodyindent  
 \begingroup %  
 \catcode 61=\active %  
 \obeylines\spacesplit#3}  
   
 % This is used for \def{tp,vr}parsebody.  It could probably be used for  
 % some of the others, too, with some judicious conditionals.  
4816  %  %
4817  \def\parsebodycommon#1#2#3{%  \def\defvarparsebody #1#2#3{%
4818    \begingroup\inENV %    \parsebodycommon{#1}{#2}{#3}%
4819    \medbreak %    \def#2{\begingroup\obeylines\spacesplit#3}%
4820    % Define the end token that this defining construct specifies    \catcode61=\active %
4821    % so that it will exit this group.    \begingroup\obeylines
4822    \def#1{\endgraf\endgroup\medbreak}%    \spacesplit#3%
4823    \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%  }
4824    \parindent=0in  
4825    \advance\leftskip by \defbodyindent  % @defopvar.
4826    \exdentamount=\defbodyindent  \def\defopvarparsebody #1#2#3#4#5 {%
4827      \parsebodycommon{#1}{#2}{#3}%
4828      \def#2##1 ##2 {\def#4{##1}%
4829        \begingroup\obeylines\spacesplit{#3{##2}}}%
4830    \begingroup\obeylines    \begingroup\obeylines
4831      \spacesplit{#3{#5}}%
4832  }  }
4833    
4834  \def\defvrparsebody#1#2#3#4 {%  \def\defvrparsebody#1#2#3#4 {%
4835    \parsebodycommon{#1}{#2}{#3}%    \parsebodycommon{#1}{#2}{#3}%
4836      \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
4837      \begingroup\obeylines
4838    \spacesplit{#3{#4}}%    \spacesplit{#3{#4}}%
4839  }  }
4840    
# Line 4860  width0pt\relax} \fi Line 4849  width0pt\relax} \fi
4849  %  %
4850  \def\deftpparsebody #1#2#3#4 {%  \def\deftpparsebody #1#2#3#4 {%
4851    \parsebodycommon{#1}{#2}{#3}%    \parsebodycommon{#1}{#2}{#3}%
4852      \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
4853      \begingroup\obeylines
4854    \spacesplit{\parsetpheaderline{#3{#4}}}\empty    \spacesplit{\parsetpheaderline{#3{#4}}}\empty
4855  }  }
4856    
# Line 4876  width0pt\relax} \fi Line 4867  width0pt\relax} \fi
4867    #1{\removeemptybraces#2\relax}{#3}%    #1{\removeemptybraces#2\relax}{#3}%
4868  }%  }%
4869    
 \def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %  
 \medbreak %  
 % Define the end token that this defining construct specifies  
 % so that it will exit this group.  
 \def#1{\endgraf\endgroup\medbreak}%  
 \def#2##1 ##2 {\def#4{##1}%  
 \begingroup\obeylines\spacesplit{#3{##2}}}%  
 \parindent=0in  
 \advance\leftskip by \defbodyindent  
 \exdentamount=\defbodyindent  
 \begingroup\obeylines\spacesplit{#3{#5}}}  
   
4870  % Split up #2 at the first space token.  % Split up #2 at the first space token.
4871  % call #1 with two arguments:  % call #1 with two arguments:
4872  %  the first is all of #2 before the space token,  %  the first is all of #2 before the space token,
4873  %  the second is all of #2 after that space token.  %  the second is all of #2 after that space token.
4874  % If #2 contains no space token, all of it is passed as the first arg  % If #2 contains no space token, all of it is passed as the first arg
4875  % and the second is passed as empty.  % and the second is passed as empty.
4876    %
4877  {\obeylines  {\obeylines
4878  \gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%  \gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
4879  \long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%  \long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
4880  \ifx\relax #3%  \ifx\relax #3%
4881  #1{#2}{}\else #1{#2}{#3#4}\fi}}  #1{#2}{}\else #1{#2}{#3#4}\fi}}
4882    
 % So much for the things common to all kinds of definitions.  
   
4883  % Define @defun.  % Define @defun.
4884    
4885  % First, define the processing that is wanted for arguments of \defun  % First, define the processing that is wanted for arguments of \defun

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

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