summaryrefslogtreecommitdiff
path: root/web/pwebmac
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-18 03:01:43 +0000
committerNorbert Preining <norbert@preining.info>2021-03-18 03:01:43 +0000
commitca17f652236af2ce3a16cb0125fb6e190d59cc17 (patch)
tree1664d8d4a3ba38eacabed5fe0e3d4ff7f2dd966c /web/pwebmac
parentbb51b61cfc3fcb367f52d31948039a1468fbcf80 (diff)
CTAN sync 202103180301
Diffstat (limited to 'web/pwebmac')
-rw-r--r--web/pwebmac/README.md2
-rw-r--r--web/pwebmac/Xerrorlog.tex31
-rw-r--r--web/pwebmac/index.md30
-rwxr-xr-xweb/pwebmac/makeall11
4 files changed, 54 insertions, 20 deletions
diff --git a/web/pwebmac/README.md b/web/pwebmac/README.md
index 8a49380a70..59d5e38f99 100644
--- a/web/pwebmac/README.md
+++ b/web/pwebmac/README.md
@@ -30,4 +30,4 @@ clickable links and bookmarks (depending on your PDF viewer).
The `pwebmac` package is free software and may be used without constraints.
-This is version “4.6.1” of the `pwebmac` package — 2021-03-09, AS.
+This is version “4.6.2” of the `pwebmac` package — 2021-03-17, Andreas Scherer.
diff --git a/web/pwebmac/Xerrorlog.tex b/web/pwebmac/Xerrorlog.tex
new file mode 100644
index 0000000000..6a739a81b0
--- /dev/null
+++ b/web/pwebmac/Xerrorlog.tex
@@ -0,0 +1,31 @@
+\let\goodbye=\bye % we replace \bye with another command
+
+\def\endofpapermacros{% output some lines after the \bye in errorlog.tex
+ % 1. step: skip the motto by Turing; DRF=<initials> of the first name
+ \long\def\skipmotto##1DRF{% ##1: ignored text
+ \smallskip\line{\bf List of abbreviated names:\hss}% a title line
+ \simpleline DRF}% see step 2a)
+ % 2. step: two kind of input lines
+ % a) <initials> <first names> <surname> coded as \simpleline
+ % b) <initials> <first names> <surname> (<info>) coded as \parensline
+ % Note: step 1 starts with type a) and <initials>=DRF
+ % if <initials>=CET switch to b); last line has <initials>=MDS
+ \def\next{\simpleline}\def\withparens{CET}\def\lastline{MDS}%
+ \def\simpleline##1 ##2 ##3 {\processtext!##1!##2 ##3!}% the default for \next
+ \def\parensline##1 ##2 ##3 (##4) {\processtext!##1!##2 ##3!}% <info> isn't needed
+ % 3. step: output name, test for switch to 2b), and test for last line
+ \def\processtext!##1!##2!{% ##1: <initials>; ##2: <first names> <surname>
+ \line{\hbox to 50pt{\hss##1:}\quad##2\hss}% output
+ \def\nxt{##1}% store <initials>
+ \ifx\nxt\withparens % true: switch from 2a) to 2b)
+ \def\next{\parensline}%
+ \else\ifx\nxt\lastline % true: it's the last line
+ \def\next{\csname goodbye\endcsname}% \next=\bye
+ \fi\fi
+ \next}%
+ % 4. step: activate this chain of macros
+ \skipmotto}
+
+\let\bye=\endofpapermacros
+
+\input errorlog
diff --git a/web/pwebmac/index.md b/web/pwebmac/index.md
index 1631382506..1554700c7d 100644
--- a/web/pwebmac/index.md
+++ b/web/pwebmac/index.md
@@ -12,14 +12,16 @@ urlcolor: blue
Welcome to “All Things `WEB`” in “\TeX\ Live.”
Here you find the documented source code of all major `WEB` and `CWEB` programs
-in readable format. The “named” entries represent the unmodified base sources,
-the attached “`chg`” links point to “only the changed sections (or modules),”
-so you may want to study these pairs in parallel. Care has been taken to keep
-the section numbers for the main parts intact.
+in readable format. The “named” entries represent the unmodified base sources
+as written by their respective authors, the attached “`chg`” links point to
+“only the changed sections (or modules)” as applied for release in the “\TeX\
+Live” distribution, so you may want to study these pairs in parallel. Care has
+been taken to keep the section numbers for the main parts intact.
-Although not all the programs here are written or maintained by Donald Knuth,
-it is more convenient for everything to be collected in one place for reading
-and searching. And they all stem from the system that Knuth created.
+Although not all the programs presented here are written or maintained by
+Donald Knuth, it is more convenient for everything to be collected in one place
+for reading and searching. And they all stem from the system that Knuth
+created.
Note that all `WEB` programs are mogrified from Pascal code to C code before
compilation, so further modifications and amendments will occur “for the real
@@ -28,8 +30,10 @@ programs do not require these extra modifications, they get linked directly to
the external runtime environment.)
If you believe to have found anything that remains technically, historically,
-typographically, or politically incorrect, please feel free to
-[report bugs in \TeX\ and friends](https://tug.org/texmfbug/).
+typographically, or politically incorrect in any of these files, please feel
+free to [report bugs in \TeX\ and friends](https://tug.org/texmfbug/) or
+[contact the maintainer of this library](mailto:andreas_github@freenet.de)
+directly.
## Canonical Knuthian WEB programs
@@ -58,7 +62,7 @@ typographically, or politically incorrect, please feel free to
[`WEAVE`](web/weave.pdf)\ ~[`chg`](web/weave-changes.pdf)~ \|
[`TANGLE`](web/tangle.pdf)\ ~[`chg`](web/tangle-changes.pdf)~ \]
-## Complementary WEB programs
+## Complementary WEB programs by other authors
* `other/` \[
[`DVIcopy`](other/dvicopy.pdf)\ ~[`chg`](other/dvicopy-changes.pdf)~ \|
@@ -69,7 +73,7 @@ typographically, or politically incorrect, please feel free to
* `pdftex/` \[ [`pdfTeX`](pdftex/pdftex.pdf)\ ~[`chg`](pdftex/pdftex-changes.pdf)~ \]
* `xetex/` \[ [`XeTeX`](xetex/xetex.pdf)\ ~[`chg`](xetex/xetex-changes.pdf)~ \]
-## CWEB programs
+## CWEB programs by Knuth _et\ al._
* `cweb/` \[
[`CWEBMAN`](cweb/cwebman.pdf) \|
@@ -82,7 +86,7 @@ typographically, or politically incorrect, please feel free to
* `ctie/` \[ [`CTIE`](ctie/ctie.pdf)\ ~[`chg`](ctie/ctie-changes.pdf)~ \]
* `tie/` \[ [`TIE`](tie/tie.pdf)\ ~[`chg`](tie/tie-changes.pdf)~ \]
-## Errata for “Computers & Typesetting”
+## Errata for “Computers & Typesetting” by Donald E.\ Knuth
* `errata/`
* [The Errors of \TeX](errata/errorlog.pdf)
@@ -101,3 +105,5 @@ typographically, or politically incorrect, please feel free to
* [Computers & Typesetting, 31\ January\ 2021](errata/errata.pdf)
## Happy C/WEB Programming!
+
+2021-03-17 Andreas Scherer
diff --git a/web/pwebmac/makeall b/web/pwebmac/makeall
index 546c3984aa..5f817ea242 100755
--- a/web/pwebmac/makeall
+++ b/web/pwebmac/makeall
@@ -83,7 +83,7 @@ do
esac
done
-CWEAVE="cweave -f"
+CWEAVE="cweave -f +lX"
CTWILL="ctwill -f +lpdf"
PAX="pax -wvzf"
SED_I="sed -i" # non-GNU-sed requires an extra '' argument for '-i' option.
@@ -220,11 +220,6 @@ FI
# FIX: purge obsolete macros from XeTeX.
xetex ) $SED_I -e "/\\\\input xewebmac/d" $f.tex ;;
-
- # Use nicer format for C comments and assignment; sans ctwill
- common | ctangle | cweave | refsort | twinx | ctie | tie )
- $SED_I -e "1 s/\(cwebmac\)/\1\n\\\\input Xcwebmac/" \
- $f.tex ;;
esac
# shift table-of-contents pages to the front in PDF
@@ -328,11 +323,13 @@ then
touch pages.tex # let 'manmac' produce output at all
- for f in tripman trapman webman cwebman errorlog
+ for f in tripman trapman webman cwebman
do
$TEX $f
done
+ $TEX -jobname=errorlog /opt/github/web/Xerrorlog.tex
+
for f in one two three four five six seven eight nine ten \
eleven twelve
do