mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 21:10:07 +00:00
Update from upstream version.
This commit is contained in:
parent
467cc99edc
commit
366d6851b1
@ -3,9 +3,9 @@
|
|||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{2000-05-28.15}
|
\def\texinfoversion{2000-12-11.07}
|
||||||
%
|
%
|
||||||
% 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, 2000
|
||||||
% Free Software Foundation, Inc.
|
% Free Software Foundation, Inc.
|
||||||
%
|
%
|
||||||
% This texinfo.tex file is free software; you can redistribute it and/or
|
% This texinfo.tex file is free software; you can redistribute it and/or
|
||||||
@ -688,16 +688,54 @@ where each line of input produces a line of output.}
|
|||||||
\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
|
\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
|
||||||
\leftline{\hskip\leftskip{\rm#1}}}}
|
\leftline{\hskip\leftskip{\rm#1}}}}
|
||||||
|
|
||||||
% @inmargin{TEXT} puts TEXT in the margin next to the current paragraph.
|
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
|
||||||
|
% paragraph. For more general purposes, use the \margin insertion
|
||||||
\def\inmargin#1{%
|
% class. WHICH is `l' or `r'.
|
||||||
\strut\vadjust{\nobreak\kern-\strutdepth
|
%
|
||||||
\vtop to \strutdepth{\baselineskip\strutdepth\vss
|
|
||||||
\llap{\rightskip=\inmarginspacing \vbox{\noindent #1}}\null}}}
|
|
||||||
\newskip\inmarginspacing \inmarginspacing=1cm
|
\newskip\inmarginspacing \inmarginspacing=1cm
|
||||||
\def\strutdepth{\dp\strutbox}
|
\def\strutdepth{\dp\strutbox}
|
||||||
|
%
|
||||||
%\hbox{{\rm#1}}\hfil\break}}
|
\def\doinmargin#1#2{\strut\vadjust{%
|
||||||
|
\nobreak
|
||||||
|
\kern-\strutdepth
|
||||||
|
\vtop to \strutdepth{%
|
||||||
|
\baselineskip=\strutdepth
|
||||||
|
\vss
|
||||||
|
% if you have multiple lines of stuff to put here, you'll need to
|
||||||
|
% make the vbox yourself of the appropriate size.
|
||||||
|
\ifx#1l%
|
||||||
|
\llap{\ignorespaces #2\hskip\inmarginspacing}%
|
||||||
|
\else
|
||||||
|
\rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
|
||||||
|
\fi
|
||||||
|
\null
|
||||||
|
}%
|
||||||
|
}}
|
||||||
|
\def\inleftmargin{\doinmargin l}
|
||||||
|
\def\inrightmargin{\doinmargin r}
|
||||||
|
%
|
||||||
|
% @inmargin{TEXT [, RIGHT-TEXT]}
|
||||||
|
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
|
||||||
|
% else use TEXT for both).
|
||||||
|
%
|
||||||
|
\def\inmargin#1{\parseinmargin #1,,\finish}
|
||||||
|
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
|
||||||
|
\setbox0 = \hbox{\ignorespaces #2}%
|
||||||
|
\ifdim\wd0 > 0pt
|
||||||
|
\def\lefttext{#1}% have both texts
|
||||||
|
\def\righttext{#2}%
|
||||||
|
\else
|
||||||
|
\def\lefttext{#1}% have only one text
|
||||||
|
\def\righttext{#1}%
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
\ifodd\pageno
|
||||||
|
\def\temp{\inleftmargin\lefttext}%
|
||||||
|
\else
|
||||||
|
\def\temp{\inrightmargin\righttext}%
|
||||||
|
\fi
|
||||||
|
\temp
|
||||||
|
}
|
||||||
|
|
||||||
% @include file insert text of that file as input.
|
% @include file insert text of that file as input.
|
||||||
% Allow normal characters that we make active in the argument (a file name).
|
% Allow normal characters that we make active in the argument (a file name).
|
||||||
@ -2593,42 +2631,48 @@ width0pt\relax} \fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
% @defindex foo == \newindex{foo}
|
% @defindex foo == \newindex{foo}
|
||||||
|
%
|
||||||
\def\defindex{\parsearg\newindex}
|
\def\defindex{\parsearg\newindex}
|
||||||
|
|
||||||
% Define @defcodeindex, like @defindex except put all entries in @code.
|
% Define @defcodeindex, like @defindex except put all entries in @code.
|
||||||
|
%
|
||||||
|
\def\defcodeindex{\parsearg\newcodeindex}
|
||||||
|
%
|
||||||
\def\newcodeindex#1{%
|
\def\newcodeindex#1{%
|
||||||
\iflinks
|
\iflinks
|
||||||
\expandafter\newwrite \csname#1indfile\endcsname
|
\expandafter\newwrite \csname#1indfile\endcsname
|
||||||
\openout \csname#1indfile\endcsname \jobname.#1
|
\openout \csname#1indfile\endcsname \jobname.#1
|
||||||
\fi
|
\fi
|
||||||
\expandafter\xdef\csname#1index\endcsname{%
|
\expandafter\xdef\csname#1index\endcsname{%
|
||||||
\noexpand\docodeindex{#1}}
|
\noexpand\docodeindex{#1}}%
|
||||||
}
|
}
|
||||||
|
|
||||||
\def\defcodeindex{\parsearg\newcodeindex}
|
|
||||||
|
|
||||||
% @synindex foo bar makes index foo feed into index bar.
|
% @synindex foo bar makes index foo feed into index bar.
|
||||||
% Do this instead of @defindex foo if you don't want it as a separate index.
|
% Do this instead of @defindex foo if you don't want it as a separate index.
|
||||||
% The \closeout helps reduce unnecessary open files; the limit on the
|
%
|
||||||
% Acorn RISC OS is a mere 16 files.
|
|
||||||
\def\synindex#1 #2 {%
|
|
||||||
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
|
|
||||||
\expandafter\closeout\csname#1indfile\endcsname
|
|
||||||
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
|
|
||||||
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
|
|
||||||
\noexpand\doindex{#2}}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% @syncodeindex foo bar similar, but put all entries made for index foo
|
% @syncodeindex foo bar similar, but put all entries made for index foo
|
||||||
% inside @code.
|
% inside @code.
|
||||||
\def\syncodeindex#1 #2 {%
|
%
|
||||||
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
|
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
|
||||||
\expandafter\closeout\csname#1indfile\endcsname
|
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
|
||||||
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
|
|
||||||
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
|
% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
|
||||||
\noexpand\docodeindex{#2}}%
|
% #3 the target index (bar).
|
||||||
|
\def\dosynindex#1#2#3{%
|
||||||
|
% Only do \closeout if we haven't already done it, else we'll end up
|
||||||
|
% closing the target index.
|
||||||
|
\expandafter \ifx\csname donesynindex#2\endcsname \undefined
|
||||||
|
% The \closeout helps reduce unnecessary open files; the limit on the
|
||||||
|
% Acorn RISC OS is a mere 16 files.
|
||||||
|
\expandafter\closeout\csname#2indfile\endcsname
|
||||||
|
\expandafter\let\csname\donesynindex#2\endcsname = 1
|
||||||
|
\fi
|
||||||
|
% redefine \fooindfile:
|
||||||
|
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
|
||||||
|
\expandafter\let\csname#2indfile\endcsname=\temp
|
||||||
|
% redefine \fooindex:
|
||||||
|
\expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
|
||||||
}
|
}
|
||||||
|
|
||||||
% Define \doindex, the driver for all \fooindex macros.
|
% Define \doindex, the driver for all \fooindex macros.
|
||||||
@ -3155,7 +3199,6 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
% Double the \vsize as well. (We don't need a separate register here,
|
% Double the \vsize as well. (We don't need a separate register here,
|
||||||
% since nobody clobbers \vsize.)
|
% since nobody clobbers \vsize.)
|
||||||
\advance\vsize by -\ht\partialpage
|
|
||||||
\vsize = 2\vsize
|
\vsize = 2\vsize
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3169,6 +3212,7 @@ width0pt\relax} \fi
|
|||||||
% previous page.
|
% previous page.
|
||||||
\dimen@ = \vsize
|
\dimen@ = \vsize
|
||||||
\divide\dimen@ by 2
|
\divide\dimen@ by 2
|
||||||
|
\advance\dimen@ by -\ht\partialpage
|
||||||
%
|
%
|
||||||
% box0 will be the left-hand column, box2 the right.
|
% box0 will be the left-hand column, box2 the right.
|
||||||
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
|
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
|
||||||
@ -3176,15 +3220,18 @@ width0pt\relax} \fi
|
|||||||
\unvbox255
|
\unvbox255
|
||||||
\penalty\outputpenalty
|
\penalty\outputpenalty
|
||||||
}
|
}
|
||||||
\def\pagesofar{%
|
%
|
||||||
% Re-output the contents of the output page -- any previous material,
|
% Re-output the contents of the output page -- any previous material,
|
||||||
% followed by the two boxes we just split, in box0 and box2.
|
% followed by the two boxes we just split, in box0 and box2.
|
||||||
|
\def\pagesofar{%
|
||||||
\unvbox\partialpage
|
\unvbox\partialpage
|
||||||
%
|
%
|
||||||
\hsize = \doublecolumnhsize
|
\hsize = \doublecolumnhsize
|
||||||
\wd0=\hsize \wd2=\hsize
|
\wd0=\hsize \wd2=\hsize
|
||||||
\hbox to\pagewidth{\box0\hfil\box2}%
|
\hbox to\pagewidth{\box0\hfil\box2}%
|
||||||
}
|
}
|
||||||
|
%
|
||||||
|
% All done with double columns.
|
||||||
\def\enddoublecolumns{%
|
\def\enddoublecolumns{%
|
||||||
\output = {%
|
\output = {%
|
||||||
% Split the last of the double-column material. Leave it on the
|
% Split the last of the double-column material. Leave it on the
|
||||||
@ -3209,8 +3256,9 @@ width0pt\relax} \fi
|
|||||||
% \endgroup where \vsize got restored).
|
% \endgroup where \vsize got restored).
|
||||||
\pagegoal = \vsize
|
\pagegoal = \vsize
|
||||||
}
|
}
|
||||||
\def\balancecolumns{%
|
%
|
||||||
% Called at the end of the double column material.
|
% Called at the end of the double column material.
|
||||||
|
\def\balancecolumns{%
|
||||||
\setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
|
\setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
|
||||||
\dimen@ = \ht0
|
\dimen@ = \ht0
|
||||||
\advance\dimen@ by \topskip
|
\advance\dimen@ by \topskip
|
||||||
@ -4271,6 +4319,7 @@ width0pt\relax} \fi
|
|||||||
\gobble
|
\gobble
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
|
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
|
||||||
% and narrows the margins.
|
% and narrows the margins.
|
||||||
%
|
%
|
||||||
@ -4293,6 +4342,158 @@ width0pt\relax} \fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
|
||||||
|
% If we want to allow any <char> as delimiter,
|
||||||
|
% we need the curly braces so that makeinfo sees the @verb command, eg:
|
||||||
|
% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
|
||||||
|
%
|
||||||
|
% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook.
|
||||||
|
%
|
||||||
|
% [Knuth] p. 344; only we need to do '@' too
|
||||||
|
\def\dospecials{%
|
||||||
|
\do\ \do\\\do\@\do\{\do\}\do\$\do\&%
|
||||||
|
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
|
||||||
|
%
|
||||||
|
% [Knuth] p. 380
|
||||||
|
\def\uncatcodespecials{%
|
||||||
|
\def\do##1{\catcode`##1=12}\dospecials}
|
||||||
|
%
|
||||||
|
% [Knuth] pp. 380,381,391
|
||||||
|
% Disable Spanish ligatures ?` and !` of \tt font
|
||||||
|
\begingroup
|
||||||
|
\catcode`\`=\active\gdef`{\relax\lq}
|
||||||
|
\endgroup
|
||||||
|
%
|
||||||
|
% Setup for the @verb command.
|
||||||
|
%
|
||||||
|
% Eight spaces for a tab
|
||||||
|
\begingroup
|
||||||
|
\catcode`\^^I=\active
|
||||||
|
\gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
|
||||||
|
\endgroup
|
||||||
|
%
|
||||||
|
\def\setupverb{%
|
||||||
|
\tt % easiest (and conventionally used) font for verbatim
|
||||||
|
\def\par{\leavevmode\endgraf}%
|
||||||
|
\catcode`\`=\active
|
||||||
|
\tabeightspaces
|
||||||
|
% Respect line breaks,
|
||||||
|
% print special symbols as themselves, and
|
||||||
|
% make each space count
|
||||||
|
% must do in this order:
|
||||||
|
\obeylines \uncatcodespecials \sepspaces
|
||||||
|
}
|
||||||
|
|
||||||
|
% Setup for the @verbatim environment
|
||||||
|
%
|
||||||
|
% Real tab expansion
|
||||||
|
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
|
||||||
|
%
|
||||||
|
\def\starttabbox{\setbox0=\hbox\bgroup}
|
||||||
|
\begingroup
|
||||||
|
\catcode`\^^I=\active
|
||||||
|
\gdef\tabexpand{%
|
||||||
|
\catcode`\^^I=\active
|
||||||
|
\def^^I{\leavevmode\egroup
|
||||||
|
\dimen0=\wd0 % the width so far, or since the previous tab
|
||||||
|
\divide\dimen0 by\tabw
|
||||||
|
\multiply\dimen0 by\tabw % compute previous multiple of \tabw
|
||||||
|
\advance\dimen0 by\tabw % advance to next multiple of \tabw
|
||||||
|
\wd0=\dimen0 \box0 \starttabbox
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
\endgroup
|
||||||
|
\def\setupverbatim{%
|
||||||
|
% Easiest (and conventionally used) font for verbatim
|
||||||
|
\tt
|
||||||
|
\def\par{\leavevmode\egroup\box0\endgraf}%
|
||||||
|
\catcode`\`=\active
|
||||||
|
\tabexpand
|
||||||
|
% Respect line breaks,
|
||||||
|
% print special symbols as themselves, and
|
||||||
|
% make each space count
|
||||||
|
% must do in this order:
|
||||||
|
\obeylines \uncatcodespecials \sepspaces
|
||||||
|
\everypar{\starttabbox}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Do the @verb magic: verbatim text is quoted by unique
|
||||||
|
% delimiter characters. Before first delimiter expect a
|
||||||
|
% right brace, after last delimiter expect closing brace:
|
||||||
|
%
|
||||||
|
% \def\doverb'{'<char>#1<char>'}'{#1}
|
||||||
|
%
|
||||||
|
% [Knuth] p. 382; only eat outer {}
|
||||||
|
\begingroup
|
||||||
|
\catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
|
||||||
|
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
|
||||||
|
\endgroup
|
||||||
|
%
|
||||||
|
\def\verb{\begingroup\setupverb\doverb}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Do the @verbatim magic: define the macro \doverbatim so that
|
||||||
|
% the (first) argument ends when '@end verbatim' is reached, ie:
|
||||||
|
%
|
||||||
|
% \def\doverbatim#1@end verbatim{#1}
|
||||||
|
%
|
||||||
|
% 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 '}'
|
||||||
|
%
|
||||||
|
% Inspired by LaTeX's verbatim command set [latex.ltx]
|
||||||
|
%% Include LaTeX hack for completeness -- never know
|
||||||
|
%% \begingroup
|
||||||
|
%% \catcode`|=0 \catcode`[=1
|
||||||
|
%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
|
||||||
|
%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
|
||||||
|
%% #1|endgroup|def|Everbatim[]|end[verbatim]]
|
||||||
|
%% |endgroup
|
||||||
|
\begingroup
|
||||||
|
\catcode`\ =\active
|
||||||
|
\gdef\doverbatim#1@end verbatim{#1\end{verbatim}}
|
||||||
|
\endgroup
|
||||||
|
%
|
||||||
|
\def\verbatim{%
|
||||||
|
\def\Everbatim{\nonfillfinish\endgroup}%
|
||||||
|
\begingroup
|
||||||
|
\nonfillstart
|
||||||
|
\advance\leftskip by -\defbodyindent
|
||||||
|
\begingroup\setupverbatim\doverbatim
|
||||||
|
}
|
||||||
|
|
||||||
|
% @verbatiminclude FILE - insert text of file in verbatim environment.
|
||||||
|
%
|
||||||
|
% Allow normal characters that we make active in the argument (a file name).
|
||||||
|
\def\verbatiminclude{%
|
||||||
|
\begingroup
|
||||||
|
\catcode`\\=12
|
||||||
|
\catcode`~=12
|
||||||
|
\catcode`^=12
|
||||||
|
\catcode`_=12
|
||||||
|
\catcode`|=12
|
||||||
|
\catcode`<=12
|
||||||
|
\catcode`>=12
|
||||||
|
\catcode`+=12
|
||||||
|
\parsearg\doverbatiminclude
|
||||||
|
}
|
||||||
|
\def\setupverbatiminclude{%
|
||||||
|
\begingroup
|
||||||
|
\nonfillstart
|
||||||
|
\advance\leftskip by -\defbodyindent
|
||||||
|
\begingroup\setupverbatim
|
||||||
|
}
|
||||||
|
%
|
||||||
|
\def\doverbatiminclude#1{%
|
||||||
|
% Restore active chars for included file.
|
||||||
|
\endgroup
|
||||||
|
\begingroup
|
||||||
|
\def\thisfile{#1}%
|
||||||
|
\expandafter\expandafter\setupverbatiminclude\input\thisfile
|
||||||
|
\endgroup\nonfillfinish\endgroup
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
\message{defuns,}
|
\message{defuns,}
|
||||||
% @defun etc.
|
% @defun etc.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user