[tex-k] Minor issues in TANGLE and WEAVE

Doug McKenna doug at mathemaesthetics.com
Tue Apr 21 00:55:28 CEST 2020

Two things I've found spending too much time with the source code for tangle.web and weave.web.

1. In tangle.web (version 4.5), in section 72 of the woven PDF or on or around lines 1313--1314 of the WEB file, it is stated that the WEB command @= initiates a "verbatim" Pascal string.  It then says with respect to @=, "It is also used for the end of the string."  But later on, in section 169 or on or about line 3052 in the WEB file, the terminating delimiter being looked for is @>, not @=.

Furthermore, weave.web in section 107, also looks for @> as the terminator for the @= verbatim string command.  All of which makes sense, because @> is the terminating delimiter for a bunch of similar WEB commands.  The CWEB manual says that @= is just another "control text" and all such control texts are terminated by @>.

So I'd say the sentence on line 1314 in tangle.web is incorrect.

2. In weave.web (version 4.4), a numeric macro

@d in_like=15 {\&{in}}

is defined in section 42 (on or about line 820), allegedly to represent the Pascal "in" keyword.  But a few lines below, the numeric macro

@d char_like=24 {\&{and}, \&{or}, \&{not}, \&{in}}

is defined, and the comment for it says that it will be used also for the Pascal "in" keyword (and indeed later on it is).  The macro identifier "in_like" is actually never used anywhere else in the program.

So I'd say the definition of "in_like" should be removed, with appropriate renumbering of the remaining numeric macros.  Or keep the same numbers, with a comment explaining the gap at 15.

Or am I missing something?

Doug McKenna

More information about the tex-k mailing list.