From d28619b4358aaa5c7ae210ce855df17e80b042a5 Mon Sep 17 00:00:00 2001
From: Andreas Scherer <andreas_tex@freenet.de>
Date: Sun, 2 May 2021 13:12:20 +0000
Subject: Revert "[CWEB] New release 4.3."

This reverts commit 3ccac2a7d0f4a19dde861c6f4c178e853d90f0cc.

CWEB 4.3 is seriously broken.

git-svn-id: svn://tug.org/texlive/trunk@59048 c570f23f-e606-0410-a88d-b1316a301751
---
 Build/source/texk/web2c/cwebdir/cwebman.tex | 102 +++++++++++++---------------
 1 file changed, 48 insertions(+), 54 deletions(-)

(limited to 'Build/source/texk/web2c/cwebdir/cwebman.tex')

diff --git a/Build/source/texk/web2c/cwebdir/cwebman.tex b/Build/source/texk/web2c/cwebdir/cwebman.tex
index 26cdb93f1ca..df652232b72 100644
--- a/Build/source/texk/web2c/cwebdir/cwebman.tex
+++ b/Build/source/texk/web2c/cwebdir/cwebman.tex
@@ -1,4 +1,5 @@
 % This file generates the user manual; TeX it, don't read it!
+% update 14 Nov 2016 by DEK: corrected obsolete remarks re debugging info
 
 \def\tangref{3} % where the main explanation of CTANGLing is given
 \input cwebmac
@@ -35,7 +36,7 @@
 
 \def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill}
 \def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno}
-\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.3)}
+\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.2)}
 
 % This verbatim mode assumes that ! marks are !! in the text being copied.
 \def\verbatim{\begingroup
@@ -49,7 +50,7 @@
 \null\vfill
 \centerline{\titlefont The {\ttitlefont CWEB} System of
     Structured Documentation}
-\vskip 18pt\centerline{(Version 4.3 --- April 2021)}
+\vskip 18pt\centerline{(Version 4.2 --- February 2021)}
 \vskip 24pt
 \centerline{\authorfont Donald E. Knuth and Silvio Levy}
 \vfill
@@ -393,9 +394,9 @@ program.  Therefore the \.{CWEB} language allows you to get the effect of
 \CEE/ editing within \TEX/ text, if you place `\.|' marks before and
 after the \CEE/ material. For example, suppose you want to say something
 like this:
-$$\hbox{If \PB{\\{pa}} is declared as `\PB{\&{int} ${}{*}\\{pa}$}',
-the assignment \PB{$\\{pa}\K{\AND}\|a[\T{0}]$} makes \PB{\\{pa}}
-point to the zeroth element of \PB{\|a}.}$$
+$$\hbox{ If \\{pa} is declared as `\&{int} ${}{*}\\{pa}$',
+the assignment $\\{pa}\K{\AND}\|a[\T{0}]$ makes \\{pa}
+point to the zeroth element of \|a.}$$
 The \TEX/ text would look like this in your \.{CWEB} file:
 $$\lpile{\.{If |pa| is declared as `|int *pa|', the assignment}\cr
 \.{|pa=\&a[0]| makes |pa| point to the zeroth element of |a|.}\cr}$$
@@ -476,16 +477,13 @@ respectively, to it; in \CEE/ the constant should be preceded by \.0
 or \.{0x}.  In \.{CWEB} it seems reasonable to let each convention hold
 in its respective realm; so in \CEE/ text you get $40_8$ by typing
 `\.{040}', which \.{CTANGLE} faithfully copies into the \CEE/ file (for
-the compiler's benefit) and which \.{CWEAVE} prints as $\T{\~40/}$.
+the compiler's benefit) and which \.{CWEAVE} prints as $\T{\~40}$.
 Similarly, \.{CWEAVE} prints the hexadecimal \CEE/ constant `\.{0x20}'
-as \T{\^20/}. The use of italic font for octal digits and typewriter font
+as \T{\^20}. The use of italic font for octal digits and typewriter font
 for hexadecimal digits makes the meaning of such constants clearer in
-a document. For consistency, then, you should type `\.{|040|}'  or
-`\.{|0x20|}' in the \TEX/ part of the section.
-
-And if you type a binary constant like `\.{0b00101010}', \.{CWEAVE} prints
-it as $\T{\\00101010/}$. In all numeric literals you may add \.' separators
-for improved readability.
+a document. For consistency, then, you
+should type `\.{|040|}'  or `\.{|0x20|}'
+in the \TEX/ part of the section.
 
 \section Control codes.
 A \.{CWEB} {\sl control code\/}
@@ -763,11 +761,11 @@ and so on. When such characters occur in identifiers, \.{CTANGLE} must replace
 them by standard ASCII alphanumeric characters or
 \.{\_}, in order to generate legal \CEE/ code.  It does this by means
 of a transliteration table, which by default associates the string
