summaryrefslogtreecommitdiff
path: root/info/digests/tex-implementors/025
diff options
context:
space:
mode:
Diffstat (limited to 'info/digests/tex-implementors/025')
-rw-r--r--info/digests/tex-implementors/025730
1 files changed, 730 insertions, 0 deletions
diff --git a/info/digests/tex-implementors/025 b/info/digests/tex-implementors/025
new file mode 100644
index 0000000000..843358cfb4
--- /dev/null
+++ b/info/digests/tex-implementors/025
@@ -0,0 +1,730 @@
+Date: 1 Apr 90 Message No: 025
+
+To: TeX implementors and distributors
+
+From: Barbara Beeton
+
+Subject: TeX memory capacity; new errata; MF 2.0 changes; WEAVE 3.1
+
+
+Now that implementation of TeX 3.0 is underway, I'd like to plan to
+publish a new edition of the memory capacity charts that appeared in
+TUGboat 7#1 (pp 67-70). I would like to include all implementations
+of TeX 3.0 that have passed the TRIP test. The next issue is probably
+too early to have complete information, so I will ask now for you to
+send me the block of code from your change file (or the equivalent)
+giving the memory values so that it can be included in the fall issue.
+Please make sure you include the following: machine and operating
+system for which this implementation is intended, version distributed,
+and form of files distributed (e.g., web, exec, exec only). The
+editorial deadline for the fall issue is September 11.
+
+One area of memory that is coming under increasing strain is the hash
+size. Syntheses of LaTeX and AMS-TeX must resort to modular design to
+avoid overflowing the allowable number of control sequence names.
+TEX.WEB for 3.0 still only provides 2100 entries of hash_size (although
+the comment that this is generous has been removed). I don't know of
+any actual implementation that provides fewer than 2500 entries, and
+most implementations, i suspect, provide even more. (At the AMS, we
+use hash_size=5000 and hash_prime=4253.) I would like to encourage
+all implementors to provide a large enough hash_size (and other memory
+values) to accommodate reasonably straightforward use of LaTeX on
+book-size documents. I will ask Frank Mittelbach and Rainer Schoepf
+for their recommendations.
+
+Some macro packages like PicTeX simply need all the memory they can get.
+Most C versions have been extended to provide main memory beyond 64K,
+and some implementations for other systems as well. If you have such
+a version, or know about one, please send me whatever information you
+have. (This information will also be included in the memory chart
+mentioned earlier.) In particular, i have received an inquiry asking
+whether there are any huge implementations for the PC.
+
+TeX 3.0 contains new features for multilingual hyphenation, but it is
+likely that the memory allocations for patterns (trie_size, trie_op_size,
+others?) will have to be increased. (I have also received an inquiry
+on this topic.) Since i have no experience with multilingual TeX, I
+would appreciate receiving relevant information from anyone who does.
+
+Peter Breitenlohner (see question in message #24) has informed me that
+he received a reply from Don Knuth confirming that his numbers are right.
+The correction has been made in the most recent trip.log, and probably
+trap.log as well, though Peter had not seen that yet.
+
+Enclosed is the full listing of the latest ERRATA.TEX from labrea.
+Don decided to start a new file after publication of the last errata
+list with TUGboat 10 #3; that instalment corresponds to ERRATA.FIV.
+Note that, unlike previous errata listings, this one contains the
+instruction (represented by the caret, ^ ) to place a term in the index.
+This probably won't do anything more than put spurious entries into the
+index file that's generated when you run the errata through TeX, but it
+was a surprise to me, so I thought it worth mentioning. I did make one
+change, namely to put a % in front of the ^L page markers that appear
+above every volume break.
+
+The second enclosure consists of the latest additions to MF84.BUG.
+Please note that number 553 reported in message 23 has been superseded.
+The change first reported is actually in the new MF.WEB file, so it is
+not lost, just apparently considered by Don to be a "cosmetic change".
+
+Two more enclosures contain changes to bring WEAVE.WEB to version 3.1,
+and the changes to WEBMAC.TEX to support the new WEAVE.
+
+The differences between version 2.0 of MF.WEB and the last one reported
+to you, version 1.7, will be sent separately in 4 parts. (I am keeping
+the files to under 30Kb as requested by Wayne Sullivan.)
+
+
+########################################################################
+
+% Bugs (sigh) in Computers \& Typesetting --- the most recent errata
+
+\input manmac
+\font\sltt=cmsltt10
+\font\niness=cmss9
+\font\ninessi=cmssi9
+\proofmodefalse
+\raggedbottom
+\output{\hsize=29pc \onepageout{\unvbox255\kern-\dimen@ \vfil}}
+
+\def\today{\number\day\
+ \ifcase\month\or
+ Jan\or Feb\or Mar\or Apr\or May\or Jun\or
+ Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
+ \ \number\year}
+
+\def\cutpar{{\parfillskip=0pt\par}}
+
+\def\rhead{Bugs in {\tensl Computers \& Typesetting as of \today}}
+\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
+ \hrule width\hsize
+ \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize
+ \nobreak\medskip}
+\def\buginvol#1(#2) \par{\bigbreak\penalty-1000\tenpoint
+ \hrule width\hsize
+ \line{\lower3.5pt\vbox to13pt{}Volume #1\hfil(#2)}\hrule width\hsize
+ \nobreak\medskip}
+\def\slMF{{\manual 89:;}\-{\manual <=>:}} % slant the logo
+\def\0{\raise.7ex\hbox{$\scriptstyle\#$}}
+\newcount\nn
+\newdimen\nsize \newdimen\msize \newdimen\ninept \ninept=9pt
+\newbox\eqbox \setbox\eqbox=\hbox{\kern2pt\eightrm=\kern2pt}
+
+\tenpoint
+\noindent This is a list of all corrections made to {\sl Computers \&
+Typesetting}, Volumes A,~C, and E\null, since 30 September 1989 (when
+the revisions for \TeX\ Version 3.0 and \MF\ Version 2.0 were made).
+Corrections made to the softcover version of {\sl The \TeX book\/} are
+the same as corrections to Volume~A\null. Corrections to the softcover
+version of {\sl The \slMF\kern1ptbook\/} are the same as corrections
+to Volume~C\null. Some of the corrections below have already been made in
+reprintings of the books. Hundreds of changes, too many to list here,
+have been made to Volumes B~and~D because of the upgrades to \TeX\ and
+\MF\null. Readers who need up-to-date information on the \TeX\ and
+\MF\ programs should refer to the |WEB| source files until new
+printings of Volumes B~and~D are issued. \looseness=-1
+
+%
+% volume A
+
+\bugonpage A99, line 4 from the bottom (2/22/90)
+
+\ninepoint\indent
+to be chosen because there was no feasible
+way to keep total demerits small.
+
+\bugonpage A156, line 2 (11/18/89)
+
+\ninepoint
+Commands like |\mathchardef\alpha="010B| are used in
+Appendix~B to define\cutpar
+
+\bugonpage A171, lines 24--26 (3/13/90)
+
+\ninepoint\noindent
+formula produces a result exactly equivalent to
+`|\left(|\<subformula>|\right)|', when the \<subformula> doesn't end
+with Punct, except that the {delimiters} are forced to
+be of the |\big| size regardless of the height and depth of the subformula.
+
+\bugonpage A193, lines 16--18 (12/2/89)
+
+\ninepoint\noindent
+line if you insert
+`^|\noalign||{|^|\break||}|'
+after the |\cr| for that line. You can prohibit {\sl all\/} breaks
+in an |\eqalignno| if you set ^|\interdisplaylinepenalty||=10000|; or you
+can enclose the whole works in a ^|\vbox|:
+
+\bugonpage A233, bottom 9 lines, and top three on next page (12/2/89)
+
+\danger The |\+| macro in Appendix~B works
+by putting the \<text> for each column that's followed by~|&|
+into an hbox as follows:
+\begindisplay
+|\hbox to |\<column width>|{|\<text>|\hss}|
+\enddisplay
+The ^|\hss| means that the text is normally flush left, and that it can
+extend to the right of its box. Since |\hfill| is ``more infinite'' than
+|\hss| in its ability to stretch, it has the effect of right-justifying or
+centering as stated above. Note that |\hfill| doesn't shrink, but |\hss|
+does; if the text doesn't fit in its column, it will stick out at the right.
+You could cancel the shrinkability of |\hss| by adding ^|\hfilneg|; then
+an oversize text would produce an overfull box.
+You could also center some text by putting `|\hss|' before it and just
+`|&|' after it; in that case the text would be allowed to extend to the
+left and right of its column.
+ The last column of a |\+|~line (i.e., the column entry that is
+followed by |\cr|) is treated differently: The
+\<text> is simply put into an hbox with its natural~width.\looseness=-1
+
+\bugonpage A254, line 5 from the bottom (10/5/89)
+
+\ninepoint\noindent
+|\vsize| hasn't changed, and if all insertions have been
+held in place, the same page break\cutpar
+
+\bugonpage A286, lines 30--32 (3/13/90)
+
+\ninepoint\noindent
+reading and expanding this \cstok{par}
+token, \TeX\ will see the \<vertical command> token again. \ (The current
+meaning of the control sequence ^|\par| will be used; \cstok{par} might no
+longer stand for \TeX's |\par| primitive.)
+
+\bugonpage A290, lines 12--13 (3/24/90)
+
+\ninepoint\noindent
+simply a single Ord atom without subscripts or superscripts,
+or an Acc whose nucleus is an Ord, the
+enclosing braces are effectively removed.
+
+\bugonpage A340, nonblank line 11 (3/13/90)
+
+\tenpoint\noindent
+|\topglue 1in % This makes an inch of blank space (1in=2.54cm).|
+
+\bugonpage A342, line 6 ( 3/13/90)
+
+\tenpoint\noindent
+|\topglue| but not |\hglue|. It does not
+illustrate |\raggedright| setting of para-\cutpar
+
+\bugonpage A346, lines 20--21 (12/3/89)
+
+\ninepoint\noindent
+streams used by ^|\read| and ^|\write|, to math
+^{families} used by ^|\fam|, to sets of hyphenation rules used by
+^|\language|, and to insertions (which require
+^|\box|, ^|\count|, ^|\dimen|, and ^|\skip| registers all having the
+same number).
+
+\bugonpage A346, line 20 from the bottom (12/3/89)
+
+\ninepoint\noindent
+manent value. These macros use registers
+|\count10| through |\count20| to hold the\cutpar
+
+\bugonpage A346, lines 8--13 from the bottom (12/3/89)
+
+\ninepoint\noindent
+number was allocated. The inside story of how allocation is actually performed
+should be irrelevant when the allocation macros are used at a higher level;
+you mustn't assume that |plain.tex| really does allocation in any
+particular way.
+\beginlines
+|\count10=22 % this counter allocates \count registers 23, 24, 25, ...|
+\endgroup
+
+\bugonpage A347, lines 2--5 (12/3/89)
+
+\ninepoint{\parindent=0pt
+|\count19=0 % this counter allocates language codes 1, 2, 3, ...|\parbreak
+|\count20=255 % this counter allocates insertions 254, 253, 252, ...|\parbreak
+|\countdef\insc@unt=20 % nickname for the insertion counter|\parbreak
+|\countdef\allocationnumber=21 % the most recent allocation|\parbreak
+|\countdef|^|\m@ne||=22 \m@ne=-1 % a handy constant|\par}
+
+\bugonpage A347, new line after former line 17 (12/3/89)
+
+\ninepoint\noindent
+|\outer\def|^|\newlanguage||{\alloc@9\language\chardef\@cclvi}|
+
+\bugonpage A352, new line before line 6 from the bottom (3/13/90)
+
+\ninepoint\noindent
+|\def\topglue{\nointerlineskip \vglue-\topskip \vglue} % for top of page|
+
+\bugonpage A355, line 8 from the bottom (12/3/89)
+
+\ninepoint\noindent
+| \noindent{\bf#1.\enspace}{\sl#2\par}%|
+
+\bugonpage A363, lines 8--9 from the bottom (12/8/89)
+
+{\ninepoint\parindent=0pt
+| \if@mid \dimen@=\ht0 \advance\dimen@ by\dp\z@ |%
+ |\advance\dimen@ by12\p@|\parbreak%
+| \advance\dimen@ by\pagetotal \advance\dimen@ by-\pageshrink|
+\par}
+
+\bugonpage A375, line 27 (10/30/89)
+
+\ninepoint\noindent
+depending on whether or not |\t|~contains
+an asterisk. \ (Do you see why?) \ And here's\cutpar
+
+\bugonpage A393, lines 3--5 from the bottom (12/3/89)
+
+\ninepoint
+|\hskip-.17em plus-3em minus.11em|\par
+|\vadjust{}\penalty10000|\par
+|\leaders\copy\dbox\hskip3.3\wd\dbox plus1fil minus.3\wd\dbox|
+
+\bugonpage A444, line 4 (3/13/90)
+
+\ninepoint\noindent
+Shift box~$x$ down by ${1\over2}\bigl(h(x)-d(x)\bigr)
+-a$, where $a=\sigma_{22}$, so that the operator character\cutpar
+
+\bugonpage A450, line 8 (12/3/89)
+
+\def\\#1{$_{\kern\scriptspace#1}$}
+\ninepoint\indent
+{\qquad\tt\\0h\\0e\\0n\\5a\\0t\\0 \\1n\\0a\\0 \\0n\\2a\\0t\\0
+ \\1t\\0i\\0o\\0 \\2i\\0o\\0 \\0o\\2n\\0}
+
+\bugonpage A450, line 14 (12/3/89)
+
+\ninepoint
+{\tt.\\0h\\0y$_3$p\\0h\\0e\\2n\\5a\\4t\\2i\\0o\\2n\\0.}
+
+\bugonpage A450, lines 19 and 20 (12/3/89)
+
+\ninepoint\vskip-10pt
+\begindisplay
+\tt\\0o\\2n\\0
+\\0o\\0n\\1c\\0
+\\1c\\0a\\0
+\\1n\\0a\\0
+\\0n\\2a\\0t\\0
+\\1t\\0i\\0o\\0
+\\2i\\0o\\0
+\\0o\\2n\\0
+\enddisplay
+and this yields `{\tt\\0c\\0o\\2n\\1c\\0a\\0t\\0e\\1n\\2a\\1t\\2i\\0o\\2n\\0}',
+i.e., `|con-cate-na-tion|'.
+
+\bugonpage A455, last lines before the quotes (11/30/89)
+
+\ninepoint\noindent
+sit yourself (even in restricted horizontal mode) by saying
+^|\setlanguage|\<number>;\break
+ this changes the current language but it
+does not change |\language|. Each what-\break
+sit records the current
+|\lefthyphenmin| and |\righthyphenmin|.
+
+\bugonpage A467, right column (12/3/89)
+
+\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
+|\hfilneg|, 72, 100, 233, 283, 285, 290, 397.
+
+\bugonpage A468, right column (12/2/89)
+
+\eightpoint
+|\interdisplaylinepenalty|, {\it193}, 349, 362.
+
+\bugonpage A469, left column (12/3/89)
+
+\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
+|\language| (hyphenation method), 273, 346, $\underline{455}$.
+
+\bugonpage A469, right column (10/30/89)
+
+\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
+|\lefthyphenmin|, 273, {\it364}, $\underline{454}$, 455.
+
+\bugonpage A472, left column (12/3/89)
+
+\eightpoint
+|\newlanguage|, 346, $\underline{347}$.
+
+\bugonpage A476, left column (10/30/89)
+
+\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}%
+|\righthyphenmin|, 273, {\it364}, $\underline{454}$, 455.
+
+\bugonpage A479, new entry (3/13/90)
+
+\eightpoint
+|\topglue|, {\it340}, $\underline{352}$.
+
+\bugonpage A480, right column (3/13/90)
+
+\eightpoint
+|\vglue|, $\underline{352}$, {\it408}.
+
+\bugonpage A483, the Providence lines (10/8/89)
+
+\noindent[Change the first one to
+\begintt
+Providence RI 02940\kern.05em-9506, USA.
+\endtt
+Then the second one will be
+\begindisplay
+Providence RI 02940\kern.05em-9506, USA.
+\enddisplay
+The second line will also appear on page C361.]
+
+%
+% volume B
+\hsize=35pc
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+
+
+%
+% volume C
+\hsize=29pc
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+
+\bugonpage C220, top line (3/13/90)
+
+\ninepoint\noindent
+modes you get into by hitting
+`|S|', `|R|', or `|Q|', respectively, in response to error messages\cutpar
+
+\bugonpage C252, line 16 (3/13/90)
+
+\ninepoint\indent
+| for i:=1 upto n_windows: display blankpicture inwindow i; endfor|
+
+\bugonpage C264, lines 4--6 from the bottom (3/24/90)
+
+\ninepoint\noindent
+|vardef |^|counterclockwise|| primary c =|\par\noindent
+| if turningcheck>0:|\par\noindent
+| interim |^|autorounding||:=0;|\par\noindent
+| if |^|turningnumber|| c <= 0: reverse fi fi c enddef;|
+
+\bugonpage C306, line 6 (3/13/90)
+
+\ninepoint\noindent
+| ligtable "'": "'" =: oct"042", % close quotes|
+
+\bugonpage C309, second line from bottom (11/18/89)
+
+\ninepoint\noindent
+| define_whole_vertical_blacker_pixels(vair,slab,| $\cdots$ |);|
+
+\bugonpage C315, line 9 from the bottom (1/2/90)
+
+\ninepoint\noindent
+units of printer's points):
+
+\bugonpage C337, line 4 from the bottom (1/7/90)
+
+\ninepoint\noindent
+|\def\startfont{\font\testfont=\fontname \spaceskip=0pt|
+
+%
+% Volume D
+\hsize=35pc
+\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
+\def\to{\mathrel{.\,.}} % double dot, used only in math mode
+
+%
+% volume E
+\hsize=29pc
+\def\dashto{\mathrel{\hbox{-\kern-.05em}\mkern3.9mu\hbox{-\kern-.05em}}}
+
+\bugonpage E325, line 13 (3/13/90)
+
+\ninepoint\noindent
+{\bf if} \\{serifs}: $x_{3r}=\max(x_{1r},{\rm hround}(x_1+.5\\{dot\_diam}
+ -.2\\{jut})-.5\\{tiny})$\par\noindent
+{\bf else}: $x_3=x_1-.5$ {\bf fi};
+
+\bugonpage E483, line 4 (3/13/90)
+
+\ninepoint
+\rightline{\% Character codes \oct{000}--\oct{100} and \oct{133}--\oct{177}
+ are generated.}
+
+\bugonpage E544, line 5 (3/13/90)
+
+\ninepoint\noindent
+\hskip 3em\vdots\hskip2em\raise2pt\hbox{(the rest of the
+ program for `$\gamma$' in |greekl| comes here)}
+
+\bugonpage E557, line 9 (3/13/90)
+
+\ninepoint
+\rightline{\sl`Nevermore---Ah nevermore.'\thinspace''}
+
+\bugonpage E558, line 21 (3/13/90)
+
+\eightpoint\noindent
+|Clasp a rare and radiant maiden whom the angels name Lenore."|
+
+\bugonpage E570, lines 27--28 look better with proper skewchars (3/13/90)
+
+\begingroup
+\tenpoint\bf
+\textfont0=\tenbf \scriptfont0=\sevenbf
+\font\boldi=cmmib10 \font\boldsy=cmbsy10
+\skewchar\boldi='177 \skewchar\boldsy='60
+\textfont1=\boldi
+\textfont2=\boldsy
+\noindent Here's some bold 10-point math:
+${\hat A}^\Gamma_0
++{\check B}^\Delta_1
+-{\tilde C}^\Theta_2
+\times{\acute D}^\Lambda_3
+/{\grave E}^\Xi_4
+\oplus{\dot F}^\Pi_5
+\ominus{\ddot G}^\Sigma_6
+\otimes{\breve H}^\Phi_7
+\oslash{\bar I}^\Psi_8
+\odot{\vec J}^{\,\Omega}_9$.
+\endgroup
+
+%
+\bye
+
+
+########################################################################
+
+Additions to MF84.BUG as of 25 Mar 90
+
+553. Global variable used prematurely in do_add_to (Alan Jeffrey, 9 Feb 90)
+@x module 403
+@!cur_path_type:double_path_code..also_code; {likewise}
+@y
+@!cur_path_type:double_path_code..contour_code; {likewise}
+@z
+@x module 1059
+begin get_x_next; var_flag:=thing_to_add; scan_primary;
+if cur_type<>token_list then
+ @<Abandon edges command because there's no variable@>
+else begin lhs:=cur_exp; cur_path_type:=cur_mod;@/
+ cur_type:=vacuous; get_x_next; scan_expression;
+ if cur_path_type=also_code then @<Augment some edges by others@>
+@y
+@!add_to_type:double_path_code..also_code; {modifier of \&{addto}}
+begin get_x_next; var_flag:=thing_to_add; scan_primary;
+if cur_type<>token_list then
+ @<Abandon edges command because there's no variable@>
+else begin lhs:=cur_exp; add_to_type:=cur_mod;@/
+ cur_type:=vacuous; get_x_next; scan_expression;
+ if add_to_type=also_code then @<Augment some edges by others@>
+@z
+@x module 1064
+else begin lhs:=null;
+@y
+else begin lhs:=null; cur_path_type:=add_to_type;
+@z
+
+554. Balance the parens showing on the terminal (for Lispers).
+@x module 631
+@!in_open : 0..max_in_open; {the number of lines in the buffer, less one}
+@y
+@!in_open : 0..max_in_open; {the number of lines in the buffer, less one}
+@!open_parens : 0..max_in_open; {the number of open text files}
+@z
+@x module 657
+in_open:=0; max_buf_stack:=0;
+@y
+in_open:=0; open_parens:=0; max_buf_stack:=0;
+@z
+@x module 681
+ begin print_char(")"); force_eof:=false;
+ update_terminal; {show user that file has been read}
+@y
+ begin print_char(")"); decr(open_parens);
+ update_terminal; {show user that file has been read}
+ force_eof:=false;
+@z
+@x module 793
+print_char("("); print(name); update_terminal;
+@y
+print_char("("); incr(open_parens); print(name); update_terminal;
+@z
+@x module 1209
+if job_name=0 then open_log_file;
+@y
+if job_name=0 then open_log_file;
+while open_parens>0 do
+ begin print(" )"); decr(open_parens);
+ end;
+@z
+
+-----------Here I draw the line with respect to further changes
+
+555. (I sincerely hope that there won't be any more)
+
+
+########################################################################
+
+Differences between WEAVE.WEB versions 3.0 and 3.1
+
+;COMPARISON OF TX:<TEX.TEX>WEAVE-40.WEB.1 AND TX:<TEX.NEW>WEAVE-41.WEB.1
+;OPTIONS ARE /E /3
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-22 (1401)
+% Version 3, for Sewell's book, fixed a long-line bug in input_ln (March, 1989).
+% Version 3.1 fixed a bug for programs with only one module (April, 1989).
+% Version 4 was major change to allow 8-bit input (September, 1989).
+
+% Here is TeX material that gets inserted after \input webmac
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-22 (1401)
+% Version 3, for Sewell's book, fixed long-line bug in input_ln (March, 1989).
+% Version 3.1 fixed a bug for programs with only one module (April, 1989).
+% Version 4 was major change to allow 8-bit input (September, 1989).
+% Version 4.1, for Breitenlohner, avoids English-only output (March, 1990).
+
+% Here is TeX material that gets inserted after \input webmac
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-45 (2420)
+ \centerline{(Version 4)}
+ \vfill}
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-46 (2495)
+ \centerline{(Version 4.1)}
+ \vfill}
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-72 (3524)
+@d banner=='This is WEAVE, Version 4'
+
+@ The program begins with a fairly normal header, made up of pieces that
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-73 (3601)
+@d banner=='This is WEAVE, Version 4.1'
+
+@ The program begins with a fairly normal header, made up of pieces that
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-4450 (175079)
+`\.{\\A\ section 101.}'; `\.{\\U\ sections 370 and 1009.}';
+`\.{\\A\ sections 8, 27\\*, and 64.}'.
+
+@p procedure footnote(@!flag:sixteen_bits); {outputs module cross-references}
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-4451 (175158)
+`\.{\\A101.}'; `\.{\\Us370\ET1009.}'; `\.{\\As8, 27\\*, 51\ETs64.}'.
+
+@p procedure footnote(@!flag:sixteen_bits); {outputs module cross-references}
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-4461 (175460)
+out4(" ")("s")("e")("c"); out4("t")("i")("o")("n");
+@<Output all the module numbers on the reference list |cur_xref|@>;
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-4461 (175508)
+@<Output all the module numbers on the reference list |cur_xref|@>;
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-4472 (175912)
+out("~");
+loop@+ begin out_mod(num(cur_xref)-flag);
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-4471 (175907)
+@.\\As@>
+@.\\Us@>
+loop@+ begin out_mod(num(cur_xref)-flag);
+***************
+
+**** FILE TX:<TEX.TEX>WEAVE-40.WEB.1, 1-4476 (176085)
+ if (num(xlink(cur_xref))>flag)or(cur_xref<>xlink(q)) then out(",");
+ {not the last of two}
+ out(" ");
+ if num(xlink(cur_xref))<=flag then out4("a")("n")("d")("~"); {the last}
+ end;
+**** FILE TX:<TEX.NEW>WEAVE-41.WEB.1, 1-4476 (176089)
+ if num(xlink(cur_xref))>flag then out2(",")(" ") {not the last}
+ else begin out3("\")("E")("T"); {the last}
+@.\\ET@>
+ if cur_xref<>xlink(q) then out("s"); {the last of more than two}
+@.\\ETs@>
+ end;
+ end;
+***************
+
+
+########################################################################
+
+Differences between old WEBMAC.TEX and new
+
+;COMPARISON OF TX:<TEX82>WEBMAC.CM.1 AND TX:<BNB.WORK>WEBMAC.TEX.1
+;OPTIONS ARE /E /3
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-2 (63)
+\xdef\fmtversion{\fmtversion+WEBMAC1.4}
+\parskip 0pt % no stretch between paragraphs
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-2 (63)
+\xdef\fmtversion{\fmtversion+WEBMAC4.0} % identifies current set of macros
+\parskip 0pt % no stretch between paragraphs
+***************
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-58 (2559)
+\def\note#1#2.{\Y\noindent{\hangindent2em\baselineskip10pt\eightrm#1 #2.\par}}
+\def\lapstar{\rlap{*}}
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-58 (2594)
+\def\note#1#2.{\Y\noindent{\hangindent2em\baselineskip10pt\eightrm#1~#2.\par}}
+\def\lapstar{\rlap{*}}
+***************
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-62 (2808)
+\def\A{\note{See also}} % cross-reference for multiply defined section names
+\def\B{\ma@\{}}egin olled comment
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-62 (2843)
+\def\A{\note{See also section}} % crossref for doubly defined section name
+\def\As{\note{See also sections}} % crossref for multiply defined section name
+\def\B{\mathopen{\.{@\{}}} % begin controlled comment
+***************
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-68 (3169)
+\def\F{\defin{format}} % format definition
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-69 (3282)
+\def\ET{ and~} % conjunction between two section numbers
+\def\ETs{, and~} % conjunction between the last two of several section numbers
+\def\F{\defin{format}} % format definition
+***************
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-96 (4553)
+\def\U{\note{This code is used in}} % cross-reference for uses of sections
+\let\V=\lor % logical or
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-99 (4804)
+\def\U{\note{This code is used in section}} % crossref for use of a section
+\def\Us{\note{This code is used in sections}} % crossref for uses of a section
+\let\V=\lor % logical or
+***************
+
+**** FILE TX:<TEX82>WEBMAC.CM.1, 1-186 (9074)
+ \def\U{\note{Used in}} % cross-reference for uses of sections
+ \def\:{\par\hangindent 2em}\let\*=*\let\.=\ttentry}
+**** FILE TX:<BNB.WORK>WEBMAC.TEX.1, 1-190 (9406)
+ \def\U{\note{Used in section}} % crossref for use of a section
+ \def\Us{{Used in sections}} % cro for uses on
+ \def\:{\par\hangindent 2em}\let\*=*\let\.=\ttentry}
+***************
+
+
+########################################################################
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Character code reference
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Upper case letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
+% Lower case letters: abcdefghijklmnopqrstuvwxyz
+% Digits: 0123456789
+% Square, curly, angle braces, parentheses: [] {} <> ()
+% Backslash, slash, vertical bar: \ / |
+% Punctuation: . ? ! , : ;
+% Underscore, hyphen, equals sign: _ - =
+% Quotes--right left double: ' ` "
+%"at", "number" "dollar", "percent", "and": @ # $ % &
+% "hat", "star", "plus", "tilde": ^ * + ~
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+[ end of message 025 ]