summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/cwebdir/ctwimac.tex
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2021-10-31 19:11:48 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2021-10-31 19:11:48 +0000
commit943863160772f86ad635c253e6f26cb2c15de76a (patch)
tree9a536b653d8c742ea96ebdd8bf7cb46e3f8d0338 /Build/source/texk/web2c/cwebdir/ctwimac.tex
parent6c15806f54458b18d679bf0e3e6e2b71b1d237da (diff)
[CWEB] Restore '\T' macro backward compatibility.
CWEB 4.3 introduced a major change in the '\T' macro to allow C++ 'hex exponent' notation (e.g., 0x1FFFFp10). This made CWEAVE/CTWILL mutually incompatible with non-matching versions of their set of macros and v.v. This change tries to reestablish the standard behavior at least for numeric constants. Of course, 'old' CWEAVE/CTWILL won't deliver on 'hex exponents' in the CWEB input, but those should be rare anyway. git-svn-id: svn://tug.org/texlive/trunk@60909 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/cwebdir/ctwimac.tex')
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwimac.tex21
1 files changed, 10 insertions, 11 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ctwimac.tex b/Build/source/texk/web2c/cwebdir/ctwimac.tex
index b5a81e8364b..df249009256 100644
--- a/Build/source/texk/web2c/cwebdir/ctwimac.tex
+++ b/Build/source/texk/web2c/cwebdir/ctwimac.tex
@@ -1,9 +1,9 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.4 --- July 2021
+% Version 4.5 --- October 2021
% modified for pages produced by CTWILL
% further modified for page size of the MMIXware book
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CTWILL4.4+LNCS}
+\xdef\fmtversion{\fmtversion+CTWILL4.5+LNCS}
\let\:=\. % preserve a way to get the dot accent
% (all other accents will still work as usual)
@@ -29,6 +29,7 @@
\def\TEX/{\TeX}
\def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
\def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
\def\9#1{}
\font\eightrm=cmr8
\font\sixrm=cmr6
@@ -278,10 +279,10 @@
% \S is section sign
\def\T#1{\leavevmode % octal, hex or decimal constant
\hbox{$\def\?{\kern.2em}%$%
- \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant
+ \let\ \, % C++ digit separator becomes a little white space
+ \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
\def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
- \def\%{\cdot 2^{\aftergroup}}% power of two (via dirty trick)
- \let\~=\oct \let\^=\hex \let\\=\bin{#1}$}}%$%
+ \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
\def\U{\note{This code is used in section}} % xref for use of a section
\def\Us{\note{This code is used in sections}} % xref for uses of a section
\let\V=\lor % logical or
@@ -295,15 +296,13 @@
%\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
%\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em}\Od}% CWEB style
-\def\hex{\hbox{$^{\scriptscriptstyle\#}$}\Hd} % CWEB style
-\def\bin{\hbox{$^{\scriptscriptstyle b}$}\Bd}
-\def\Od#1/{{\it#1}} % octal digit
-\def\Hd#1/{{\tt#1}} % hexadecimal digit
-\def\Bd#1/{{\tt#1}} % binary digit
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
+\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
\def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
\hbox{\strut\kern2pt\.{#1}\kern2pt}}
\hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
% now here's the mini-index formatting control
\newcount\nrefs % total number of references in partial page