-\.{Xab} to the character with ASCII code \T{\^/}$ab$ (where $a$ and $b$ are
+\.{Xab} to the character with ASCII code \T{\^}$ab$ (where $a$ and $b$ are
 hexadecimal digits, and $a\ge8$).  By placing the
 construction \.{@l\ ab\ newstring} in limbo, you are telling
 \.{CTANGLE} to replace this character by \.{newstring} instead.
-For example, the ISO Latin-1 code for the letter `\"u' is \T{\^FC/}
+For example, the ISO Latin-1 code for the letter `\"u' is \T{\^FC}
 (or \.{'\char`\\374'}),
 and \.{CTANGLE} will normally change this code to the
 three-character sequence \.{XFC} if it
@@ -1044,7 +1042,7 @@ by default.)
 
 \option e Enclose \CEE/ material formatted by \.{CWEAVE} in
 brackets \.{\\PB\{...\}}, so that special hooks can be used.
-(On by default.) (Has no effect on \.{CTANGLE}.)
+(On by default; has no effect on \.{CTANGLE}.)
 
 \option f Force line breaks after each \CEE/ statement formatted
 by \.{CWEAVE}. (On by default; \.{-f} saves paper but looks less \CEE/-like
@@ -1053,18 +1051,13 @@ to some people.) (Has no effect on \.{CTANGLE}.)
 \option h Print a happy message at the conclusion of a successful
 run. (On by default.)
 
-\option k Keep single quotes (\.') in numeric literals in the
-\CEE//\CPLUSPLUS/ output. (Off by default.) (\.{CTANGLE} only.)
-
 \option p Give progress reports as the program runs. (On by default.)
 
 \option s Show statistics about memory usage after the program
 runs to completion. (Off by default.)
-If you have large \.{CWEB} files or sections, you may need to see how close
-you come to exceeding the capacity of \.{CTANGLE} and/or \.{CWEAVE}.
-
-\option t Treat \&{typename} in a template like \&{typedef}.
-(Off by default.) (Has no effect on \.{CTANGLE}.)
+If you
+have large \.{CWEB} files or sections, you may need to see
+how close you come to exceeding the capacity of \.{CTANGLE} and/or \.{CWEAVE}.
 
 \option x Include indexes and a table of contents in the \TEX/ file
 output by \.{CWEAVE}. (On by default.) (Has no effect on \.{CTANGLE}.)
@@ -1162,7 +1155,7 @@ for the macros that make this work.)
 Alternatively, thanks to H\`an Th\^e\kern-.3em\raise.3ex\hbox{\'{}} Th\`anh
 and Andreas Scherer, you can generate \.{cob.pdf} in one step by simply
 saying `\.{pdftex}~\.{cob}'.
