[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gsrc-commit] trunk r8781: root some X
From: |
Carl Hansen |
Subject: |
[Gsrc-commit] trunk r8781: root some X |
Date: |
Sun, 13 Nov 2022 19:00:54 -0500 (EST) |
User-agent: |
Bazaar (2.7.0dev1) |
------------------------------------------------------------
revno: 8781
revision-id: carlhansen1234@gmail.com-20221114000047-pjv8ma7y0ubhun9i
parent: carlhansen1234@gmail.com-20221113234523-ckvxd652crad1hpv
committer: carlhansen1234@gmail.com
branch nick: trunk
timestamp: Sun 2022-11-13 16:00:47 -0800
message:
root some X
modified:
doc/texinfo.tex texinfo.tex-20210501180820-1twq5wdsrp9yr9h7-1
doc/version.texi version.texi-20160617183752-q0c4b06v8yopjsxf-1
pkg/gnualpha/gcc12snapshot/Makefile makefile-20210427033705-fj19fk40drjylrep-3
pkg/gnualpha/gcc12snapshot/sha256sums
sha256sums-20210427033705-fj19fk40drjylrep-4
pkg/other/root/Makefile makefile-20161025063657-4wx3eeqz615u34a7-3
pkg/other/root/sha256sums sha256sums-20161025063657-4wx3eeqz615u34a7-4
pkg/xorg/libX11/Makefile makefile-20180912192355-8l1fdk8s0igos0bj-4
pkg/xorg/libX11/sha256sums sha256sums-20180912192355-8l1fdk8s0igos0bj-5
pkg/xorg/xorg-docs/Makefile makefile-20170802201320-k4duvjm7nswl0kh7-3
pkg/xorg/xorg-docs/sha256sums sha256sums-20170802201320-k4duvjm7nswl0kh7-4
=== modified file 'doc/texinfo.tex'
--- a/doc/texinfo.tex 2022-11-13 01:06:52 +0000
+++ b/doc/texinfo.tex 2022-11-14 00:00:47 +0000
@@ -1,11 +1,11 @@
% texinfo.tex -- TeX macros to handle Texinfo files.
-%
+%
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2022-11-12.22}
+\def\texinfoversion{2021-04-25.21}
%
-% Copyright 1985, 1986, 1988, 1990-2022 Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990-2021 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -218,7 +218,7 @@
% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
% aren't perfect, it's not the end of the world, being an error message,
% after all.
-%
+%
\def\errormsg{\begingroup \indexnofonts \doerrormsg}
\def\doerrormsg#1{\errmessage{#1}}
@@ -241,6 +241,9 @@
%
\def\finalout{\overfullrule=0pt }
+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
+\newdimen\topandbottommargin \topandbottommargin=.75in
+
% Output a mark which sets \thischapter, \thissection and \thiscolor.
% We dump everything together because we only have one kind of mark.
% This works because we only use \botmark / \topmark, not \firstmark.
@@ -314,8 +317,16 @@
\newbox\footlinebox
% When outputting the double column layout for indices, an output routine
-% is run several times, hiding the original value of \topmark. Hence, save
-% \topmark at the beginning.
+% is run several times, which hides the original value of \topmark. This
+% can lead to a page heading being output and duplicating the chapter heading
+% of the index. Hence, save the contents of \topmark at the beginning of
+% the output routine. The saved contents are valid until we actually
+% \shipout a page.
+%
+% (We used to run a short output routine to actually set \topmark and
+% \firstmark to the right values, but if this was called with an empty page
+% containing whatsits for writing index entries, the whatsits would be thrown
+% away and the index auxiliary file would remain empty.)
%
\newtoks\savedtopmark
\newif\iftopmarksaved
@@ -340,9 +351,15 @@
%
\checkchapterpage
%
- % Make the heading and footing. \makeheadline and \makefootline
- % use the contents of \headline and \footline.
+ % Retrieve the information for the headings from the marks in the page,
+ % and call Plain TeX's \makeheadline and \makefootline, which use the
+ % values in \headline and \footline.
+ %
+ % Common context changes for both heading and footing.
+ % Do this outside of the \shipout so @code etc. will be expanded in
+ % the headline as they should be, not taken literally (outputting ''code).
\def\commonheadfootline{\let\hsize=\txipagewidth \texinfochars}
+ %
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
\global\setbox\headlinebox = \vbox{\commonheadfootline \makeheadline}%
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
@@ -432,7 +449,7 @@
}%
}
-% First remove any @comment, then any @c comment. Pass the result on to
+% First remove any @comment, then any @c comment. Pass the result on to
% \argcheckspaces.
\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
@@ -600,6 +617,21 @@
% @? is an end-of-sentence query.
\def\?{?\spacefactor=\endofsentencespacefactor\space}
+% @frenchspacing on|off says whether to put extra space after punctuation.
+%
+\def\onword{on}
+\def\offword{off}
+%
+\parseargdef\frenchspacing{%
+ \def\temp{#1}%
+ \ifx\temp\onword \plainfrenchspacing
+ \else\ifx\temp\offword \plainnonfrenchspacing
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
+ \fi\fi
+}
+
% @w prevents a word break. Without the \leavevmode, @w at the
% beginning of a paragraph, when TeX is still in vertical mode, would
% produce a whole line of output instead of starting the paragraph.
@@ -693,22 +725,32 @@
\dimen2 = \ht\strutbox
\advance\dimen2 by \dp\strutbox
\ifdim\dimen0 > \dimen2
- % This is similar to the 'needspace' module in LaTeX.
- % The first penalty allows a break if the end of the page is
- % not too far away. Following penalties and skips are discarded.
- % Otherwise, require at least \dimen0 of vertical space.
- %
- % (We used to use a \vtop to reserve space, but this had spacing issues
- % when followed by a section heading, as it was not a "discardable item".
- % This also has the benefit of providing glue before the page break if
- % there isn't enough space.)
- \vskip0pt plus \dimen0
- \penalty-100
- \vskip0pt plus -\dimen0
- \vskip \dimen0
+ %
+ % Do a \strut just to make the height of this box be normal, so the
+ % normal leading is inserted relative to the preceding line.
+ % And a page break here is fine.
+ \vtop to #1\mil{\strut\vfil}%
+ %
+ % TeX does not even consider page breaks if a penalty added to the
+ % main vertical list is 10000 or more. But in order to see if the
+ % empty box we just added fits on the page, we must make it consider
+ % page breaks. On the other hand, we don't want to actually break the
+ % page after the empty box. So we use a penalty of 9999.
+ %
+ % There is an extremely small chance that TeX will actually break the
+ % page at this \penalty, if there are no other feasible breakpoints in
+ % sight. (If the user is using lots of big @group commands, which
+ % almost-but-not-quite fill up a page, TeX will have a hard time doing
+ % good page breaking, for example.) However, I could not construct an
+ % example where a page broke at this \penalty; if it happens in a real
+ % document, then we can reconsider our strategy.
\penalty9999
- \vskip -\dimen0
- \penalty0\relax % this hides the above glue from \safewhatsit and \dobreak
+ %
+ % Back up by the size of the box, whether we did a page break or not.
+ \kern -#1\mil
+ %
+ % Do not allow a page break right after this kern.
+ \nobreak
\fi
}
@@ -1051,8 +1093,8 @@
end
end
}
- % The -2 in the arguments here gives all the input to TeX catcode 12
- % (other) or 10 (space), preventing undefined control sequence errors. See
+ % The -2 in the arguments here gives all the input to TeX catcode 12
+ % (other) or 10 (space), preventing undefined control sequence errors. See
% https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
%
\endgroup
@@ -1146,7 +1188,7 @@
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
-%
+%
% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
% related messages. The final outcome is that it is up to the TeX user
% to double the backslashes and otherwise make the string valid, so
@@ -1434,7 +1476,7 @@
% We use the node names as the destinations.
%
% Currently we prefix the section name with the section number
- % for chapter and appendix headings only in order to avoid too much
+ % for chapter and appendix headings only in order to avoid too much
% horizontal space being required in the PDF viewer.
\def\numchapentry##1##2##3##4{%
\dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
@@ -1457,7 +1499,7 @@
% their "best" equivalent, based on the @documentencoding. Too
% much work for too little return. Just use the ASCII equivalents
% we use for the index sort strings.
- %
+ %
\indexnofonts
\setupdatafile
% We can have normal brace characters in the PDF outlines, unlike
@@ -1682,7 +1724,7 @@
% We use node names as destinations.
%
% Currently we prefix the section name with the section number
- % for chapter and appendix headings only in order to avoid too much
+ % for chapter and appendix headings only in order to avoid too much
% horizontal space being required in the PDF viewer.
\def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
@@ -2516,7 +2558,7 @@
\def\it{\fam=\itfam \setfontstyle{it}}
\def\sl{\fam=\slfam \setfontstyle{sl}}
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-\def\tt{\fam=\ttfam \setfontstyle{tt}}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}\def\ttstylename{tt}
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
% So we set up a \sf.
@@ -2544,30 +2586,34 @@
\scriptfont\sffam=\sevensf
}
-
-
-% \defineassignfonts{SIZE} -
-% Define sequence \assignfontsSIZE, which switches between font sizes
-% by redefining the meanings of \STYLEfont. (Just \STYLE additionally sets
-% the current \fam for math mode.)
-%
-\def\defineassignfonts#1{%
- \expandafter\edef\csname assignfonts#1\endcsname{%
- \let\noexpand\rmfont\csname #1rm\endcsname
- \let\noexpand\itfont\csname #1it\endcsname
- \let\noexpand\slfont\csname #1sl\endcsname
- \let\noexpand\bffont\csname #1bf\endcsname
- \let\noexpand\ttfont\csname #1tt\endcsname
- \let\noexpand\smallcaps\csname #1sc\endcsname
- \let\noexpand\sffont \csname #1sf\endcsname
- \let\noexpand\ifont \csname #1i\endcsname
- \let\noexpand\syfont \csname #1sy\endcsname
- \let\noexpand\ttslfont\csname #1ttsl\endcsname
- }
-}
+%
+
+% The font-changing commands (all called \...fonts) redefine the meanings
+% of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs
+% to also set the current \fam for math mode. Our \STYLE (e.g., \rm)
+% commands hardwire \STYLEfont to set the current font.
+%
+% The fonts used for \ifont are for "math italics" (\itfont is for italics
+% in regular text). \syfont is also used in math mode only.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower). These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
\def\assignfonts#1{%
- \csname assignfonts#1\endcsname
+ \expandafter\let\expandafter\rmfont\csname #1rm\endcsname
+ \expandafter\let\expandafter\itfont\csname #1it\endcsname
+ \expandafter\let\expandafter\slfont\csname #1sl\endcsname
+ \expandafter\let\expandafter\bffont\csname #1bf\endcsname
+ \expandafter\let\expandafter\ttfont\csname #1tt\endcsname
+ \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname
+ \expandafter\let\expandafter\sffont \csname #1sf\endcsname
+ \expandafter\let\expandafter\ifont \csname #1i\endcsname
+ \expandafter\let\expandafter\syfont \csname #1sy\endcsname
+ \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname
}
\newif\ifrmisbold
@@ -2591,21 +2637,12 @@
\csname\curfontstyle\endcsname
}%
-% Define the font-changing commands (all called \...fonts).
-% Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower). These relative commands are used
-% in, e.g., the LaTeX logo and acronyms.
-%
-% Note: The fonts used for \ifont are for "math italics" (\itfont is for
-% italics in regular text). \syfont is also used in math mode only.
-%
\def\definefontsetatsize#1#2#3#4#5{%
- \defineassignfonts{#1}%
\expandafter\def\csname #1fonts\endcsname{%
\def\curfontsize{#1}%
\def\lsize{#2}\def\lllsize{#3}%
\csname rmisbold#5\endcsname
- \csname assignfonts#1\endcsname
+ \assignfonts{#1}%
\resetmathfonts
\setleading{#4}%
}}
@@ -2650,22 +2687,9 @@
% Check if we are currently using a typewriter font. Since all the
% Computer Modern typewriter fonts have zero interword stretch (and
% shrink), and it is reasonable to expect all typewriter fonts to have
-% this property, we can check that font parameter. #1 is what to
-% print if we are indeed using \tt; #2 is what to print otherwise.
-\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
-
-% Same as above, but check for italic font. Actually this also catches
-% non-italic slanted fonts since it is impossible to distinguish them from
-% italic fonts. But since this is only used by $ and it uses \sl anyway
-% this is not a problem.
-\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-
-
-% Check if internal flag is clear, i.e. has not been @set.
-\def\ifflagclear#1#2#3{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- #2\else#3\fi
-}
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
{
\catcode`\'=\active
@@ -2682,32 +2706,37 @@
% lilypond developers report. xpdf does work with the regular 0x27.
%
\def\codequoteright{%
- \ifusingtt
- {\ifflagclear{txicodequoteundirected}%
- {\ifflagclear{codequoteundirected}%
- {'}%
- {\char'15 }}%
- {\char'15 }}%
- {'}%
+ \ifmonospace
+ \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+ '%
+ \else \char'15 \fi
+ \else \char'15 \fi
+ \else
+ '%
+ \fi
}
-
+%
% and a similar option for the left quote char vs. a grave accent.
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
% the code environments to do likewise.
-% \relax disables Spanish ligatures ?` and !` of \tt font.
%
\def\codequoteleft{%
- \ifusingtt
- {\ifflagclear{txicodequotebacktick}%
- {\ifflagclear{codequotebacktick}%
- {\relax`}%
- {\char'22 }}%
- {\char'22 }}%
- {\relax`}%
+ \ifmonospace
+ \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ % [Knuth] pp. 380,381,391
+ % \relax disables Spanish ligatures ?` and !` of \tt font.
+ \relax`%
+ \else \char'22 \fi
+ \else \char'22 \fi
+ \else
+ \relax`%
+ \fi
}
% Commands to set the quote options.
-%
+%
\parseargdef\codequoteundirected{%
\def\temp{#1}%
\ifx\temp\onword
@@ -2748,18 +2777,17 @@
% If we are in a monospaced environment, however, 1) always use \ttsl,
% and 2) do not add an italic correction.
\def\dosmartslant#1#2{%
- \ifusingtt
+ \ifusingtt
{{\ttsl #2}\let\next=\relax}%
- {\def\next{{#1#2}\smartitaliccorrection}}%
+ {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
\next
}
\def\smartslanted{\dosmartslant\sl}
\def\smartitalic{\dosmartslant\it}
-% Output an italic correction unless the following character is such as
-% not to need one.
-\def\smartitaliccorrection{\futurelet\next\smartitaliccorrectionx}
-\def\smartitaliccorrectionx{%
+% Output an italic correction unless \next (presumed to be the following
+% character) is such as not to need one.
+\def\smartitaliccorrection{%
\ifx\next,%
\else\ifx\next-%
\else\ifx\next.%
@@ -2770,41 +2798,27 @@
\aftersmartic
}
-% @cite unconditionally uses \sl with \smartitaliccorrection.
-\def\cite#1{{\sl #1}\smartitaliccorrection}
-
-% @var unconditionally uses \sl. This gives consistency for
-% parameter names whether they are in @def, @table @code or a
-% regular paragraph.
-% To get ttsl font for @var when used in code context, @set txicodevaristt.
-% The \null is to reset \spacefactor.
+% Unconditional use \ttsl, and no ic. @var is set to this for defuns.
+\def\ttslanted#1{{\ttsl #1}}
+
+% @cite is like \smartslanted except unconditionally use \sl. We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+
\def\aftersmartic{}
\def\var#1{%
\let\saveaftersmartic = \aftersmartic
\def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
- %
- \ifflagclear{txicodevaristt}%
- {\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
- {\def\varnext{\smartslanted{#1}}}%
- \varnext
+ \smartslanted{#1}%
}
-% To be removed after next release
-\def\SETtxicodevaristt{}% @set txicodevaristt
-
\let\i=\smartitalic
\let\slanted=\smartslanted
\let\dfn=\smartslanted
\let\emph=\smartitalic
-% @r for roman font, used for code comment
-\def\r#1{{%
- \usenormaldash % get --, --- ligatures even if in @code
- \defcharsdefault % in case on def line
- \rm #1}}
-{\catcode`-=\active \gdef\usenormaldash{\let-\normaldash}}
-
-% @sc, undocumented @ii.
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}} % roman font
\def\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic font
@@ -2822,54 +2836,27 @@
\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
\def\restorehyphenation{\hyphenchar\font = `- }
-\newif\iffrenchspacing
-\frenchspacingfalse
-
% Set sfcode to normal for the chars that usually have another value.
% Can't use plain's \frenchspacing because it uses the `\x notation, and
% sometimes \x has an active definition that messes things up.
%
\catcode`@=11
\def\plainfrenchspacing{%
- \iffrenchspacing\else
- \frenchspacingtrue
- \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
- \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
- \def\endofsentencespacefactor{1000}% for @. and friends
- \fi
+ \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
+ \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
+ \def\endofsentencespacefactor{1000}% for @. and friends
}
\def\plainnonfrenchspacing{%
- \iffrenchspacing
- \frenchspacingfalse
- \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
- \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
- \def\endofsentencespacefactor{3000}% for @. and friends
- \fi
+ \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+ \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+ \def\endofsentencespacefactor{3000}% for @. and friends
}
\catcode`@=\other
\def\endofsentencespacefactor{3000}% default
-% @frenchspacing on|off says whether to put extra space after punctuation.
-%
-\def\onword{on}
-\def\offword{off}
-%
-\let\frenchspacingsetting\plainnonfrenchspacing % used in output routine
-\parseargdef\frenchspacing{%
- \def\temp{#1}%
- \ifx\temp\onword \let\frenchspacingsetting\plainfrenchspacing
- \else\ifx\temp\offword \let\frenchspacingsetting\plainnonfrenchspacing
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
- \fi\fi
- \frenchspacingsetting
-}
-
-
% @t, explicit typewriter.
\def\t#1{%
- {\tt \defcharsdefault \plainfrenchspacing #1}%
+ {\tt \plainfrenchspacing #1}%
\null
}
@@ -2936,14 +2923,14 @@
\gdef\codedash{\futurelet\next\codedashfinish}
\gdef\codedashfinish{%
\normaldash % always output the dash character itself.
- %
+ %
% Now, output a discretionary to allow a line break, unless
% (a) the next character is a -, or
% (b) the preceding character is a -.
% E.g., given --posix, we do not want to allow a break after either -.
% Given --foo-bar, we do want to allow a break between the - and the b.
\ifx\next\codedash \else
- \ifx\codedashprev\codedash
+ \ifx\codedashprev\codedash
\else \discretionary{}{}{}\fi
\fi
% we need the space after the = for the case when \next itself is a
@@ -3033,7 +3020,7 @@
% For pdfTeX and LuaTeX
\ifurefurlonlylink
% PDF plus option to not display url, show just arg
- \unhbox0
+ \unhbox0
\else
% PDF, normally display both arg and url for consistency,
% visibility, if the pdf is eventually used to print, etc.
@@ -3046,7 +3033,7 @@
% For XeTeX
\ifurefurlonlylink
% PDF plus option to not display url, show just arg
- \unhbox0
+ \unhbox0
\else
% PDF, normally display both arg and url for consistency,
% visibility, if the pdf is eventually used to print, etc.
@@ -3104,10 +3091,10 @@
}
}
-% By default we'll break after the special characters, but some people like to
-% break before the special chars, so allow that. Also allow no breaking at
+% By default we'll break after the special characters, but some people like to
+% break before the special chars, so allow that. Also allow no breaking at
% all, for manual control.
-%
+%
\parseargdef\urefbreakstyle{%
\def\txiarg{#1}%
\ifx\txiarg\wordnone
@@ -3126,10 +3113,10 @@
\def\wordnone{none}
% Allow a ragged right output to aid breaking long URL's. There can
-% be a break at the \allowbreak with no extra glue (if the existing stretch in
+% be a break at the \allowbreak with no extra glue (if the existing stretch in
% the line is sufficient), a break at the \penalty with extra glue added
% at the end of the line, or no break at all here.
-% Changing the value of the penalty and/or the amount of stretch affects how
+% Changing the value of the penalty and/or the amount of stretch affects how
% preferable one choice is over the other.
\def\urefallowbreak{%
\penalty0\relax
@@ -3184,8 +3171,16 @@
% Default is `distinct'.
\kbdinputstyle distinct
-\def\kbd#1{%
- \tclose{\kbdfont\setcodequotes#1}%
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
+\def\xkey{\key}
+\def\kbdsub#1#2#3\par{%
+ \def\one{#1}\def\three{#3}\def\threex{??}%
+ \ifx\one\xkey\ifx\threex\three \key{#2}%
+ \else{\tclose{\kbdfont\setcodequotes\look}}\fi
+ \else{\tclose{\kbdfont\setcodequotes\look}}\fi
}
% definition of @key that produces a lozenge. Doesn't adjust to text size.
@@ -3198,9 +3193,14 @@
% \kern-0.4pt\hrule}%
% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-% definition of @key with no lozenge.
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
%
-\def\key#1{{\setregularquotes \nohyphenation \tt #1}\null}
+\def\key#1{{\setregularquotes
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
% @clicksequence{File @click{} Open ...}
\def\clicksequence#1{\begingroup #1\endgroup}
@@ -3344,7 +3344,7 @@
% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
% except specified as a normal braced arg, so no newlines to worry about.
-%
+%
\def\outfmtnametex{tex}
%
\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
@@ -3352,7 +3352,7 @@
\def\inlinefmtname{#1}%
\ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
}
-%
+%
% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
% FMTNAME is tex, else ELSE-TEXT.
\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
@@ -3368,7 +3368,7 @@
% *right* brace they would have to use a command anyway, so they may as
% well use a command to get a left brace too. We could re-use the
% delimiter character idea from \verb, but it seems like overkill.
-%
+%
\long\def\inlineraw{\tex \doinlineraw}
\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
\def\doinlinerawtwo#1,#2,\finish{%
@@ -3403,8 +3403,8 @@
\let\atchar=\@
% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
-\def\lbracechar{{\ifusingtt{\char123}{\ensuremath\lbrace}}}
-\def\rbracechar{{\ifusingtt{\char125}{\ensuremath\rbrace}}}
+\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}}
+\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}}
\let\{=\lbracechar
\let\}=\rbracechar
@@ -3458,13 +3458,8 @@
% Revert to plain's \scriptsize, which is 7pt.
\count255=\the\fam $\fam\count255 \scriptstyle A$%
\else
- \ifx\curfontsize\smallword
- % For footnotes and indices
- \count255=\the\fam $\fam\count255 \scriptstyle A$%
- \else
- % For 11pt, we can use our lllsize.
- \switchtolllsize A%
- \fi
+ % For 11pt, we can use our lllsize.
+ \switchtolllsize A%
\fi
}%
\vss
@@ -3472,7 +3467,6 @@
\kern-.15em
\TeX
}
-\def\smallword{small}
% Some math mode symbols. Define \ensuremath to switch into math mode
% unless we are already there. Expansion tricks may not be needed here,
@@ -3551,7 +3545,7 @@
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
%
-\def\pounds{{\ifusingtt{\ecfont\char"BF}{\it\$}}}
+\def\pounds{\ifmonospace{\ecfont\char"BF}\else{\it\$}\fi}
% @euro{} comes from a separate font, depending on the current style.
% We use the free feym* fonts from the eurosym package by Henrik
@@ -3620,9 +3614,6 @@
\def\quotedblbase{{\ecfont \char"12}}
\def\quotesinglbase{{\ecfont \char"0D}}
%
-\def\L{{\ecfont \char"8A}} % L with stroke
-\def\l{{\ecfont \char"AA}} % l with stroke
-%
% This positioning is not perfect (see the ogonek LaTeX package), but
% we have the precomposed glyphs for the most common cases. We put the
% tests to use those glyphs in the single \ogonek macro so we have fewer
@@ -3654,7 +3645,7 @@
% for non-CM glyphs. That is ec* for regular text and tc* for the text
% companion symbols (LaTeX TS1 encoding). Both are part of the ec
% package and follow the same conventions.
-%
+%
\def\ecfont{\etcfont{e}}
\def\tcfont{\etcfont{t}}
%
@@ -3665,17 +3656,18 @@
% hopefully nobody will notice/care.
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifusingtt
- % typewriter:
- {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
- % else
- {\ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
- \else
- % regular:
- \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
- \fi}%
+ \ifmonospace
+ % typewriter:
+ \font\thisecfont = #1ctt\ecsize \space at \nominalsize
+ \else
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \else
+ % regular:
+ \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \fi
+ \fi
\thisecfont
}
@@ -3691,10 +3683,7 @@
% @textdegree - the normal degrees sign.
%
-\def\textdegree{%
- \ifmmode ^\circ
- \else {\tcfont \char 176}%
- \fi}
+\def\textdegree{$^\circ$}
% Laurent Siebenmann reports \Orb undefined with:
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
@@ -3711,11 +3700,11 @@
% only change font for tt for correct kerning and to avoid using
% \ecfont unless necessary.
\def\quotedblleft{%
- \ifusingtt{{\ecfont\char"10}}{{\char"5C}}%
+ \ifmonospace{\ecfont\char"10}\else{\char"5C}\fi
}
\def\quotedblright{%
- \ifusingtt{{\ecfont\char"11}}{{\char`\"}}%
+ \ifmonospace{\ecfont\char"11}\else{\char`\"}\fi
}
@@ -3736,7 +3725,7 @@
after the title page.}}%
\def\setshortcontentsaftertitlepage{%
\errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
- command; move your @shortcontents and @contents commands if you
+ command; move your @shortcontents and @contents commands if you
want the contents after the title page.}}%
\parseargdef\shorttitlepage{%
@@ -3791,7 +3780,7 @@
% don't worry much about spacing, ragged right. This should be used
% inside a \vbox, and fonts need to be set appropriately first. \par should
% be specified before the end of the \vbox, since a vbox is a group.
-%
+%
\def\raggedtitlesettings{%
\rm
\hyphenpenalty=10000
@@ -3845,16 +3834,15 @@
\newtoks\oddfootline % footline on odd pages
% Now make \makeheadline and \makefootline in Plain TeX use those variables
-\headline={{\textfonts\rm\frenchspacingsetting
+\headline={{\textfonts\rm
\ifchapterpage
\ifodd\pageno\the\oddchapheadline\else\the\evenchapheadline\fi
\else
\ifodd\pageno\the\oddheadline\else\the\evenheadline\fi
\fi}}
-\footline={{\textfonts\rm\frenchspacingsetting
- \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}%
- \HEADINGShook}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
+ \else \the\evenfootline \fi}\HEADINGShook}
\let\HEADINGShook=\relax
% Commands to set those variables.
@@ -3980,7 +3968,7 @@
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
-\global\evenchapheadline={\line{\folio\hfil\thistitle}}
+\global\evenchapheadline={\line{\folio\hfil}}
\global\oddchapheadline={\line{\hfil\folio}}
\global\let\contentsalignmacro = \chapoddpage
}
@@ -4368,7 +4356,8 @@
% undo it ourselves.
\def\headitemfont{\b}% for people to use in the template row; not changeable
\def\headitem{%
- \crcr % must appear first
+ \checkenv\multitable
+ \crcr
\gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
\the\everytab % for the first item
@@ -4430,7 +4419,7 @@
% Find the correct column width
\hsize=\expandafter\csname col\the\colcount\endcsname
%
- \advance\rightskip by -1\rightskip % Zero leaving only any stretch
+ \rightskip=0pt
\ifnum\colcount=1
\advance\hsize by\leftskip % Add indent of surrounding text
\else
@@ -4453,7 +4442,7 @@
\message{conditionals,}
-% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotlatex, @ifnotplaintext,
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
% @ifnotxml always succeed. They currently do nothing; we don't
% attempt to check whether the conditionals are properly nested. But we
% have to remember that they are conditionals, so that @end doesn't
@@ -4467,7 +4456,6 @@
\makecond{ifnotdocbook}
\makecond{ifnothtml}
\makecond{ifnotinfo}
-\makecond{ifnotlatex}
\makecond{ifnotplaintext}
\makecond{ifnotxml}
@@ -4480,12 +4468,10 @@
\def\ifdocbook{\doignore{ifdocbook}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifinfo{\doignore{ifinfo}}
-\def\iflatex{\doignore{iflatex}}
\def\ifnottex{\doignore{ifnottex}}
\def\ifplaintext{\doignore{ifplaintext}}
\def\ifxml{\doignore{ifxml}}
\def\ignore{\doignore{ignore}}
-\def\latex{\doignore{latex}}
\def\menu{\doignore{menu}}
\def\xml{\doignore{xml}}
@@ -4627,7 +4613,7 @@
% Like \expandablevalue, but completely expandable (the \message in the
% definition above operates at the execution level of TeX). Used when
% writing to auxiliary files, due to the expansion that \write does.
-% If flag is undefined, pass through an unexpanded @value command: maybe it
+% If flag is undefined, pass through an unexpanded @value command: maybe it
% will be set by the time it is read back in.
%
% NB flag names containing - or _ may not work here.
@@ -4651,7 +4637,7 @@
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
-%
+%
% To get the special treatment we need for `@end ifset,' we call
% \makecond and then redefine.
%
@@ -4684,7 +4670,7 @@
% without the @) is in fact defined. We can only feasibly check at the
% TeX level, so something like `mathcode' is going to considered
% defined even though it is not a Texinfo command.
-%
+%
\makecond{ifcommanddefined}
\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
%
@@ -4792,8 +4778,8 @@
\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
\def\docodeindexxxx #1{\docind{\indexname}{#1}}
-
-% Used for the aux, toc and index files to prevent expansion of Texinfo
+
+% Used for the aux, toc and index files to prevent expansion of Texinfo
% commands.
%
\def\atdummies{%
@@ -5009,24 +4995,25 @@
\catcode`\-=13
\catcode`\`=13
\gdef\indexnonalnumdisappear{%
- \ifflagclear{txiindexlquoteignore}{}{%
+ \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else
% @set txiindexlquoteignore makes us ignore left quotes in the sort term.
% (Introduced for FSFS 2nd ed.)
\let`=\empty
- }%
+ \fi
%
- \ifflagclear{txiindexbackslashignore}{}{%
+ \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else
\backslashdisappear
- }%
- \ifflagclear{txiindexhyphenignore}{}{%
+ \fi
+ %
+ \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else
\def-{}%
- }%
- \ifflagclear{txiindexlessthanignore}{}{%
+ \fi
+ \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else
\def<{}%
- }%
- \ifflagclear{txiindexatsignignore}{}{%
+ \fi
+ \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else
\def\@{}%
- }%
+ \fi
}
\gdef\indexnonalnumreappear{%
@@ -5139,11 +5126,11 @@
\let\value\indexnofontsvalue
}
-% Give the control sequence a definition that removes the {} that follows
+% Give the control sequence a definition that removes the {} that follows
% its use, e.g. @AA{} -> AA
\def\indexnofontsdef#1#2{\def#1##1{#2}}%
-
+
% #1 is the index name, #2 is the entry text.
@@ -5184,7 +5171,7 @@
\ifx\suffix\indexisfl\def\suffix{f1}\fi
% Open the file
\immediate\openout\csname#1indfile\endcsname \jobname.\suffix
- % Using \immediate above here prevents an object entering into the current
+ % Using \immediate above here prevents an object entering into the current
% box, which could confound checks such as those in \safewhatsit for
% preceding skips.
\typeout{Writing index file \jobname.\suffix}%
@@ -5236,7 +5223,7 @@
\ifx\segment\isfinish
\else
%
- % Fully expand the segment, throwing away any @sortas directives, and
+ % Fully expand the segment, throwing away any @sortas directives, and
% trim spaces.
\edef\trimmed{\segment}%
\edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
@@ -5273,10 +5260,7 @@
\xdef\trimmed{\segment}%
\xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
\xdef\indexsortkey{\trimmed}%
- \ifx\indexsortkey\empty
- \message{Empty index sort key near line \the\inputlineno}%
- \xdef\indexsortkey{ }%
- \fi
+ \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi
}\fi
%
% Append to \fullindexsortkey.
@@ -5300,12 +5284,12 @@
% the current value of \escapechar.
\def\escapeisbackslash{\escapechar=`\\}
-% Use \ in index files by default. texi2dvi didn't support @ as the escape
-% character (as it checked for "\entry" in the files, and not "@entry"). When
-% the new version of texi2dvi has had a chance to become more prevalent, then
-% the escape character can change back to @ again. This should be an easy
-% change to make now because both @ and \ are only used as escape characters
in
-% index files, never standing for themselves.
+% Use \ in index files by default. texi2dvi didn't support @ as the escape
+% character (as it checked for "\entry" in the files, and not "@entry"). When
+% the new version of texi2dvi has had a chance to become more prevalent, then
+% the escape character can change back to @ again. This should be an easy
+% change to make now because both @ and \ are only used as escape characters in
+% index files, never standing for themselves.
%
\set txiindexescapeisbackslash
@@ -5321,14 +5305,16 @@
%
\atdummies
%
- \ifflagclear{txiindexescapeisbackslash}{}{\escapeisbackslash}%
+ \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else
+ \escapeisbackslash
+ \fi
%
% For texindex which always views { and } as separators.
\def\{{\lbracechar{}}%
\def\}{\rbracechar{}}%
\uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
%
- % Split the entry into primary entry and any subentries, and get the index
+ % Split the entry into primary entry and any subentries, and get the index
% sort key.
\splitindexentry\indextext
%
@@ -5505,33 +5491,33 @@
% old index files using \ as the escape character. Reading this would
% at best lead to typesetting garbage, at worst a TeX syntax error.
\def\printindexzz#1#2\finish{%
- \ifflagclear{txiindexescapeisbackslash}{%
+ \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax
\uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
- \ifflagclear{txiskipindexfileswithbackslash}{%
+ \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax
\errmessage{%
-ERROR: A sorted index file in an obsolete format was skipped.
+ERROR: A sorted index file in an obsolete format was skipped.
To fix this problem, please upgrade your version of 'texi2dvi'
or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
-If you are using an old version of 'texindex' (part of the Texinfo
+If you are using an old version of 'texindex' (part of the Texinfo
distribution), you may also need to upgrade to a newer version (at least 6.0).
You may be able to typeset the index if you run
'texindex \jobname.\indexname' yourself.
-You could also try setting the 'txiindexescapeisbackslash' flag by
+You could also try setting the 'txiindexescapeisbackslash' flag by
running a command like
-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do
+'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do
this, Texinfo will try to use index files in the old format.
-If you continue to have problems, deleting the index files and starting again
+If you continue to have problems, deleting the index files and starting again
might help (with 'rm \jobname.?? \jobname.??s')%
}%
- }{%
+ \else
(Skipped sorted index file in obsolete format)
- }%
+ \fi
\else
\begindoublecolumns
\input \jobname.\indexname s
\enddoublecolumns
\fi
- }{%
+ \else
\begindoublecolumns
\catcode`\\=0\relax
%
@@ -5541,7 +5527,7 @@
\catcode`\@=0\relax
\input \jobname.\indexname s
\enddoublecolumns
- }%
+ \fi
}
% These macros are used by the sorted index file itself.
@@ -5593,7 +5579,7 @@
% bottom of a column to reduce an increase in inter-line spacing.
\nobreak
\vskip 0pt plus 5\baselineskip
- \penalty -300
+ \penalty -300
\vskip 0pt plus -5\baselineskip
%
% Typeset the initial. Making this add up to a whole number of
@@ -5709,7 +5695,7 @@
\advance\dimen@ii by 1\dimen@i
\ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line
\ifdim\dimen@ > 0.8\dimen@ii % due to long index text
- % Try to split the text roughly evenly. \dimen@ will be the length of
+ % Try to split the text roughly evenly. \dimen@ will be the length of
% the first line.
\dimen@ = 0.7\dimen@
\dimen@ii = \hsize
@@ -5917,7 +5903,7 @@
\newbox\balancedcolumns
\setbox\balancedcolumns=\vbox{shouldnt see this}%
%
-% Only called for the last of the double column material. \doublecolumnout
+% Only called for the last of the double column material. \doublecolumnout
% does the others.
\def\balancecolumns{%
\setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
@@ -5945,7 +5931,7 @@
}%
% Now the left column is in box 1, and the right column in box 3.
%
- % Check whether the left column has come out higher than the page itself.
+ % Check whether the left column has come out higher than the page itself.
% (Note that we have doubled \vsize for the double columns, so
% the actual height of the page is 0.5\vsize).
\ifdim2\ht1>\vsize
@@ -5977,7 +5963,7 @@
% Chapters, sections, etc.
% Let's start with @part.
-\parseargdef\part{\partzzz{#1}}
+\outer\parseargdef\part{\partzzz{#1}}
\def\partzzz#1{%
\chapoddpage
\null
@@ -6242,7 +6228,7 @@
\let\top\unnumbered
% Sections.
-%
+%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
@@ -6265,7 +6251,7 @@
}
% Subsections.
-%
+%
% normally calls numberedsubseczzz:
\outer\parseargdef\numberedsubsec{\numhead2{#1}}
\def\numberedsubseczzz#1{%
@@ -6290,7 +6276,7 @@
}
% Subsubsections.
-%
+%
% normally numberedsubsubseczzz:
\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
\def\numberedsubsubseczzz#1{%
@@ -6405,16 +6391,6 @@
\def\Yappendixkeyword{Yappendix}
\def\Yomitfromtockeyword{Yomitfromtoc}
%
-%
-% Definitions for @thischapter. These can be overridden in translation
-% files.
-\def\thischapterAppendix{%
- \putwordAppendix{} \thischapternum: \thischaptername}
-
-\def\thischapterChapter{%
- \putwordChapter{} \thischapternum: \thischaptername}
-%
-%
\def\chapmacro#1#2#3{%
\expandafter\ifx\thisenv\titlepage\else
\checkenv{}% chapters, etc., should not start inside an environment.
@@ -6437,14 +6413,22 @@
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\appendixletter}%
- \let\noexpand\thischapter\noexpand\thischapterAppendix
+ % \noexpand\putwordAppendix avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
+ \noexpand\thischapternum:
+ \noexpand\thischaptername}%
}%
\else
\toks0={#1}%
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\the\chapno}%
- \let\noexpand\thischapter\noexpand\thischapterChapter
+ % \noexpand\putwordChapter avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
+ \noexpand\thischapternum:
+ \noexpand\thischaptername}%
}%
\fi\fi\fi
%
@@ -6530,12 +6514,6 @@
\def\subsubsecheadingskip{\subsecheadingskip}
\def\subsubsecheadingbreak{\subsecheadingbreak}
-% Definition for @thissection. This can be overridden in translation
-% files.
-\def\thissectionDef{%
- \putwordSection{} \thissectionnum: \thissectionname}
-%
-
% Print any size, any type, section title.
%
@@ -6577,7 +6555,11 @@
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- \let\noexpand\thissection\noexpand\thissectionDef
+ % \noexpand\putwordSection avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thissection{\noexpand\putwordSection{}
+ \noexpand\thissectionnum:
+ \noexpand\thissectionname}%
}%
\fi
\else
@@ -6586,7 +6568,11 @@
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- \let\noexpand\thissection\noexpand\thissectionDef
+ % \noexpand\putwordSection avoids expanding indigestible
+ % commands in some of the translations.
+ \gdef\noexpand\thissection{\noexpand\putwordSection{}
+ \noexpand\thissectionnum:
+ \noexpand\thissectionname}%
}%
\fi
\fi\fi\fi
@@ -6774,11 +6760,6 @@
\ifnum\romancount=0 \global\romancount=\pagecount \fi
}
-% \raggedbottom in plain.tex hardcodes \topskip so override it
-\catcode`\@=11
-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
-\catcode`\@=\other
-
% redefined for the two-volume lispref. We always output on
% \jobname.toc even if this is redefined.
%
@@ -7126,19 +7107,12 @@
\startsavinginserts
\lskip=\leftskip \rskip=\rightskip
\leftskip=0pt\rightskip=0pt % we want these *outside*.
- %
- % Set paragraph width for text inside cartouche. There are
- % left and right margins of 3pt each plus two vrules 0.4pt each.
\cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
- \advance\cartinner by -6.8pt
- %
- % For drawing top and bottom of cartouche. Each corner char
- % adds 6pt and we take off the width of a rule to line up with the
- % right boundary perfectly.
\cartouter=\hsize
- \advance\cartouter by 11.6pt
- %
+ \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+ % side, and for 6pt waste from
+ % each corner char, and rule thickness
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
%
% If this cartouche directly follows a sectioning command, we need the
@@ -7146,7 +7120,7 @@
% collide with the section heading.
\ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
%
- \setbox\groupbox=\vtop\bgroup
+ \setbox\groupbox=\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
\hbox\bgroup
@@ -7313,6 +7287,22 @@
}
\let\Eraggedright\par
+\envdef\raggedleft{%
+ \parindent=0pt \leftskip0pt plus2em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedleft\par
+
+\envdef\raggedcenter{%
+ \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
+ \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
+ \hbadness=10000 % Last line will usually be underfull, so turn off
+ % badness reporting.
+}
+\let\Eraggedcenter\par
+
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
% and narrows the margins. We keep \parskip nonzero in general, since
@@ -7352,7 +7342,7 @@
% @indentedblock is like @quotation, but indents only on the left and
% has no optional argument.
-%
+%
\makedispenvdef{indentedblock}{\indentedblockstart}
%
\def\indentedblockstart{%
@@ -7535,11 +7525,9 @@
% file; b) letting users define the frontmatter in as flexible order as
% possible is desirable.
%
-\def\copying{\checkenv{}\begingroup\macrobodyctxt\docopying}
-{\catcode`\ =\other
-\gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
-}
-
+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+%
\def\insertcopying{%
\begingroup
\parindent = 0pt % paragraph indentation looks wrong on title page
@@ -7604,7 +7592,6 @@
%
\def\printdefunline#1#2{%
\begingroup
- \plainfrenchspacing
% call \deffnheader:
#1#2 \endheader
% common ending:
@@ -7621,15 +7608,21 @@
\def\Edefun{\endgraf\medbreak}
-% \makedefun{deffoo}{ (definition of \deffooheader) }
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remaining is to define \deffnheader.
%
-% Define \deffoo, \deffoox \Edeffoo and \deffooheader.
\def\makedefun#1{%
\expandafter\let\csname E#1\endcsname = \Edefun
\edef\temp{\noexpand\domakedefun
\makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
\temp
}
+
+% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) }
+%
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
+%
\def\domakedefun#1#2#3{%
\envdef#1{%
\startdefun
@@ -7646,7 +7639,7 @@
% @deftypefnnewline on|off says whether the return type of typed functions
% are printed on their own line. This affects @deftypefn, @deftypefun,
% @deftypeop, and @deftypemethod.
-%
+%
\parseargdef\deftypefnnewline{%
\def\temp{#1}%
\ifx\temp\onword
@@ -7662,51 +7655,74 @@
\fi\fi
}
+% \dosubind {index}{topic}{subtopic}
+%
+% If SUBTOPIC is present, precede it with a space, and call \doind.
+% (At some time during the 20th century, this made a two-level entry in an
+% index such as the operation index. Nobody seemed to notice the change in
+% behaviour though.)
+\def\dosubind#1#2#3{%
+ \def\thirdarg{#3}%
+ \ifx\thirdarg\empty
+ \doind{#1}{#2}%
+ \else
+ \doind{#1}{#2\space#3}%
+ \fi
+}
+
% Untyped functions:
% @deffn category name args
-\makedefun{deffn}#1 #2 #3\endheader{%
- \doind{fn}{\code{#2}}%
- \defname{#1}{}{#2}\magicamp\defunargs{#3\unskip}%
-}
-
-% @defop category class name args
-\makedefun{defop}#1 {\defopheaderx{#1\ \putwordon}}
-\def\defopheaderx#1#2 #3 #4\endheader{%
- \doind{fn}{\code{#3}\space\putwordon\ \code{#2}}%
- \defname{#1\ \code{#2}}{}{#3}\magicamp\defunargs{#4\unskip}%
+\makedefun{deffn}{\deffngeneral{}}
+
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
+
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deffngeneral {subind}category name args
+%
+\def\deffngeneral#1#2 #3 #4\endheader{%
+ \dosubind{fn}{\code{#3}}{#1}%
+ \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
% Typed functions:
% @deftypefn category type name args
-\makedefun{deftypefn}#1 #2 #3 #4\endheader{%
- \doind{fn}{\code{#3}}%
- \doingtypefntrue
- \defname{#1}{#2}{#3}\defunargs{#4\unskip}%
-}
+\makedefun{deftypefn}{\deftypefngeneral{}}
% @deftypeop category class type name args
-\makedefun{deftypeop}#1 {\deftypeopheaderx{#1\ \putwordon}}
-\def\deftypeopheaderx#1#2 #3 #4 #5\endheader{%
- \doind{fn}{\code{#4}\space\putwordon\ \code{#1\ \code{#2}}}%
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
+
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypefngeneral {subind}category type name args
+%
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{fn}{\code{#4}}{#1}%
\doingtypefntrue
- \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
% Typed variables:
% @deftypevr category type var args
-\makedefun{deftypevr}#1 #2 #3 #4\endheader{%
- \doind{vr}{\code{#3}}%
- \defname{#1}{#2}{#3}\defunargs{#4\unskip}%
-}
+\makedefun{deftypevr}{\deftypecvgeneral{}}
% @deftypecv category class type var args
-\makedefun{deftypecv}#1 {\deftypecvheaderx{#1\ \putwordof}}
-\def\deftypecvheaderx#1#2 #3 #4 #5\endheader{%
- \doind{vr}{\code{#4}\space\putwordof\ \code{#2}}%
- \defname{#1\ \code{#2}}{#3}{#4}\defunargs{#5\unskip}%
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
+
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+ \dosubind{vr}{\code{#4}}{#1}%
+ \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
% Untyped variables:
@@ -7715,8 +7731,10 @@
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
% @defcv category class var args
-\makedefun{defcv}#1 {\defcvheaderx{#1\ \putwordof}}
-\def\defcvheaderx#1#2 {\deftypecvheaderx{#1}#2 {} }
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
+
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
% Types:
@@ -7734,10 +7752,10 @@
\makedefun{defvar}{\defvrheader{\putwordDefvar} }
\makedefun{defopt}{\defvrheader{\putwordDefopt} }
\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
-\makedefun{defmethod}{\defopheaderx\putwordMethodon}
-\makedefun{deftypemethod}{\deftypeopheaderx\putwordMethodon}
-\makedefun{defivar}{\defcvheaderx\putwordInstanceVariableof}
-\makedefun{deftypeivar}{\deftypecvheaderx\putwordInstanceVariableof}
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
% \defname, which formats the name of the @def (not the args).
% #1 is the category, such as "Function".
@@ -7756,7 +7774,9 @@
\rettypeownlinefalse
\ifdoingtypefn % doing a typed function specifically?
% then check user option for putting return type on its own line:
- \ifflagclear{txideftypefnnl}{}{\rettypeownlinetrue}%
+ \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
+ \rettypeownlinetrue
+ \fi
\fi
%
% How we'll format the category name. Putting it in brackets helps
@@ -7814,27 +7834,37 @@
\tclose{\temp}% typeset the return type
\ifrettypeownline
% put return type on its own line; prohibit line break following:
- \hfil\vadjust{\nobreak}\break
+ \hfil\vadjust{\nobreak}\break
\else
\space % type on same line, so just followed by a space
\fi
\fi % no return type
#3% output function name
}%
- \ifflagclear{txidefnamenospace}{%
- {\rm\enskip}% hskip 0.5 em of \rmfont
- }{}%
+ {\rm\enskip}% hskip 0.5 em of \rmfont
%
\boldbrax
% arguments will be output next, if any.
}
-% Print arguments. Use slanted for @def*, typewriter for @deftype*.
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name. This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable. Prevent hyphenation at `-' chars.
+%
\def\defunargs#1{%
- \df \ifdoingtypefn \tt \else \sl \fi
- \ifflagclear{txicodevaristt}{}%
- {\def\var##1{{\setregularquotes \ttsl ##1}}}%
+ % use sl by default (not ttsl),
+ % tt for the names.
+ \df \sl \hyphenchar\font=0
+ %
+ % On the other hand, if an argument has two dashes (for instance), we
+ % want a way to get ttsl. We used to recommend @var for that, so
+ % leave the code in, but it's strange for @var to lead to typewriter.
+ % Nowadays we recommend @code, since the difference between a ttsl hyphen
+ % and a tt hyphen is pretty tiny. @code also disables ?` !`.
+ \def\var##1{{\setregularquotes\ttslanted{##1}}}%
#1%
+ \sl\hyphenchar\font=45
}
% We want ()&[] to print specially on the defun line.
@@ -7853,12 +7883,9 @@
% so TeX would otherwise complain about undefined control sequence.
{
\activeparens
- \gdef\defcharsdefault{%
- \let(=\lparen \let)=\rparen
- \let[=\lbrack \let]=\rbrack
- \let& = \&%
- }
- \globaldefs=1 \defcharsdefault
+ \global\let(=\lparen \global\let)=\rparen
+ \global\let[=\lbrack \global\let]=\rbrack
+ \global\let& = \&
\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
\gdef\magicamp{\let&=\amprm}
@@ -7961,7 +7988,7 @@
\scantokens{#1@comment}%
%
% The \comment is to remove the \newlinechar added by \scantokens, and
- % can be noticed by \parsearg. Note \c isn't used because this means
cedilla
+ % can be noticed by \parsearg. Note \c isn't used because this means cedilla
% in math mode.
}
@@ -8042,17 +8069,24 @@
\catcode`\_=\other
\catcode`\|=\other
\catcode`\~=\other
- \catcode`\@=\other
- \catcode`\^^M=\other
- \catcode`\\=\active
\passthroughcharstrue
}
-\def\macrobodyctxt{% used for @macro definitions and @copying
+\def\scanargctxt{% used for copying and captions, not macros.
+ \scanctxt
+ \catcode`\@=\other
+ \catcode`\\=\other
+ \catcode`\^^M=\other
+}
+
+\def\macrobodyctxt{% used for @macro definitions
\scanctxt
\catcode`\ =\other
+ \catcode`\@=\other
\catcode`\{=\other
\catcode`\}=\other
+ \catcode`\^^M=\other
+ \usembodybackslash
}
% Used when scanning braced macro arguments. Note, however, that catcode
@@ -8061,10 +8095,14 @@
\def\macroargctxt{%
\scanctxt
\catcode`\ =\active
+ \catcode`\@=\other
+ \catcode`\^^M=\other
+ \catcode`\\=\active
}
\def\macrolineargctxt{% used for whole-line arguments without braces
\scanctxt
+ \catcode`\@=\other
\catcode`\{=\other
\catcode`\}=\other
}
@@ -8108,7 +8146,7 @@
\global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
\addtomacrolist{\the\macname}%
\fi
- \begingroup \macrobodyctxt \usembodybackslash
+ \begingroup \macrobodyctxt
\ifrecursive \expandafter\parsermacbody
\else \expandafter\parsemacbody
\fi}
@@ -8156,7 +8194,7 @@
% list to some hook where the argument is to be expanded. If there are
% less than 10 arguments that hook is to be replaced by ##N where N
% is the position in that list, that is to say the macro arguments are to be
-% defined `a la TeX in the macro body.
+% defined `a la TeX in the macro body.
%
% That gets used by \mbodybackslash (above).
%
@@ -8190,8 +8228,8 @@
%
% Read recursive and nonrecursive macro bodies. (They're different since
% rec and nonrec macros end differently.)
-%
-% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro
+%
+% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro
% body to be transformed.
% Set \macrobody to the body of the macro, and call \defmacro.
%
@@ -8225,7 +8263,7 @@
% twice the \macarg.BLAH macros does not cost too much processing power.
\def\parsemmanyargdef@@#1,{%
\if#1;\let\next=\relax
- \else
+ \else
\let\next=\parsemmanyargdef@@
\edef\tempb{\eatspaces{#1}}%
\expandafter\def\expandafter\tempa
@@ -8310,7 +8348,7 @@
% Replace arguments by their values in the macro body, and place the result
% in macro \@tempa.
-%
+%
\def\macvalstoargs@{%
% To do this we use the property that token registers that are \the'ed
% within an \edef expand only once. So we are going to place all argument
@@ -8334,9 +8372,9 @@
\expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
}
-% Define the named-macro outside of this group and then close this group.
-%
-\def\macargexpandinbody@{%
+% Define the named-macro outside of this group and then close this group.
+%
+\def\macargexpandinbody@{%
\expandafter
\endgroup
\macargdeflist@
@@ -8374,7 +8412,7 @@
}
% Trailing missing arguments are set to empty.
-%
+%
\def\setemptyargvalues@{%
\ifx\paramlist\nilm@
\let\next\macargexpandinbody@
@@ -8431,32 +8469,32 @@
\ifcase\paramno
% 0
\expandafter\xdef\csname\the\macname\endcsname{%
- \begingroup
+ \bgroup
\noexpand\spaceisspace
\noexpand\endlineisspace
\noexpand\expandafter % skip any whitespace after the macro name.
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname{%
- \endgroup
+ \egroup
\noexpand\scanmacro{\macrobody}}%
\or % 1
\expandafter\xdef\csname\the\macname\endcsname{%
- \begingroup
+ \bgroup
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname##1{%
- \endgroup
+ \egroup
\noexpand\scanmacro{\macrobody}%
}%
\else % at most 9
\ifnum\paramno<10\relax
% @MACNAME sets the context for reading the macro argument
- % @MACNAME@@ gets the argument, processes backslashes and appends a
+ % @MACNAME@@ gets the argument, processes backslashes and appends a
% comma.
% @MACNAME@@@ removes braces surrounding the argument list.
% @MACNAME@@@@ scans the macro body with arguments substituted.
\expandafter\xdef\csname\the\macname\endcsname{%
- \begingroup
+ \bgroup
\noexpand\expandafter % This \expandafter skip any spaces after the
\noexpand\macroargctxt % macro before we change the catcode of space.
\noexpand\expandafter
@@ -8470,7 +8508,7 @@
\expandafter\xdef
\expandafter\expandafter
\csname\the\macname @@@@\endcsname\paramlist{%
- \endgroup\noexpand\scanmacro{\macrobody}}%
+ \egroup\noexpand\scanmacro{\macrobody}}%
\else % 10 or more:
\expandafter\xdef\csname\the\macname\endcsname{%
\noexpand\getargvals@{\the\macname}{\argl}%
@@ -8495,11 +8533,11 @@
% Call #1 with a list of tokens #2, with any doubled backslashes in #2
% compressed to one.
%
-% This implementation works by expansion, and not execution (so we cannot use
-% \def or similar). This reduces the risk of this failing in contexts where
-% complete expansion is done with no execution (for example, in writing out to
+% This implementation works by expansion, and not execution (so we cannot use
+% \def or similar). This reduces the risk of this failing in contexts where
+% complete expansion is done with no execution (for example, in writing out to
% an auxiliary file for an index entry).
-%
+%
% State is kept in the input stream: the argument passed to
% @look_ahead, @gobble_and_check_finish and @add_segment is
%
@@ -8521,11 +8559,11 @@
% #3 - NEXT_TOKEN
% #4 used to look ahead
%
-% If the next token is not a backslash, process the rest of the argument;
+% If the next token is not a backslash, process the rest of the argument;
% otherwise, remove the next token.
@gdef@look_ahead#1!#2#3#4{%
@ifx#4\%
- @expandafter@gobble_and_check_finish
+ @expandafter@gobble_and_check_finish
@else
@expandafter@add_segment
@fi#1!{#2}#4#4%
@@ -8549,9 +8587,9 @@
% #3 - NEXT_TOKEN
% #4 is input stream until next backslash
%
-% Input stream is either at the start of the argument, or just after a
-% backslash sequence, either a lone backslash, or a doubled backslash.
-% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
+% Input stream is either at the start of the argument, or just after a
+% backslash sequence, either a lone backslash, or a doubled backslash.
+% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
% finish; otherwise, append to ARG_RESULT the segment of the argument up until
% the next backslash. PENDING_BACKSLASH contains a backslash to represent
% a backslash just before the start of the input stream that has not been
@@ -8563,13 +8601,13 @@
% append the pending backslash to the result, followed by the next segment
@expandafter@is_fi@look_ahead#1#2#4!{\}@fi
% this @fi is discarded by @look_ahead.
- % we can't get rid of it with \expandafter because we don't know how
+ % we can't get rid of it with \expandafter because we don't know how
% long #4 is.
}
% #1 - THE_MACRO
% #2 - ARG_RESULT
-% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
+% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
% conditional.
@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
@@ -8581,7 +8619,7 @@
% for reading the argument (slightly different in the two cases). Then,
% to read the argument, in the whole-line case, it then calls the regular
% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
-%
+%
\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{%
\ifx\nchar\bgroup
@@ -8635,7 +8673,7 @@
% Used so that the @top node doesn't have to be wrapped in an @ifnottex
% conditional.
-% \doignore goes to more effort to skip nested conditionals but we don't need
+% \doignore goes to more effort to skip nested conditionals but we don't need
% that here.
\def\omittopnode{%
\ifx\lastnode\wordTop
@@ -8643,11 +8681,9 @@
}
\def\wordTop{Top}
-% Until the next @node, @part or @bye command, divert output to a box that
-% is not output.
-\def\ignorenode{\setbox\dummybox\vbox\bgroup
-\def\part{\egroup\part}%
-\def\node{\egroup\node}%
+% Until the next @node or @bye command, divert output to a box that is not
+% output.
+\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}%
\ignorenodebye
}
@@ -8712,7 +8748,7 @@
% automatically in xrefs, if the third arg is not explicitly specified.
% This was provided as a "secret" @set xref-automatic-section-title
% variable, now it's official.
-%
+%
\parseargdef\xrefautomaticsectiontitle{%
\def\temp{#1}%
\ifx\temp\onword
@@ -8728,7 +8764,7 @@
\fi\fi
}
-%
+%
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
@@ -8881,24 +8917,24 @@
\fi
\else
% node/anchor (non-float) references.
- %
+ %
% If we use \unhbox to print the node names, TeX does not insert
% empty discretionaries after hyphens, which means that it will not
% find a line break at a hyphen in a node names. Since some manuals
% are best written with fairly long node names, containing hyphens,
% this is a loss. Therefore, we give the text of the node name
% again, so it is as if TeX is seeing it for the first time.
- %
+ %
\ifdim \wd\printedmanualbox > 0pt
% Cross-manual reference with a printed manual name.
- %
+ %
\crossmanualxref{\cite{\printedmanual\unskip}}%
%
\else\ifdim \wd\infofilenamebox > 0pt
% Cross-manual reference with only an info filename (arg 4), no
% printed manual name (arg 5). This is essentially the same as
% the case above; we output the filename, since we have nothing else.
- %
+ %
\crossmanualxref{\code{\infofilename\unskip}}%
%
\else
@@ -8912,11 +8948,12 @@
% output the `[mynode]' via the macro below so it can be overridden.
\xrefprintnodename\printedrefname
%
- \ifflagclear{txiomitxrefpg}{%
- % We always want a comma
- ,%
+ \expandafter\ifx\csname SETtxiomitxrefpg\endcsname\relax
+ % But we always want a comma and a space:
+ ,\space
+ %
% output the `page 3'.
- \turnoffactive \putpageref{#1}%
+ \turnoffactive \putwordpage\tie\refx{#1-pg}%
% Add a , if xref followed by a space
\if\space\noexpand\tokenafterxref ,%
\else\ifx\ \tokenafterxref ,% @TAB
@@ -8926,31 +8963,27 @@
\tokenafterxref ,% @NL
\else\ifx\tie\tokenafterxref ,% @tie
\fi\fi\fi\fi\fi\fi
- }{}%
+ \fi
\fi\fi
\fi
\endlink
\endgroup}
-% can be overridden in translation files
-\def\putpageref#1{%
- \space\putwordpage\tie\refx{#1-pg}}
-
% Output a cross-manual xref to #1. Used just above (twice).
-%
+%
% Only include the text "Section ``foo'' in" if the foo is neither
% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
% "see The Foo Manual", the idea being to refer to the whole manual.
-%
+%
% But, this being TeX, we can't easily compare our node name against the
% string "Top" while ignoring the possible spaces before and after in
% the input. By adding the arbitrary 7sp below, we make it much less
% likely that a real node name would have the same width as "Top" (e.g.,
% in a monospaced font). Hopefully it will never happen in practice.
-%
+%
% For the same basic reason, we retypeset the "Top" at every
% reference, since the current font is indeterminate.
-%
+%
\def\crossmanualxref#1{%
\setbox\toprefbox = \hbox{Top\kern7sp}%
\setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
@@ -9027,9 +9060,9 @@
\fi
}
-% This is the macro invoked by entries in the aux file. Define a control
-% sequence for a cross-reference target (we prepend XR to the control sequence
-% name to avoid collisions). The value is the page number. If this is a
float
+% This is the macro invoked by entries in the aux file. Define a control
+% sequence for a cross-reference target (we prepend XR to the control sequence
+% name to avoid collisions). The value is the page number. If this is a float
% type, we have more work to do.
%
\def\xrdef#1#2{%
@@ -9045,10 +9078,10 @@
\bgroup
\expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
\egroup
- % We put the \gdef inside a group to avoid the definitions building up on
- % TeX's save stack, which can cause it to run out of space for aux files
with
+ % We put the \gdef inside a group to avoid the definitions building up on
+ % TeX's save stack, which can cause it to run out of space for aux files with
% thousands of lines. \gdef doesn't use the save stack, but \csname does
- % when it defines an unknown control sequence as \relax.
+ % when it defines an unknown control sequence as \relax.
%
% Was that xref control sequence that we just defined for a float?
\expandafter\iffloat\csname XR\safexrefname\endcsname
@@ -9347,12 +9380,6 @@
\imagexxx #1,,,,,\finish
\fi
}
-
-% Approximate height of a line in the standard text font.
-\newdimen\capheight
-\setbox0=\vbox{\tenrm H}
-\capheight=\ht0
-
%
% Arguments to @image:
% #1 is (mandatory) image filename; we tack on .eps extension.
@@ -9365,30 +9392,32 @@
\catcode`\^^M = 5 % in case we're inside an example
\normalturnoffactive % allow _ et al. in names
\makevalueexpandable
+ % If the image is by itself, center it.
\ifvmode
\imagevmodetrue
- \medskip
+ \else \ifx\centersub\centerV
+ % for @center @image, we need a vbox so we can have our vertical space
+ \imagevmodetrue
+ \vbox\bgroup % vbox has better behavior than vtop herev
+ \fi\fi
+ %
+ \ifimagevmode
+ \nobreak\medskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
% above and below.
- \vskip\parskip
- %
- % Place image in a \vtop for a top page margin that is (close to) correct,
- % as \topskip glue is relative to the first baseline.
- \vtop\bgroup \kern -\capheight \vskip-\parskip
+ \nobreak\vskip\parskip
+ \nobreak
\fi
%
- \ifx\centersub\centerV
- % For @center @image, enter vertical mode and add vertical space
- % Enter an extra \parskip because @center doesn't add space itself.
- \vbox\bgroup\vskip\parskip\medskip\vskip\parskip
- \else
- % Enter horizontal mode so that indentation from an enclosing
- % environment such as @quotation is respected.
- % However, if we're at the top level, we don't want the
- % normal paragraph indentation.
- \imageindent
- \fi
+ % Leave vertical mode so that indentation from an enclosing
+ % environment such as @quotation is respected.
+ % However, if we're at the top level, we don't want the
+ % normal paragraph indentation.
+ % On the other hand, if we are in the case of @center @image, we don't
+ % want to start a paragraph, which will create a hsize-width box and
+ % eradicate the centering.
+ \ifx\centersub\centerV \else \imageindent \fi
%
% Output the image.
\ifpdf
@@ -9410,13 +9439,9 @@
\fi
%
\ifimagevmode
- \egroup
\medskip % space after a standalone image
\fi
- \ifx\centersub\centerV % @center @image
- \medskip
- \egroup % close \vbox
- \fi
+ \ifx\centersub\centerV \egroup \fi
\endgroup}
@@ -9583,7 +9608,7 @@
%
\def\caption{\docaption\thiscaption}
\def\shortcaption{\docaption\thisshortcaption}
-\def\docaption{\checkenv\float \bgroup\scanctxt\defcaption}
+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
\def\defcaption#1#2{\egroup \def#1{#2}}
% The parameter is the control sequence identifying the counter we are
@@ -10066,7 +10091,7 @@
\gdefchar^^ae{\v Z}
\gdefchar^^af{\dotaccent Z}
%
- \gdefchar^^b0{\textdegree}
+ \gdefchar^^b0{\textdegree{}}
\gdefchar^^b1{\ogonek{a}}
\gdefchar^^b2{\ogonek{ }}
\gdefchar^^b3{\l}
@@ -10246,7 +10271,7 @@
\uppercase{.}
\endgroup
\else
- \errhelp = \EMsimple
+ \errhelp = \EMsimple
\errmessage{Unicode character U+#1 not supported, sorry}%
\fi
\else
@@ -10279,7 +10304,7 @@
\countUTFz = "#1\relax
\begingroup
\parseXMLCharref
-
+
% Give \u8:... its definition. The sequence of seven \expandafter's
% expands after the \gdef three times, e.g.
%
@@ -10291,7 +10316,7 @@
\expandafter\expandafter
\expandafter\expandafter
\expandafter\gdef \UTFviiiTmp{#2}%
- %
+ %
\expandafter\ifx\csname uni:#1\endcsname \relax \else
\message{Internal error, already defined: #1}%
\fi
@@ -10303,9 +10328,9 @@
% Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
% to the corresponding UTF-8 sequence.
\gdef\parseXMLCharref{%
- \ifnum\countUTFz < "20\relax
+ \ifnum\countUTFz < "A0\relax
\errhelp = \EMsimple
- \errmessage{Cannot define Unicode char value < 0020}%
+ \errmessage{Cannot define Unicode char value < 00A0}%
\else\ifnum\countUTFz < "800\relax
\parseUTFviiiA,%
\parseUTFviiiB C\UTFviiiTwoOctetsName.,%
@@ -10330,7 +10355,7 @@
\divide\countUTFz by 64
\countUTFy = \countUTFz % Save to be the future value of \countUTFz.
\multiply\countUTFz by 64
-
+
% \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract
% in order to get the last five bits.
\advance\countUTFx by -\countUTFz
@@ -10365,7 +10390,7 @@
% U+0080..U+00FF =
https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
-%
+%
% Many of our renditions are less than wonderful, and all the missing
% characters are available somewhere. Loading the necessary fonts
% awaits user request. We can't truly support Unicode without
@@ -10375,103 +10400,6 @@
% least make most of the characters not bomb out.
%
\def\unicodechardefs{%
- \DeclareUnicodeCharacter{0020}{ } % space
- \DeclareUnicodeCharacter{0021}{\char"21 }% % space to terminate number
- \DeclareUnicodeCharacter{0022}{\char"22 }%
- \DeclareUnicodeCharacter{0023}{\char"23 }%
- \DeclareUnicodeCharacter{0024}{\char"24 }%
- \DeclareUnicodeCharacter{0025}{\char"25 }%
- \DeclareUnicodeCharacter{0026}{\char"26 }%
- \DeclareUnicodeCharacter{0027}{\char"27 }%
- \DeclareUnicodeCharacter{0028}{\char"28 }%
- \DeclareUnicodeCharacter{0029}{\char"29 }%
- \DeclareUnicodeCharacter{002A}{\char"2A }%
- \DeclareUnicodeCharacter{002B}{\char"2B }%
- \DeclareUnicodeCharacter{002C}{\char"2C }%
- \DeclareUnicodeCharacter{002D}{\char"2D }%
- \DeclareUnicodeCharacter{002E}{\char"2E }%
- \DeclareUnicodeCharacter{002F}{\char"2F }%
- \DeclareUnicodeCharacter{0030}{0}%
- \DeclareUnicodeCharacter{0031}{1}%
- \DeclareUnicodeCharacter{0032}{2}%
- \DeclareUnicodeCharacter{0033}{3}%
- \DeclareUnicodeCharacter{0034}{4}%
- \DeclareUnicodeCharacter{0035}{5}%
- \DeclareUnicodeCharacter{0036}{6}%
- \DeclareUnicodeCharacter{0037}{7}%
- \DeclareUnicodeCharacter{0038}{8}%
- \DeclareUnicodeCharacter{0039}{9}%
- \DeclareUnicodeCharacter{003A}{\char"3A }%
- \DeclareUnicodeCharacter{003B}{\char"3B }%
- \DeclareUnicodeCharacter{003C}{\char"3C }%
- \DeclareUnicodeCharacter{003D}{\char"3D }%
- \DeclareUnicodeCharacter{003E}{\char"3E }%
- \DeclareUnicodeCharacter{003F}{\char"3F }%
- \DeclareUnicodeCharacter{0040}{\char"40 }%
- \DeclareUnicodeCharacter{0041}{A}%
- \DeclareUnicodeCharacter{0042}{B}%
- \DeclareUnicodeCharacter{0043}{C}%
- \DeclareUnicodeCharacter{0044}{D}%
- \DeclareUnicodeCharacter{0045}{E}%
- \DeclareUnicodeCharacter{0046}{F}%
- \DeclareUnicodeCharacter{0047}{G}%
- \DeclareUnicodeCharacter{0048}{H}%
- \DeclareUnicodeCharacter{0049}{I}%
- \DeclareUnicodeCharacter{004A}{J}%
- \DeclareUnicodeCharacter{004B}{K}%
- \DeclareUnicodeCharacter{004C}{L}%
- \DeclareUnicodeCharacter{004D}{M}%
- \DeclareUnicodeCharacter{004E}{N}%
- \DeclareUnicodeCharacter{004F}{O}%
- \DeclareUnicodeCharacter{0050}{P}%
- \DeclareUnicodeCharacter{0051}{Q}%
- \DeclareUnicodeCharacter{0052}{R}%
- \DeclareUnicodeCharacter{0053}{S}%
- \DeclareUnicodeCharacter{0054}{T}%
- \DeclareUnicodeCharacter{0055}{U}%
- \DeclareUnicodeCharacter{0056}{V}%
- \DeclareUnicodeCharacter{0057}{W}%
- \DeclareUnicodeCharacter{0058}{X}%
- \DeclareUnicodeCharacter{0059}{Y}%
- \DeclareUnicodeCharacter{005A}{Z}%
- \DeclareUnicodeCharacter{005B}{\char"5B }%
- \DeclareUnicodeCharacter{005C}{\char"5C }%
- \DeclareUnicodeCharacter{005D}{\char"5D }%
- \DeclareUnicodeCharacter{005E}{\char"5E }%
- \DeclareUnicodeCharacter{005F}{\char"5F }%
- \DeclareUnicodeCharacter{0060}{\char"60 }%
- \DeclareUnicodeCharacter{0061}{a}%
- \DeclareUnicodeCharacter{0062}{b}%
- \DeclareUnicodeCharacter{0063}{c}%
- \DeclareUnicodeCharacter{0064}{d}%
- \DeclareUnicodeCharacter{0065}{e}%
- \DeclareUnicodeCharacter{0066}{f}%
- \DeclareUnicodeCharacter{0067}{g}%
- \DeclareUnicodeCharacter{0068}{h}%
- \DeclareUnicodeCharacter{0069}{i}%
- \DeclareUnicodeCharacter{006A}{j}%
- \DeclareUnicodeCharacter{006B}{k}%
- \DeclareUnicodeCharacter{006C}{l}%
- \DeclareUnicodeCharacter{006D}{m}%
- \DeclareUnicodeCharacter{006E}{n}%
- \DeclareUnicodeCharacter{006F}{o}%
- \DeclareUnicodeCharacter{0070}{p}%
- \DeclareUnicodeCharacter{0071}{q}%
- \DeclareUnicodeCharacter{0072}{r}%
- \DeclareUnicodeCharacter{0073}{s}%
- \DeclareUnicodeCharacter{0074}{t}%
- \DeclareUnicodeCharacter{0075}{u}%
- \DeclareUnicodeCharacter{0076}{v}%
- \DeclareUnicodeCharacter{0077}{w}%
- \DeclareUnicodeCharacter{0078}{x}%
- \DeclareUnicodeCharacter{0079}{y}%
- \DeclareUnicodeCharacter{007A}{z}%
- \DeclareUnicodeCharacter{007B}{\char"7B }%
- \DeclareUnicodeCharacter{007C}{\char"7C }%
- \DeclareUnicodeCharacter{007D}{\char"7D }%
- \DeclareUnicodeCharacter{007E}{\char"7E }%
- % \DeclareUnicodeCharacter{007F}{} % DEL
- %
\DeclareUnicodeCharacter{00A0}{\tie}%
\DeclareUnicodeCharacter{00A1}{\exclamdown}%
\DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent
@@ -10489,7 +10417,7 @@
\DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
\DeclareUnicodeCharacter{00AF}{\={ }}%
%
- \DeclareUnicodeCharacter{00B0}{\textdegree}
+ \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}%
\DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
\DeclareUnicodeCharacter{00B2}{$^2$}%
\DeclareUnicodeCharacter{00B3}{$^3$}%
@@ -10971,9 +10899,6 @@
\DeclareUnicodeCharacter{1EF8}{\~Y}%
\DeclareUnicodeCharacter{1EF9}{\~y}%
%
- % Exotic spaces
- \DeclareUnicodeCharacter{2007}{\hphantom{0}}%
- %
% Punctuation
\DeclareUnicodeCharacter{2013}{--}%
\DeclareUnicodeCharacter{2014}{---}%
@@ -10993,7 +10918,7 @@
%
\DeclareUnicodeCharacter{20AC}{\euro{}}%
%
- \DeclareUnicodeCharacter{2192}{\arrow}%
+ \DeclareUnicodeCharacter{2192}{\expansion{}}%
\DeclareUnicodeCharacter{21D2}{\result{}}%
%
% Mathematical symbols
@@ -11156,26 +11081,24 @@
% provide a definition macro to replace/pass-through a Unicode character
%
\def\DeclareUnicodeCharacterNative#1#2{%
- \ifnum"#1>"7F % only make non-ASCII chars active
- \catcode"#1=\active
- \def\dodeclareunicodecharacternative##1##2##3{%
- \begingroup
- \uccode`\~="##2\relax
- \uppercase{\gdef~}{%
- \ifpassthroughchars
- ##1%
- \else
- ##3%
- \fi
- }
- \endgroup
- }
+ \catcode"#1=\active
+ \def\dodeclareunicodecharacternative##1##2##3{%
\begingroup
- \uccode`\.="#1\relax
- \uppercase{\def\UTFNativeTmp{.}}%
- \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}%
+ \uccode`\~="##2\relax
+ \uppercase{\gdef~}{%
+ \ifpassthroughchars
+ ##1%
+ \else
+ ##3%
+ \fi
+ }
\endgroup
- \fi
+ }
+ \begingroup
+ \uccode`\.="#1\relax
+ \uppercase{\def\UTFNativeTmp{.}}%
+ \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}%
+ \endgroup
}
% Native Unicode handling (XeTeX and LuaTeX) character replacing definition.
@@ -11258,9 +11181,13 @@
%
\vsize = #1\relax
\advance\vsize by \topskip
+ \outervsize = \vsize
+ \advance\outervsize by 2\topandbottommargin
\txipageheight = \vsize
%
\hsize = #2\relax
+ \outerhsize = \hsize
+ \advance\outerhsize by 0.5in
\txipagewidth = \hsize
%
\normaloffset = #4\relax
@@ -11317,6 +11244,23 @@
\defbodyindent = .5cm
}}
+% Use @smallerbook to reset parameters for 6x9 trim size.
+% (Just testing, parameters still in flux.)
+\def\smallerbook{{\globaldefs = 1
+ \parskip = 1.5pt plus 1pt
+ \textleading = 12pt
+ %
+ \internalpagesizes{7.4in}{4.8in}%
+ {-.2in}{-.4in}%
+ {0pt}{14pt}%
+ {9in}{6in}%
+ %
+ \lispnarrowing = 0.25in
+ \tolerance = 700
+ \contentsrightmargin = 0pt
+ \defbodyindent = .4cm
+}}
+
% Use @afourpaper to print on European A4 paper.
\def\afourpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
@@ -11350,7 +11294,7 @@
\textleading = 12.5pt
%
\internalpagesizes{160mm}{120mm}%
- {\voffset}{-11.4mm}%
+ {\voffset}{\hoffset}%
{\bindingoffset}{8pt}%
{210mm}{148mm}%
%
@@ -11429,135 +11373,9 @@
\hfuzz = 1pt
-\message{microtype,}
-
-% protrusion, from Thanh's protcode.tex.
-\def\mtsetprotcode#1{%
- \rpcode#1`\!=200 \rpcode#1`\,=700 \rpcode#1`\-=700 \rpcode#1`\.=700
- \rpcode#1`\;=500 \rpcode#1`\:=500 \rpcode#1`\?=200
- \rpcode#1`\'=700
- \rpcode#1 34=500 % ''
- \rpcode#1 123=300 % --
- \rpcode#1 124=200 % ---
- \rpcode#1`\)=50 \rpcode#1`\A=50 \rpcode#1`\F=50 \rpcode#1`\K=50
- \rpcode#1`\L=50 \rpcode#1`\T=50 \rpcode#1`\V=50 \rpcode#1`\W=50
- \rpcode#1`\X=50 \rpcode#1`\Y=50 \rpcode#1`\k=50 \rpcode#1`\r=50
- \rpcode#1`\t=50 \rpcode#1`\v=50 \rpcode#1`\w=50 \rpcode#1`\x=50
- \rpcode#1`\y=50
- %
- \lpcode#1`\`=700
- \lpcode#1 92=500 % ``
- \lpcode#1`\(=50 \lpcode#1`\A=50 \lpcode#1`\J=50 \lpcode#1`\T=50
- \lpcode#1`\V=50 \lpcode#1`\W=50 \lpcode#1`\X=50 \lpcode#1`\Y=50
- \lpcode#1`\v=50 \lpcode#1`\w=50 \lpcode#1`\x=50 \lpcode#1`\y=0
- %
- \mtadjustprotcode#1\relax
-}
-
-\newcount\countC
-\def\mtadjustprotcode#1{%
- \countC=0
- \loop
- \ifcase\lpcode#1\countC\else
- \mtadjustcp\lpcode#1\countC
- \fi
- \ifcase\rpcode#1\countC\else
- \mtadjustcp\rpcode#1\countC
- \fi
- \advance\countC 1
- \ifnum\countC < 256 \repeat
-}
-
-\newcount\countB
-\def\mtadjustcp#1#2#3{%
- \setbox\boxA=\hbox{%
- \ifx#2\font\else#2\fi
- \char#3}%
- \countB=\wd\boxA
- \multiply\countB #1#2#3\relax
- \divide\countB \fontdimen6 #2\relax
- #1#2#3=\countB\relax
-}
-
-\ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
- \ifpdf % pdfTeX
- \mtsetprotcode\textrm
- \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
- \else % TeX
- \def\mtfontexpand#1{}
- \fi
- \else % LuaTeX
- \mtsetprotcode\textrm
- \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
- \fi
-\else % XeTeX
- \mtsetprotcode\textrm
- \def\mtfontexpand#1{}
-\fi
-
-
-\newif\ifmicrotype
-
-\def\microtypeON{%
- \microtypetrue
- %
- \ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
- \ifpdf % pdfTeX
- \pdfadjustspacing=2
- \pdfprotrudechars=2
- \fi
- \else % LuaTeX
- \adjustspacing=2
- \protrudechars=2
- \fi
- \else % XeTeX
- \XeTeXprotrudechars=2
- \fi
- %
- \mtfontexpand\textrm
- \mtfontexpand\textsl
- \mtfontexpand\textbf
-}
-
-\def\microtypeOFF{%
- \microtypefalse
- %
- \ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
- \ifpdf % pdfTeX
- \pdfadjustspacing=0
- \pdfprotrudechars=0
- \fi
- \else % LuaTeX
- \adjustspacing=0
- \protrudechars=0
- \fi
- \else % XeTeX
- \XeTeXprotrudechars=0
- \fi
-}
-
-\microtypeON
-
-\parseargdef\microtype{%
- \def\txiarg{#1}%
- \ifx\txiarg\onword
- \microtypeON
- \else\ifx\txiarg\offword
- \microtypeOFF
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @microtype option `\txiarg', must be on|off}%
- \fi\fi
-}
-
-
\message{and turning on texinfo input format.}
\def^^L{\par} % remove \outer, so ^L can appear in an @comment
-\catcode`\^^K = 10 % treat vertical tab as whitespace
% DEL is a comment character, in case @c does not suffice.
\catcode`\^^? = 14
@@ -11573,6 +11391,23 @@
\catcode`\|=\other \def\normalverticalbar{|}
\catcode`\~=\other \def\normaltilde{~}
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
+% where something hairier probably needs to be done.
+%
+% #1 is what to print if we are indeed using \tt; #2 is what to print
+% otherwise. Since all the Computer Modern typewriter fonts have zero
+% interword stretch (and shrink), and it is reasonable to expect all
+% typewriter fonts to have this, we can check that font parameter.
+%
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
+
+% Same as above, but check for italic font. Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts. But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+
% Set catcodes for Texinfo file
% Active characters for printing the wanted glyph.
@@ -11607,7 +11442,7 @@
\def\texinfochars{%
\let< = \activeless
\let> = \activegtr
- \let~ = \activetilde
+ \let~ = \activetilde
\let^ = \activehat
\setregularquotes
\let\b = \strong
@@ -11764,9 +11599,11 @@
@setregularquotes
@c Local variables:
-@c eval: (add-hook 'before-save-hook 'time-stamp nil t)
-@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}"
+@c eval: (add-hook 'before-save-hook 'time-stamp)
@c page-delimiter: "^\\\\message\\|emacs-page"
+@c time-stamp-start: "def\\\\texinfoversion{"
+@c time-stamp-format: "%:y-%02m-%02d.%02H"
+@c time-stamp-end: "}"
@c End:
@c vim:sw=2:
=== modified file 'doc/version.texi'
--- a/doc/version.texi 2022-09-05 04:27:38 +0000
+++ b/doc/version.texi 2022-11-14 00:00:47 +0000
@@ -1,4 +1,4 @@
-@set UPDATED 5 September 2022
-@set UPDATED-MONTH September 2022
+@set UPDATED 11 January 2022
+@set UPDATED-MONTH January 2022
@set EDITION 2014.10.11
@set VERSION 2014.10.11
=== modified file 'pkg/gnualpha/gcc12snapshot/Makefile'
--- a/pkg/gnualpha/gcc12snapshot/Makefile 2022-11-06 00:13:57 +0000
+++ b/pkg/gnualpha/gcc12snapshot/Makefile 2022-11-14 00:00:47 +0000
@@ -22,7 +22,7 @@
NAME = The GNU Compiler Collection version 12 development version
GARNAME = gcc12snapshot
UPSTREAMNAME = gcc
-GARVERSION = 12-20221105
+GARVERSION = 12-20221112
HOME_URL = http://www.gnu.org/software/gcc
DESCRIPTION = GNU Compiler Collection 12 snapshot
define BLURB
=== modified file 'pkg/gnualpha/gcc12snapshot/sha256sums'
--- a/pkg/gnualpha/gcc12snapshot/sha256sums 2022-11-06 00:13:57 +0000
+++ b/pkg/gnualpha/gcc12snapshot/sha256sums 2022-11-14 00:00:47 +0000
@@ -1,1 +1,1 @@
-8144010287af3aa44900bd65892eefea5607af5f183bd90ce4ff6bc1461fccfe
download/gcc-12-20221105.tar.xz
+74b0dcf8b4856a8420d0610407533f59a8b523b9afe121d4b867ba25ad2ec2b7
download/gcc-12-20221112.tar.xz
=== modified file 'pkg/other/root/Makefile'
--- a/pkg/other/root/Makefile 2022-10-06 04:08:01 +0000
+++ b/pkg/other/root/Makefile 2022-11-14 00:00:47 +0000
@@ -21,7 +21,7 @@
NAME = ROOT
GARNAME = root
-GARVERSION = 6.26.06
+GARVERSION = 6.26.08
HOME_URL = https://root.cern.ch
DESCRIPTION = Scientific data framework from CERN, includes a C++ interpreter.
@@ -45,7 +45,7 @@
BUILDDEPS =
LIBDEPS =
-WORKOBJ = $(WORKDIR)/$(DISTNAME)-build
+WORKOBJ = $(WORKSRC)-build
# previously needed:
#MAKE_CXX_FLAGS = -D_GLIBCXX_USE_CXX11_ABI=1
@@ -71,13 +71,10 @@
#LDLIBS+=" -lssl -lcrypto -ltbb "
-
-
#pre-configure:
# mkdir -p $(WORKOBJ)
# (cd $(WORKOBJ); cmake ../$(DISTNAME) -Dgnuinstall=ON )
# $(MAKECOOKIE)
-
# (cd $(WORKOBJ); cmake ../$(DISTNAME) -Dgnuinstall=ON
-DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=1 )
-#
+
=== modified file 'pkg/other/root/sha256sums'
--- a/pkg/other/root/sha256sums 2022-10-06 04:08:01 +0000
+++ b/pkg/other/root/sha256sums 2022-11-14 00:00:47 +0000
@@ -1,1 +1,1 @@
-b1f73c976a580a5c56c8c8a0152582a1dfc560b4dd80e1b7545237b65e6c89cb
download/root_v6.26.06.source.tar.gz
+4dda043e7918b40743ad0299ddd8d526b7078f0a3822fd06066df948af47940e
download/root_v6.26.08.source.tar.gz
=== modified file 'pkg/xorg/libX11/Makefile'
--- a/pkg/xorg/libX11/Makefile 2022-11-07 06:33:46 +0000
+++ b/pkg/xorg/libX11/Makefile 2022-11-14 00:00:47 +0000
@@ -21,15 +21,16 @@
NAME = libX11
GARNAME = libX11
-GARVERSION = 1.8.1
+GARVERSION = 1.8.2
HOME_URL = http://xorg.freedesktop.org
DESCRIPTION = libX11 library
define BLURB
endef
+WORKOBJ = $(WORKSRC)
######################################################################
# https://xorg.freedesktop.org/releases/individual/lib/libX11-1.6.6.tar.bz2
-MASTER_SITES = https://xorg.freedesktop.org/
+MASTER_SITES = https://www.x.org/
MASTER_SUBDIR = releases/individual/lib/
DISTFILES = $(DISTNAME).tar.xz
SIGFILES = $(DISTNAME).tar.xz.sig
=== modified file 'pkg/xorg/libX11/sha256sums'
--- a/pkg/xorg/libX11/sha256sums 2022-11-07 06:33:46 +0000
+++ b/pkg/xorg/libX11/sha256sums 2022-11-14 00:00:47 +0000
@@ -1,2 +1,2 @@
-1bc41aa1bbe01401f330d76dfa19f386b79c51881c7bbfee9eb4e27f22f2d9f7
download/libX11-1.8.1.tar.xz
-28288991a3bde3f90d2b072cbb8b5672c74fc28b283bec16e4d50cbf563e37ba
download/libX11-1.8.1.tar.xz.sig
+ed91d573d570db83b8ae546f4890dccfcd0b9dfe1e50a1b401b63a74c152ed04
download/libX11-1.8.2.tar.xz
+1b5744faf2d7be8b6838203af2c3f90ea2ec9a0ac3dd8f89f5bca88674a731da
download/libX11-1.8.2.tar.xz.sig
=== modified file 'pkg/xorg/xorg-docs/Makefile'
--- a/pkg/xorg/xorg-docs/Makefile 2017-08-02 20:13:34 +0000
+++ b/pkg/xorg/xorg-docs/Makefile 2022-11-14 00:00:47 +0000
@@ -1,6 +1,7 @@
-# Copyright © 2017 Carl Hansen <carlhansen@gnu.org>
+# Copyright © 2017,2022 Carl Hansen <carlhansen@gnu.org>
#
-# This file is part of GSRC.
+# This file is part of GSRC, the GNU Source Release Collection.
+# http://www.gnu.org/software/gsrc
#
# GSRC is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -22,11 +23,10 @@
NAME = xorg-docs
GARNAME = xorg-docs
-GARVERSION = 1.7.1
+GARVERSION = 1.7.2
HOME_URL = https://xorg.freedesktop.org
DESCRIPTION = xorg-docs about X
define BLURB
-
endef
######################################################################
@@ -39,6 +39,8 @@
BUILDDEPS =
LIBDEPS =
+WORKOBJ = $(WORKSRC)
+
######################################################################
include ../../../gar/gar.lib/auto.mk
=== modified file 'pkg/xorg/xorg-docs/sha256sums'
--- a/pkg/xorg/xorg-docs/sha256sums 2017-08-02 20:13:34 +0000
+++ b/pkg/xorg/xorg-docs/sha256sums 2022-11-14 00:00:47 +0000
@@ -1,2 +1,2 @@
-24b8677c3462c10465cf50d40576d76682acd5835526093a575865b2aa242c4b
download/xorg-docs-1.7.1.tar.bz2
-86958b5d9e4a6ed8a618002c06605726a43ab0451bb53c0df7470a8670bdbc37
download/xorg-docs-1.7.1.tar.bz2.sig
+2391b8af472626c12d3c3814b5e7a0ea43c3a96eda94255b7ed8bdff0fbf08e3
download/xorg-docs-1.7.2.tar.bz2
+8899cbd679493f554e226c664164be15e6634a44108dc087689ad955673681bb
download/xorg-docs-1.7.2.tar.bz2.sig
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gsrc-commit] trunk r8781: root some X,
Carl Hansen <=