-And a third way to create PDF output from \.{CWEB} input is to say
+A third way to create PDF output from \.{CWEB} input is to say
 `\.{xetex}~\.{cob}'.
 
 A more elaborate system called \.{CTWILL}, which extends the usual cross
@@ -1218,7 +1211,10 @@ Since blank lines in the change file are not used for matching, we have
 the change file is exhausted. This procedure is called only when
 |changing| is |true|; hence error messages will be reported correctly.
 
-@c
+@<Predecl...@>=
+static void prime_the_change_buffer(void);@/
+
+@ @c
 static void
 prime_the_change_buffer(void)
 {
@@ -1228,8 +1224,6 @@ prime_the_change_buffer(void)
   @<Move |buffer| and |limit| to |change_buffer| and |change_limit|@>@;
 }
 
-@ @<Predecl...@>=@+static void prime_the_change_buffer(void);
-
 @ While looking for a line that begins with \.{@@x} in the change file, we
 allow lines that begin with \.{@@}, as long as they don't begin with \.{@@y},
 \.{@@z}, or \.{@@i} (which would probably mean that the change file is fouled up).
@@ -1274,20 +1268,20 @@ do {
 
 Here's the portion of the \CEE/ code generated by \.{CTANGLE} that corresponds
 to the source on the preceding page.  Notice that sections~29, 30 and~31
-have been tangled into section~27.
+have been tangled into section~28.
 
 \vskip6pt
 \begingroup \def\tt{\eighttt} \baselineskip9pt
 \verbatim
-/*:23*//*27:*/
-#line 227 "common.w"
+/*:24*//*28:*/
+#line 234 "common.w"
 
 static void
 prime_the_change_buffer(void)
 {
 change_limit= change_buffer;
 /*29:*/
-#line 243 "common.w"
+#line 248 "common.w"
 
 while(true){
 change_line++;
@@ -1304,10 +1298,10 @@ err_print("!! Missing @x in change file");
 }
 
 /*:29*/
-#line 232 "common.w"
+#line 239 "common.w"
 
 /*30:*/
-#line 260 "common.w"
+#line 265 "common.w"
 
 do{
 change_line++;
@@ -1319,10 +1313,10 @@ return;
 }while(limit==buffer);
 
 /*:30*/
-#line 233 "common.w"
+#line 240 "common.w"
 
 /*31:*/
-#line 270 "common.w"
+#line 275 "common.w"
 
 {
 change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
@@ -1330,11 +1324,11 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
 }
 
 /*:31*/
-#line 234 "common.w"
+#line 241 "common.w"
 
 }
 
-/*:27*//*32:*/
+/*:28*//*33:*/
 !endgroup
 \endgroup
 \vfill\eject
@@ -1355,7 +1349,11 @@ the change file is exhausted. This procedure is called only when
 \PB{\\{changing}} is \PB{\\{true}}; hence error messages will be reported
 correctly.
 
-\Y\B\1\1\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\2\2\6
+\Y\B\4\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\6
+\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
+\fi
+
+\M{28}\B\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\1\1\2\2\6
 ${}\{{}$\1\6
 ${}\\{change\_limit}\K\\{change\_buffer}{}$;\C{ this value is used if the
 change file ends }\6
@@ -1367,10 +1365,6 @@ change file ends }\6
 \4${}\}{}$\2\par
 \fi
 
-\M{28}\B\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\5
-\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
-\fi
-
 \M{29}While looking for a line that begins with \.{@x} in the change file, we
 allow lines that begin with \.{@}, as long as they don't begin with \.{@y},
 \.{@z}, or \.{@i} (which would probably mean that the change file is fouled
@@ -1398,7 +1392,7 @@ ${}\\{loc}\K\\{buffer}+\T{2};{}$\6
 \\{err\_print}(\.{"!!\ Missing\ @x\ in\ cha}\)\.{nge\ file"});\6
 \4${}\}{}$\2\6
 \4${}\}{}$\2\par
-\U27.\fi
+\U28.\fi
 
 \M{30}Here we are looking at lines following the \.{@x}.
 
@@ -1414,7 +1408,7 @@ ${}\{{}$\1\6
 \4${}\}{}$\2\6
 \4${}\}{}$\2\5
 \&{while} ${}(\\{limit}\E\\{buffer}){}$;\par
-\U27.\fi
+\U28.\fi
 !endgroup
 \endgroup
 \vfil\eject
@@ -1433,7 +1427,11 @@ the change file is exhausted. This procedure is called only when
 \PB{\\{changing}} is \PB{\\{true}}; hence error messages will be reported
 correctly.
 
-\Y\B\1\1\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\2\2\6
+\Y\B\4\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\6
+\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
+\fi
+
+\M{28}\B\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\1\1\2\2\6
 ${}\{{}$\1\6
 ${}\\{change\_limit}\K\\{change\_buffer}{}$;\C{ this value is used if the
 change file ends }\6
@@ -1445,10 +1443,6 @@ change file ends }\6
 \4${}\}{}$\2\par
 \fi
 
-\M{28}\B\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\5
-\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
-\fi
-
 \M{29}While looking for a line that begins with \.{@x} in the change file, we
 allow lines that begin with \.{@}, as long as they don't begin with \.{@y},
 \.{@z}, or \.{@i} (which would probably mean that the change file is fouled
@@ -1476,7 +1470,7 @@ ${}\\{loc}\K\\{buffer}+\T{2};{}$\6
 \\{err\_print}(\.{"!\ Missing\ @x\ in\ cha}\)\.{nge\ file"});\6
 \4${}\}{}$\2\6
 \4${}\}{}$\2\par
-\U27.\fi
+\U28.\fi
 
 \M{30}Here we are looking at lines following the \.{@x}.
 
@@ -1492,7 +1486,7 @@ ${}\{{}$\1\6
 \4${}\}{}$\2\6
 \4${}\}{}$\2\5
 \&{while} ${}(\\{limit}\E\\{buffer}){}$;\par
-\U27.\fi
+\U28.\fi
 
 \M{31}\B\X31:Move \PB{\\{buffer}} and \PB{\\{limit}} to \PB{\\{change\_buffer}}
 and \PB{\\{change\_limit}}\X${}\E{}$\6
@@ -1502,7 +1496,7 @@ ${}\\{change\_limit}\K\\{change\_buffer}+(\&{ptrdiff\_t})(\\{limit}-%
 ${}\\{strncpy}(\\{change\_buffer},\39\\{buffer},\39(\&{size\_t})(\\{limit}-%
 \\{buffer}+\T{1}));{}$\6
 \4${}\}{}$\2\par
-\Us27\ET32.\fi
+\Us28\ET33.\fi
 \vfil\eject\titletrue
 \rightskip=0pt % get out of C mode (cf. \B)
 \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50
@@ -1597,7 +1591,7 @@ $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr
   \.{ { }\\titlefalse \% include headline on the contents page}\cr
   \.{ { }\\def\\rheader\{\\mainfont The \{\\tt CWEAVE\}{ }processor\\hfil\}}\cr
   \.{ { }\\centerline\{\\titlefont The \{\\ttitlefont CWEAVE\}{ }processor\}}\cr
-  \.{ { }\\vskip 15pt \\centerline\{(Version 4.3)\}{ }\\vfill\}}\cr}$$
+  \.{ { }\\vskip 15pt \\centerline\{(Version 4.2)\}{ }\\vfill\}}\cr}$$
 Redefining \.{\\rheader}, which is the headline for right-hand pages,
 suffices in this case to put the desired information at the top of the
 contents page.
-- 
cgit v1.2.3

