diff --git a/source/build-aux/ar-lib b/source/build-aux/ar-lib index c74c46c37..152198749 100755 --- a/source/build-aux/ar-lib +++ b/source/build-aux/ar-lib @@ -2,7 +2,7 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2019-07-04.01; # UTC +scriptversion=2024-06-19.01; # UTC # Copyright (C) 2010-2024 Free Software Foundation, Inc. # Written by Peter Rosin . @@ -105,11 +105,15 @@ case $1 in Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...] Members may be specified in a file named with @FILE. + +Report bugs to . +GNU Automake home page: . +General help using GNU software: . EOF exit $? ;; -v | --v*) - echo "$me, version $scriptversion" + echo "$me (GNU Automake) $scriptversion" exit $? ;; esac diff --git a/source/build-aux/compile b/source/build-aux/compile index 2818b7ded..49b3d05fd 100755 --- a/source/build-aux/compile +++ b/source/build-aux/compile @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2023-11-23.18; # UTC +scriptversion=2024-06-19.01; # UTC # Copyright (C) 1999-2024 Free Software Foundation, Inc. # Written by Tom Tromey . @@ -254,7 +254,7 @@ EOF exit $? ;; -v | --v*) - echo "compile $scriptversion" + echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ diff --git a/source/build-aux/depcomp b/source/build-aux/depcomp index 4ade06624..1f0aa972c 100755 --- a/source/build-aux/depcomp +++ b/source/build-aux/depcomp @@ -1,7 +1,7 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2024-06-07.03; # UTC +scriptversion=2024-06-19.01; # UTC # Copyright (C) 1999-2024 Free Software Foundation, Inc. @@ -53,7 +53,7 @@ EOF exit $? ;; -v | --v*) - echo "depcomp $scriptversion" + echo "depcomp (GNU Automake) $scriptversion" exit $? ;; esac diff --git a/source/build-aux/install-sh b/source/build-aux/install-sh index e0af0fe2f..b1d7a6f67 100755 --- a/source/build-aux/install-sh +++ b/source/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2024-06-07.14; # UTC +scriptversion=2024-06-19.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -170,7 +170,7 @@ while test $# -ne 0; do -T) is_target_a_directory=never;; - --version) echo "$0 $scriptversion"; exit $?;; + --version) echo "$0 (GNU Automake) $scriptversion"; exit $?;; --) shift break;; diff --git a/source/libs/icu/icu-src/source/install-sh b/source/libs/icu/icu-src/source/install-sh index e0af0fe2f..b1d7a6f67 100755 --- a/source/libs/icu/icu-src/source/install-sh +++ b/source/libs/icu/icu-src/source/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2024-06-07.14; # UTC +scriptversion=2024-06-19.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -170,7 +170,7 @@ while test $# -ne 0; do -T) is_target_a_directory=never;; - --version) echo "$0 $scriptversion"; exit $?;; + --version) echo "$0 (GNU Automake) $scriptversion"; exit $?;; --) shift break;; diff --git a/source/texk/web2c/ctiedir/ChangeLog b/source/texk/web2c/ctiedir/ChangeLog index 9161b12ed..2e32440a7 100644 --- a/source/texk/web2c/ctiedir/ChangeLog +++ b/source/texk/web2c/ctiedir/ChangeLog @@ -1,3 +1,7 @@ +2024-06-18 Andreas Scherer + + * ctie-k.ch: Recreate with 'f-c-l -ph ctie.w ctie-k.ch'. + 2023-09-03 TANAKA Takuji * ctie.test: Make easier to test on Windows. diff --git a/source/texk/web2c/ctiedir/ctie-k.ch b/source/texk/web2c/ctiedir/ctie-k.ch index e4f258ffb..de1f45424 100644 --- a/source/texk/web2c/ctiedir/ctie-k.ch +++ b/source/texk/web2c/ctiedir/ctie-k.ch @@ -65,7 +65,7 @@ permission notice identical to this one. @z @x [1] l.81 -@d copyright +@d copyright "Copyright 2002,2003 Julian Gilbey. All rights reserved. There is no warranty.\n\ Run with the --version option for other important information." @y @@ -304,7 +304,7 @@ The next piece is simplified using the kpathsea kpse_find_file function. @x [27] l.497 -If the environment variable \.{CWEBINPUTS} is set, or if the compiler flag +If the environment variable \.{CWEBINPUTS} is set, or if the compiler flag of the same name was defined at compile time, \.{CWEB} will look for include files in the directory thus named, if it cannot find them in the current directory. @@ -315,7 +315,7 @@ variable) to search for this file.@.CWEBINPUTS@> @z @x [27] l.510 Don't need the same variables any longer - char temp_file_name[max_file_name_length]; + char temp_file_name[max_file_name_length]; char *file_name_end; char *k, *kk; int l; /* length of file name */ @@ -344,7 +344,7 @@ variable) to search for this file.@.CWEBINPUTS@> if ((l=strlen(CWEBINPUTS))>max_file_name_length-2) too_long(); strcpy(temp_file_name, CWEBINPUTS); #else - l=0; + l=0; #endif /* |CWEBINPUTS| */ } if (l>0) { diff --git a/source/texk/web2c/cwebdir/twinx.ch b/source/texk/web2c/cwebdir/twinx.ch index 195a332f1..9d2aaa92b 100644 --- a/source/texk/web2c/cwebdir/twinx.ch +++ b/source/texk/web2c/cwebdir/twinx.ch @@ -157,6 +157,8 @@ Section 12. } while(fgets(buf,buf_size,f)); @z +Section 14. + @x l.289 C++17 removed 'register' storage class. while (1) {@+register node *p,*q,*r,*s,*t; @y @@ -238,6 +240,8 @@ void collapse( {@+node *x; @z +Section 21. + @x l.403 C++17 removed 'register' storage class. {@+register node *x; @y diff --git a/source/texk/web2c/etexdir/etex.ch b/source/texk/web2c/etexdir/etex.ch index d63635526..c00f50fb6 100644 --- a/source/texk/web2c/etexdir/etex.ch +++ b/source/texk/web2c/etexdir/etex.ch @@ -2,7 +2,7 @@ % WEB change file containing code for various features extending TeX; % to be applied to tex.web in order to define the % e-TeX program. - + % e-TeX is copyright (C) 1999-2012 by P. Breitenlohner (1994,98 by the NTS % team); all rights are reserved. Copying of this file is authorized only if % (1) you are P. Breitenlohner, or if (2) you make absolutely no changes to @@ -16,9 +16,9 @@ % TeX is a trademark of the American Mathematical Society. % e-TeX and NTS are trademarks of the NTS group. -% All line numbers refer to tex.web 3.14159265 as of January 20, 2014. +% All line numbers refer to tex.web 3.141592653 as of January 29, 2021. -@x limbo l.1 - this is e-TeX +@x [0.0] l.1 - this is e-TeX % This program is copyright (C) 1982 by D. E. Knuth; all rights are reserved. % Unlimited copying and redistribution of this file are permitted as long % as this file is not modified. Modifications are permitted, but only if @@ -52,7 +52,7 @@ % and sole responsibility of Professor Knuth. @z %--------------------------------------- -@x limbo l.51 - e-TeX history +@x [0.0] l.54 - e-TeX history % Although considerable effort has been expended to make the TeX program % correct and reliable, no warranty is implied; the author disclaims any % obligation or liability for damages, including but not limited to @@ -117,7 +117,7 @@ % been a ``labor of love'' and the author hopes that users enjoy it. @z %--------------------------------------- -@x limbo l.63 - e-TeX logo, TeXXeT +@x [0.0] l.66 - e-TeX logo, TeXXeT \let\mc=\ninerm % medium caps for names like SAIL @y \let\mc=\ninerm % medium caps for names like SAIL @@ -147,14 +147,14 @@ \fi @z %--------------------------------------- -@x limbo l.66 - bug fix (print only changed modules) +@x [0.0] l.69 - bug fix (print only changed modules) \def\pct!{{\char`\%}} % percent sign in ordinary text @y \def\pct!{{\char`\%}} % percent sign in ordinary text \def\grp{\.{\char'173...\char'175}} @z %--------------------------------------- -@x limbo l.82 - e-TeX basic +@x [0.0] l.85 - e-TeX basic \def\title{\TeX82} @y \def\title{\eTeX} @@ -165,21 +165,21 @@ \let\maybe=\iffalse % print only changed modules @z %--------------------------------------- -@x [1] m.1 l.93 - this is e-TeX +@x [1.1] l.96 - this is e-TeX This is \TeX, a document compiler intended to produce typesetting of high @y This is \eTeX, a program derived from and extending the capabilities of \TeX, a document compiler intended to produce typesetting of high @z %--------------------------------------- -@x [1] m.2 l.182 - e-TeX basic +@x [1.2] l.185 - e-TeX basic If this program is changed, the resulting system should not be called @y This program contains code for various features extending \TeX, therefore this program is called `\eTeX' and not @z %--------------------------------------- -@x [1] m.2 l.188 - e-TeX basic +@x [1.2] l.191 - e-TeX basic November 1984]. @y November 1984]. @@ -189,7 +189,7 @@ helping to determine whether a particular implementation deserves to be known as `\eTeX'. @z %--------------------------------------- -@x [1] m.2 l.190 - e-TeX basic +@x [1.2] l.193 - e-TeX basic @d banner=='This is TeX, Version 3.141592653' {printed when \TeX\ starts} @y @d eTeX_version=2 { \.{\\eTeXversion} } @@ -210,14 +210,14 @@ known as `\eTeX'. @d eTeX_states=1 {number of \eTeX\ state variables in |eqtb|} @z %--------------------------------------- -@x [1] m.3 l.209 - e-TeX basic +@x [1.3] l.212 - e-TeX basic scalar types; there are no `\&{var}' parameters, except in the case of files; @y scalar types; there are no `\&{var}' parameters, except in the case of files --- \eTeX, however, does use `\&{var}' parameters for the |reverse| function; @z %--------------------------------------- -@x [1] m.15 l.504 - e-TeX basic +@x [1.15] l.507 - e-TeX basic @d not_found=45 {go here when you've found nothing} @y @d not_found=45 {go here when you've found nothing} @@ -227,14 +227,14 @@ scalar types; there are no `\&{var}' parameters, except in the case of files @d not_found4=49 {like |not_found|, when there's more than four} @z %--------------------------------------- -@x [10] m.135 l.2895 - e-TeX TeXXeT +@x [10.135] l.2901 - e-TeX TeXXeT |fil|, |fill|, or |filll|). The |subtype| field is not used. @y |fil|, |fill|, or |filll|). The |subtype| field is not used in \TeX. In \eTeX\ the |subtype| field records the box direction mode |box_lr|. @z %--------------------------------------- -@x [10] m.141 l.2980 - e-TeX marks +@x [10.141] l.2986 - e-TeX marks This field occupies a full word instead of a halfword, because there's nothing to put in the other halfword; it is easier in \PASCAL\ to use the full word than to risk leaving garbage in the unused half. @@ -242,21 +242,21 @@ use the full word than to risk leaving garbage in the unused half. In addition there is a |mark_class| field that contains the mark class. @z %--------------------------------------- -@x [10] m.141 l.2986 - e-TeX marks +@x [10.141] l.2992 - e-TeX marks @d mark_ptr(#)==mem[#+1].int {head of the token list for a mark} @y @d mark_ptr(#)==link(#+1) {head of the token list for a mark} @d mark_class(#)==info(#+1) {the mark class} @z %--------------------------------------- -@x [10] m.142 l.2995 - e-TeX marks +@x [10.142] l.3001 - e-TeX marks @d adjust_ptr==mark_ptr {vertical list to be moved out of horizontal list} @y @d adjust_ptr(#)==mem[#+1].int {vertical list to be moved out of horizontal list} @z %--------------------------------------- -@x [10] m.147 l.3084 - e-TeX TeXXeT +@x [10.147] l.3090 - e-TeX TeXXeT the amount of surrounding space inserted by \.{\\mathsurround}. @y the amount of surrounding space inserted by \.{\\mathsurround}. @@ -267,7 +267,7 @@ discarded at a line break or one of the text direction primitives ( \.{\\beginL}, \.{\\endL}, \.{\\beginR}, and \.{\\endR} ). @z %--------------------------------------- -@x [10] m.147 l.3088 - e-TeX TeXXeT +@x [10.147] l.3094 - e-TeX TeXXeT @d after=1 {|subtype| for math node that winds up a formula} @y @d after=1 {|subtype| for math node that winds up a formula} @@ -287,14 +287,14 @@ discarded at a line break or one of the text direction primitives ( @d begin_LR_type(#)==(#-after+before) @z %--------------------------------------- -@x [12] m.175 l.3561 - e-TeX TeXXeT +@x [12.175] l.3567 - e-TeX TeXXeT math_node: print_char("$"); @y math_node: if subtype(p)>=L_code then print("[]") else print_char("$"); @z %--------------------------------------- -@x [12] m.184 l.3728 - e-TeX TeXXeT +@x [12.184] l.3734 - e-TeX TeXXeT begin print(", shifted "); print_scaled(shift_amount(p)); end; @y @@ -303,7 +303,7 @@ math_node: if subtype(p)>=L_code then print("[]") if eTeX_ex then @; @z %--------------------------------------- -@x [12] m.192 l.3826 - e-TeX TeXXeT +@x [12.192] l.3832 - e-TeX TeXXeT begin print_esc("math"); @y if subtype(p)>after then @@ -316,7 +316,7 @@ if subtype(p)>after then begin print_esc("math"); @z %--------------------------------------- -@x [12] m.196 l.3859 - e-TeX marks +@x [12.196] l.3865 - e-TeX marks begin print_esc("mark"); print_mark(mark_ptr(p)); @y begin print_esc("mark"); @@ -326,70 +326,70 @@ if mark_class(p)<>0 then print_mark(mark_ptr(p)); @z %--------------------------------------- -@x [15] m.208 l.4096 - e-TeX saved_items +@x [15.208] l.4102 - e-TeX saved_items @d un_vbox=24 {unglue a box ( \.{\\unvbox}, \.{\\unvcopy} )} @y @d un_vbox=24 {unglue a box ( \.{\\unvbox}, \.{\\unvcopy} )} {( or \.{\\pagediscards}, \.{\\splitdiscards} )} @z %--------------------------------------- -@x [15] m.208 l.4106 - e-TeX TeXXeT +@x [15.208] l.4112 - e-TeX TeXXeT @d valign=33 {vertical table alignment ( \.{\\valign} )} @y @d valign=33 {vertical table alignment ( \.{\\valign} )} {or text direction directives ( \.{\\beginL}, etc.~)} @z %--------------------------------------- -@x [15] m.208 l.4122 - e-TeX middle +@x [15.208] l.4128 - e-TeX middle @d left_right=49 {variable delimiter ( \.{\\left}, \.{\\right} )} @y @d left_right=49 {variable delimiter ( \.{\\left}, \.{\\right} )} {( or \.{\\middle} )} @z %--------------------------------------- -@x [15] m.209 l.4166 - e-TeX basic +@x [15.209] l.4172 - e-TeX basic \.{\\insertpenalties} )} @y \.{\\insertpenalties} )} {( or \.{\\interactionmode} )} @z %--------------------------------------- -@x [15] m.209 l.4168 - e-TeX penalties +@x [15.209] l.4174 - e-TeX penalties @d set_shape=84 {specify fancy paragraph shape ( \.{\\parshape} )} @y @d set_shape=84 {specify fancy paragraph shape ( \.{\\parshape} )} {(or \.{\\interlinepenalties}, etc.~)} @z %--------------------------------------- -@x [15] m.209 l.4178 - e-TeX protected +@x [15.209] l.4184 - e-TeX protected @d prefix=93 {qualify a definition ( \.{\\global}, \.{\\long}, \.{\\outer} )} @y @d prefix=93 {qualify a definition ( \.{\\global}, \.{\\long}, \.{\\outer} )} {( or \.{\\protected} )} @z %--------------------------------------- -@x [15] m.209 l.4181 - e-TeX read_line +@x [15.209] l.4187 - e-TeX read_line @d read_to_cs=96 {read into a control sequence ( \.{\\read} )} @y @d read_to_cs=96 {read into a control sequence ( \.{\\read} )} {( or \.{\\readline} )} @z %--------------------------------------- -@x [15] m.210 l.4196 - e-TeX scan_tokens +@x [15.210] l.4202 - e-TeX scan_tokens @d input=max_command+4 {input a source file ( \.{\\input}, \.{\\endinput} )} @y @d input=max_command+4 {input a source file ( \.{\\input}, \.{\\endinput} )} {( or \.{\\scantokens} )} @z %--------------------------------------- -@x [15] m.210 l.4201 - e-TeX unexpanded +@x [15.210] l.4207 - e-TeX unexpanded @d the=max_command+9 {expand an internal quantity ( \.{\\the} )} @y @d the=max_command+9 {expand an internal quantity ( \.{\\the} )} {( or \.{\\unexpanded}, \.{\\detokenize} )} @z %--------------------------------------- -@x [16] m.212 l.4304 - e-TeX basic +@x [16.212] l.4310 - e-TeX basic user's output routine. @y user's output routine. @@ -402,14 +402,14 @@ display. In math mode it is known as |delim_ptr| and points to the most recent |left_noad| or |middle_noad| of a |math_left_group|. @z %--------------------------------------- -@x [16] m.212 l.4319 - e-TeX basic +@x [16.212] l.4325 - e-TeX basic @!head_field,@!tail_field: pointer; @y @!head_field,@!tail_field: pointer; @!eTeX_aux_field: pointer; @z %--------------------------------------- -@x [16] m.213 l.4326 - e-TeX basic +@x [16.213] l.4332 - e-TeX basic @d tail==cur_list.tail_field {final node on current list} @y @d tail==cur_list.tail_field {final node on current list} @@ -419,21 +419,21 @@ recent |left_noad| or |middle_noad| of a |math_left_group|. @d delim_ptr==eTeX_aux {most recent left or right noad of a math left group} @z %--------------------------------------- -@x [16] m.215 l.4357 - e-TeX basic +@x [16.215] l.4363 - e-TeX basic mode:=vmode; head:=contrib_head; tail:=contrib_head; @y mode:=vmode; head:=contrib_head; tail:=contrib_head; eTeX_aux:=null; @z %--------------------------------------- -@x [16] m.216 l.4373 push_nest - e-TeX basic +@x [16.216] l.4379 - push_nest - e-TeX basic incr(nest_ptr); head:=get_avail; tail:=head; prev_graf:=0; mode_line:=line; @y incr(nest_ptr); head:=get_avail; tail:=head; prev_graf:=0; mode_line:=line; eTeX_aux:=null; @z %--------------------------------------- -@x [17] m.230 l.4736 - e-TeX basic, every_eof +@x [17.230] l.4742 - e-TeX basic, every_eof @d toks_base=local_base+10 {table of 256 token list registers} @y @d tex_toks=local_base+10 {end of \TeX's token list parameters} @@ -445,7 +445,7 @@ eTeX_aux:=null; @d toks_base=etex_toks {table of 256 token list registers} @z %--------------------------------------- -@x [17] m.230 l.4737 - e-TeX basic, penalties +@x [17.230] l.4743 - e-TeX basic, penalties @d box_base=toks_base+256 {table of 256 box registers} @y @# @@ -459,14 +459,14 @@ eTeX_aux:=null; @d box_base=etex_pens {table of 256 box registers} @z %--------------------------------------- -@x [17] m.231 l.4802 - e-TeX basic +@x [17.231] l.4808 - e-TeX basic othercases print_esc("errhelp") @y @/@@/ othercases print_esc("errhelp") @z %--------------------------------------- -@x [17] m.232 l.4820 - e-TeX penalties +@x [17.232] l.4826 - e-TeX penalties eq_level(par_shape_loc):=level_one;@/ @y eq_level(par_shape_loc):=level_one;@/ @@ -474,7 +474,7 @@ for k:=etex_pen_base to etex_pens-1 do eqtb[k]:=eqtb[par_shape_loc]; @z %--------------------------------------- -@x [17] m.233 l.4848 - e-TeX penalties +@x [17.233] l.4854 - e-TeX penalties if n=par_shape_loc then begin print_esc("parshape"); print_char("="); if par_shape_ptr=null then print_char("0") @@ -489,7 +489,7 @@ if (n=par_shape_loc) or ((n>=etex_pen_base) and (n=etex_pen_base) and (n=etex_pen_base) and (n@/ othercases print("[unknown integer parameter!]") @z %--------------------------------------- -@x [18] m.264 l.5627 primitive - e-TeX basic +@x [18.264] l.5639 - primitive - e-TeX basic @!j:small_number; {index into |buffer|} @y @!j:0..buf_size; {index into |buffer|} @z %--------------------------------------- -@x [18] m.264 l.5631 primitive - e-TeX basic +@x [18.264] l.5643 - primitive - e-TeX basic {we will move |s| into the (empty) |buffer|} for j:=0 to l-1 do buffer[j]:=so(str_pool[k+j]); cur_val:=id_lookup(0,l); {|no_new_control_sequence| is |false|} @@ -552,26 +552,26 @@ othercases print("[unknown integer parameter!]") cur_val:=id_lookup(first,l); {|no_new_control_sequence| is |false|} @z %--------------------------------------- -@x [18] m.265 l.5706 - e-TeX penalties +@x [18.265] l.5718 - e-TeX penalties primitive("parshape",set_shape,0);@/ @y primitive("parshape",set_shape,par_shape_loc);@/ @z %--------------------------------------- -@x [18] m.265 l.5723 - e-TeX sparse arrays +@x [18.265] l.5735 - e-TeX sparse arrays primitive("toks",toks_register,0);@/ @y primitive("toks",toks_register,mem_bot);@/ @z %--------------------------------------- -@x [18] m.266 l.5756 - e-TeX cond +@x [18.266] l.5768 - e-TeX cond expand_after: print_esc("expandafter"); @y expand_after: if chr_code=0 then print_esc("expandafter") @; @z %--------------------------------------- -@x [18] m.266 l.5762 - e-TeX marks +@x [18.266] l.5774 - e-TeX marks mark: print_esc("mark"); @y mark: begin print_esc("mark"); @@ -579,14 +579,14 @@ mark: begin print_esc("mark"); end; @z %--------------------------------------- -@x [18] m.266 l.5773 - e-TeX read_line +@x [18.266] l.5785 - e-TeX read_line read_to_cs: print_esc("read"); @y read_to_cs: if chr_code=0 then print_esc("read") @; @z %--------------------------------------- -@x [18] m.266 l.5777 - e-TeX penalties +@x [18.266] l.5789 - e-TeX penalties set_shape: print_esc("parshape"); @y set_shape: case chr_code of @@ -595,33 +595,33 @@ set_shape: case chr_code of end; {there are no other cases} @z %--------------------------------------- -@x [18] m.266 l.5778 - e-TeX unexpanded +@x [18.266] l.5790 - e-TeX unexpanded the: print_esc("the"); @y the: if chr_code=0 then print_esc("the") @; @z %--------------------------------------- -@x [18] m.266 l.5779 - e-TeX sparse arrays +@x [18.266] l.5791 - e-TeX sparse arrays toks_register: print_esc("toks"); @y toks_register: @; @z %--------------------------------------- -@x [18] m.266 l.5781 - e-TeX TeXXeT +@x [18.266] l.5793 - e-TeX TeXXeT valign: print_esc("valign"); @y valign: if chr_code=0 then print_esc("valign")@/ @; @z %--------------------------------------- -@x [19] m.268 l.5815 - e-TeX sparse arrays +@x [19.268] l.5827 - e-TeX sparse arrays interpreted in one of four ways: @y interpreted in one of five ways: @z %--------------------------------------- -@x [19] m.268 l.5835 - e-TeX tracing +@x [19.268] l.5847 - e-TeX tracing the entries for that group. @y the entries for that group. @@ -634,7 +634,7 @@ group. Furthermore |save_index(p)| and |save_level(p)| should replace the values of |sa_chain| and |sa_level| respectively. @z %--------------------------------------- -@x [19] m.268 l.5845 - e-TeX basic +@x [19.268] l.5857 - e-TeX basic @d level_boundary=3 {|save_type| corresponding to beginning of group} @y @d level_boundary=3 {|save_type| corresponding to beginning of group} @@ -643,19 +643,19 @@ the values of |sa_chain| and |sa_level| respectively. @p@t\4@>@ @z %--------------------------------------- -@x [19] m.273 l.5903 - e-TeX tracing +@x [19.273] l.5915 - e-TeX tracing @ The following macro is used to test if there is room for up to six more @y @ The following macro is used to test if there is room for up to seven more @z %--------------------------------------- -@x [19] m.273 l.5909 check_full_save_stack - e-TeX tracing +@x [19.273] l.5921 - check_full_save_stack - e-TeX tracing if max_save_stack>save_size-6 then overflow("save size",save_size); @y if max_save_stack>save_size-7 then overflow("save size",save_size); @z %--------------------------------------- -@x [19] m.274 l.5931 new_save_level - e-TeX tracing +@x [19.274] l.5943 - new_save_level - e-TeX tracing begin check_full_save_stack; @y begin check_full_save_stack; @@ -664,7 +664,7 @@ if eTeX_ex then end; @z %--------------------------------------- -@x [19] m.274 l.5938 new_save_level - e-TeX tracing +@x [19.274] l.5950 - new_save_level - e-TeX tracing cur_boundary:=save_ptr; incr(cur_level); incr(save_ptr); cur_group:=c; @y cur_boundary:=save_ptr; cur_group:=c; @@ -672,14 +672,14 @@ cur_boundary:=save_ptr; cur_group:=c; incr(cur_level); incr(save_ptr); @z %--------------------------------------- -@x [19] m.275 l.5956 eq_destroy - e-TeX sparse arrays +@x [19.275] l.5968 - eq_destroy - e-TeX sparse arrays othercases do_nothing @y @/@@/ othercases do_nothing @z %--------------------------------------- -@x [19] m.277 l.5978 - e-TeX tracing +@x [19.277] l.5990 - e-TeX tracing the call, since |eq_save| makes the necessary test. @y the call, since |eq_save| makes the necessary test. @@ -688,7 +688,7 @@ the call, since |eq_save| makes the necessary test. tats @z %--------------------------------------- -@x [19] m.277 l.5982 eq_define - e-TeX tracing +@x [19.277] l.5994 - eq_define - e-TeX tracing begin if eq_level(p)=cur_level then eq_destroy(eqtb[p]) @y label exit; @@ -700,14 +700,14 @@ assign_trace(p,"changing")@;@/ if eq_level(p)=cur_level then eq_destroy(eqtb[p]) @z %--------------------------------------- -@x [19] m.277 l.5985 eq_define - e-TeX tracing +@x [19.277] l.5997 - eq_define - e-TeX tracing end; @y assign_trace(p,"into")@;@/ exit:end; @z %--------------------------------------- -@x [19] m.278 l.5992 eq_word_define - e-TeX tracing +@x [19.278] l.6004 - eq_word_define - e-TeX tracing begin if xeq_level[p]<>cur_level then @y label exit; @@ -719,14 +719,14 @@ assign_trace(p,"changing")@;@/ if xeq_level[p]<>cur_level then @z %--------------------------------------- -@x [19] m.278 l.5996 eq_word_define - e-TeX tracing +@x [19.278] l.6008 - eq_word_define - e-TeX tracing end; @y assign_trace(p,"into")@;@/ exit:end; @z %--------------------------------------- -@x [19] m.279 l.6005 geq_define - e-TeX tracing +@x [19.279] l.6017 - geq_define - e-TeX tracing begin eq_destroy(eqtb[p]); eq_level(p):=level_one; eq_type(p):=t; equiv(p):=e; @y @@ -737,7 +737,7 @@ end; assign_trace(p,"into")@;@/ @z %--------------------------------------- -@x [19] m.279 l.6010 geq_word_define - e-TeX tracing +@x [19.279] l.6022 - geq_word_define - e-TeX tracing begin eqtb[p].int:=w; xeq_level[p]:=level_one; @y begin assign_trace(p,"globally changing")@;@/ @@ -746,13 +746,13 @@ end; assign_trace(p,"into")@;@/ @z %--------------------------------------- -@x [19] m.281 l.6027 - e-TeX tracing +@x [19.281] l.6039 - e-TeX tracing @p@t\4@>@@;@/ @y @p @z %--------------------------------------- -@x [19] m.281 l.6034 unsave - e-TeX optimized \aftergroup +@x [19.281] l.6046 - unsave - e-TeX optimized \aftergroup begin if cur_level>level_one then @y @!a:boolean; {have we already processed an \.{\\aftergroup} ?} @@ -760,7 +760,7 @@ begin a:=false; if cur_level>level_one then @z %--------------------------------------- -@x [19] m.282 l.6048 - e-TeX sparse arrays +@x [19.282] l.6060 - e-TeX sparse arrays else begin if save_type(save_ptr)=restore_old_value then @y else if save_type(save_ptr)=restore_sa then @@ -769,7 +769,7 @@ if cur_level>level_one then else begin if save_type(save_ptr)=restore_old_value then @z %--------------------------------------- -@x [19] m.282 l.6056 - e-TeX tracing +@x [19.282] l.6068 - e-TeX tracing done: cur_group:=save_level(save_ptr); cur_boundary:=save_index(save_ptr) @y done: @!stat if tracing_groups>0 then group_trace(true);@+tats@;@/ @@ -779,39 +779,39 @@ cur_group:=save_level(save_ptr); cur_boundary:=save_index(save_ptr); if eTeX_ex then decr(save_ptr) @z %--------------------------------------- -@x [19] m.284 l.6082 - e-TeX tracing +@x [19.284] l.6094 - e-TeX tracing @ @= @y @ @= @z %--------------------------------------- -@x [20] m.289 l.6170 - e-TeX protected +@x [20.289] l.6182 - e-TeX protected @d end_match_token=@'7000 {$2^8\cdot|end_match|$} @y @d end_match_token=@'7000 {$2^8\cdot|end_match|$} @d protected_token=@'7001 {$2^8\cdot|end_match|+1$} @z %--------------------------------------- -@x [20] m.294 l.6295 - e-TeX protected +@x [20.294] l.6307 - e-TeX protected end_match: print("->"); @y end_match: if c=0 then print("->"); @z %--------------------------------------- -@x [20] m.296 l.6316 print_meaning - e-TeX marks +@x [20.296] l.6328 - print_meaning - e-TeX marks else if cur_cmd=top_bot_mark then @y else if (cur_cmd=top_bot_mark)and(cur_chr0 then print_char("}"); @z %--------------------------------------- -@x [22] m.303 l.6490 show_context - e-TeX scan_tokens +@x [22.303] l.6502 - show_context - e-TeX scan_tokens the terminal, under control of the procedure |read_toks|.) @y the terminal, under control of the procedure |read_toks|.) @@ -850,7 +850,7 @@ Finally |18<=name<=19| indicates that we are reading a pseudo file created by the \.{\\scantokens} command. @z %--------------------------------------- -@x [22] m.307 l.6687 - e-TeX basic, every_eof +@x [22.307] l.6699 - e-TeX basic, every_eof only if |token_type>=macro|. @^reference counts@> @y @@ -861,7 +861,7 @@ Since \eTeX's additional token list parameters precede |toks_base|, the corresponding token types must precede |write_text|. @z %--------------------------------------- -@x [22] m.307 l.6708 - e-TeX basic +@x [22.307] l.6720 - e-TeX basic @d write_text=15 {|token_type| code for \.{\\write}} @y @# @@ -872,13 +872,13 @@ corresponding token types must precede |write_text|. @d write_text=toks_base-eTeX_text_offset {|token_type| code for \.{\\write}} @z %--------------------------------------- -@x [22] m.311 l.6764 show_context - e-TeX scan_tokens +@x [22.311] l.6776 - show_context - e-TeX scan_tokens if (name>17) or (base_ptr=0) then bottom_line:=true; @y if (name>19) or (base_ptr=0) then bottom_line:=true; @z %--------------------------------------- -@x [22] m.313 l.6809 - e-TeX scan_tokens +@x [22.313] l.6821 - e-TeX scan_tokens else begin print_nl("l."); print_int(line); @y else begin print_nl("l."); @@ -886,14 +886,14 @@ else begin print_nl("l."); else print_int(line_stack[index+1]); {input from a pseudo file} @z %--------------------------------------- -@x [22] m.314 l.6831 - e-TeX basic +@x [22.314] l.6843 - e-TeX basic write_text: print_nl(" "); @y every_eof_text: print_nl(" "); write_text: print_nl(" "); @z %--------------------------------------- -@x [23] m.326 l.7024 - e-TeX optimized \aftergroup +@x [23.326] l.7036 - e-TeX optimized \aftergroup begin t:=cur_tok; cur_tok:=p; back_input; cur_tok:=t; @y begin t:=cur_tok; cur_tok:=p; @@ -908,7 +908,7 @@ else begin back_input; a:=eTeX_ex; cur_tok:=t; @z %--------------------------------------- -@x [23] m.328 l.7052 begin_file_reading - e-TeX every_eof, tracing_nesting +@x [23.328] l.7064 - begin_file_reading - e-TeX every_eof, tracing_nesting incr(in_open); push_input; index:=in_open; @y incr(in_open); push_input; index:=in_open; @@ -916,21 +916,21 @@ eof_seen[index]:=false; grp_stack[index]:=cur_boundary; if_stack[index]:=cond_ptr; @z %--------------------------------------- -@x [23] m.329 l.7062 end_file_reading - e-TeX scan_tokens +@x [23.329] l.7074 - end_file_reading - e-TeX scan_tokens if name>17 then a_close(cur_file); {forget it} @y if (name=18)or(name=19) then pseudo_close else if name>17 then a_close(cur_file); {forget it} @z %--------------------------------------- -@x [23] m.331 l.7081 - e-TeX tracing_nesting +@x [23.331] l.7093 - e-TeX tracing_nesting in_open:=0; open_parens:=0; max_buf_stack:=0; @y in_open:=0; open_parens:=0; max_buf_stack:=0; grp_stack[0]:=0; if_stack[0]:=null; @z %--------------------------------------- -@x [24] m.362 l.7553 - e-TeX scan_tokens, every_eof +@x [24.362] l.7566 - e-TeX scan_tokens, every_eof if not force_eof then @y if not force_eof then @@ -946,7 +946,7 @@ if not force_eof then else @z %--------------------------------------- -@x [24] m.362 l.7556 - e-TeX every_eof +@x [24.362] l.7569 - e-TeX every_eof else force_eof:=true; @y else if (every_eof<>null)and not eof_seen[index] then @@ -956,7 +956,7 @@ if not force_eof then else force_eof:=true; @z %--------------------------------------- -@x [24] m.362 l.7559 - e-TeX scan_tokens +@x [24.362] l.7572 - e-TeX scan_tokens begin print_char(")"); decr(open_parens); update_terminal; {show user that file has been read} @y @@ -970,35 +970,35 @@ if not force_eof then end; @z %--------------------------------------- -@x [25] m.366 l.7643 - e-TeX basic +@x [25.366] l.7656 - e-TeX basic @t\4@>@@;@/ @y @t\4@>@@;@/ @t\4@>@@;@/ @z %--------------------------------------- -@x [25] m.366 l.7650 expand - e-TeX cond +@x [25.366] l.7663 - expand - e-TeX cond procedure expand; @y procedure expand; label reswitch; @z %--------------------------------------- -@x [25] m.366 l.7661 expand - e-TeX cond +@x [25.366] l.7674 - expand - e-TeX cond if cur_cmd @y reswitch: if cur_cmd @z %--------------------------------------- -@x [25] m.367 l.7672 - e-TeX cond +@x [25.367] l.7685 - e-TeX cond expand_after:@; @y expand_after:if cur_chr=0 then @ else @; @z %--------------------------------------- -@x [25] m.377 l.7792 - e-TeX scan_tokens +@x [25.377] l.7805 - e-TeX scan_tokens input: if chr_code=0 then print_esc("input")@+else print_esc("endinput"); @y input: if chr_code=0 then print_esc("input") @@ -1006,14 +1006,14 @@ input: if chr_code=0 then print_esc("input") else print_esc("endinput"); @z %--------------------------------------- -@x [25] m.378 l.7795 - e-TeX scan_tokens +@x [25.378] l.7808 - e-TeX scan_tokens if cur_chr>0 then force_eof:=true @y if cur_chr=1 then force_eof:=true @/@@/ @z %--------------------------------------- -@x [25] m.382 l.7851 - e-TeX marks +@x [25.382] l.7864 - e-TeX marks @d top_mark_code=0 {the mark in effect at the previous page break} @y @d marks_code==5 {add this for \.{\\topmarks} etc.} @@ -1021,13 +1021,13 @@ if cur_chr=1 then force_eof:=true @d top_mark_code=0 {the mark in effect at the previous page break} @z %--------------------------------------- -@x [25] m.385 l.7883 - e-TeX marks +@x [25.385] l.7896 - e-TeX marks top_bot_mark: case chr_code of @y top_bot_mark: begin case (chr_code mod marks_code) of @z %--------------------------------------- -@x [25] m.385 l.7889 - e-TeX marks +@x [25.385] l.7902 - e-TeX marks endcases; @y endcases; @@ -1035,7 +1035,7 @@ top_bot_mark: begin case (chr_code mod marks_code) of end; @z %--------------------------------------- -@x [25] m.386 l.7895 - e-TeX marks +@x [25.386] l.7908 - e-TeX marks begin if cur_mark[cur_chr]<>null then begin_token_list(cur_mark[cur_chr],mark_text); @y @@ -1046,28 +1046,28 @@ else @; if cur_ptr<>null then begin_token_list(cur_ptr,mark_text); @z %--------------------------------------- -@x [25] m.389 l.7958 macro_call - e-TeX protected +@x [25.389] l.7971 - macro_call - e-TeX protected if info(r)<>end_match_token then @y if info(r)=protected_token then r:=link(r); if info(r)<>end_match_token then @z %--------------------------------------- -@x [26] m.409 l.8270 - e-TeX basic +@x [26.409] l.8283 - e-TeX basic @t\4\4@>@ @y @t\4\4@>@@; @t\4\4@>@ @z %--------------------------------------- -@x [26] m.411 l.8314 - e-TeX sparse arrays +@x [26.411] l.8327 - e-TeX sparse arrays |glue_val|, or |mu_val|. @y |glue_val|, or |mu_val| more than |mem_bot| (dynamic variable-size nodes cannot have these values) @z %--------------------------------------- -@x [26] m.411 l.8317 - e-TeX sparse arrays +@x [26.411] l.8330 - e-TeX sparse arrays primitive("count",register,int_val); @!@:count_}{\.{\\count} primitive@> primitive("dimen",register,dimen_val); @@ -1085,7 +1085,7 @@ primitive("skip",register,mem_bot+glue_val); primitive("muskip",register,mem_bot+mu_val); @z %--------------------------------------- -@x [26] m.412 l.8327 - e-TeX sparse arrays +@x [26.412] l.8340 - e-TeX sparse arrays register: if chr_code=int_val then print_esc("count") else if chr_code=dimen_val then print_esc("dimen") else if chr_code=glue_val then print_esc("skip") @@ -1094,7 +1094,7 @@ register: if chr_code=int_val then print_esc("count") register: @; @z %--------------------------------------- -@x [26] m.413 l.8343 scan_something_internal - e-TeX basic +@x [26.413] l.8356 - scan_something_internal - e-TeX basic var m:halfword; {|chr_code| part of the operand token} @y label exit; @@ -1104,13 +1104,13 @@ var m:halfword; {|chr_code| part of the operand token} @!i:four_quarters; {character info} @z %--------------------------------------- -@x [26] m.413 l.8369 scan_something_internal - e-TeX basic +@x [26.413] l.8382 - scan_something_internal - e-TeX basic end; @y exit:end; @z %--------------------------------------- -@x [26] m.415 l.8390 - e-TeX sparse arrays +@x [26.415] l.8403 - e-TeX sparse arrays begin scan_eight_bit_int; m:=toks_base+cur_val; end; scanned_result(equiv(m))(tok_val); @@ -1128,7 +1128,7 @@ exit:end; cur_val_level:=tok_val; @z %--------------------------------------- -@x [26] m.416 l.8405 - e-TeX basic +@x [26.416] l.8418 - e-TeX basic |glue_val|, |input_line_no_code|, or |badness_code|. @y |glue_val|, |input_line_no_code|, or |badness_code|. @@ -1136,7 +1136,7 @@ exit:end; the codes for its extensions: |eTeX_version_code|, \dots\ . @z %--------------------------------------- -@x [26] m.416 l.8407 - e-TeX basic +@x [26.416] l.8420 - e-TeX basic @d input_line_no_code=glue_val+1 {code for \.{\\inputlineno}} @d badness_code=glue_val+2 {code for \.{\\badness}} @y @@ -1151,21 +1151,21 @@ the codes for its extensions: |eTeX_version_code|, \dots\ . @d eTeX_expr=eTeX_mu+1 {first of \eTeX\ codes for expressions} @z %--------------------------------------- -@x [26] m.417 l.8440 - e-TeX interaction_mode +@x [26.417] l.8453 - e-TeX interaction_mode @+else print_esc("insertpenalties"); @y @/@@/ @+else print_esc("insertpenalties"); @z %--------------------------------------- -@x [26] m.417 l.8449 - e-TeX basic +@x [26.417] l.8462 - e-TeX basic othercases print_esc("badness") @y @/@@/ othercases print_esc("badness") @z %--------------------------------------- -@x [26] m.419 l.8469 - e-TeX interaction_mode +@x [26.419] l.8482 - e-TeX interaction_mode begin if m=0 then cur_val:=dead_cycles@+else cur_val:=insert_penalties; @y begin if m=0 then cur_val:=dead_cycles @@ -1173,7 +1173,7 @@ begin if m=0 then cur_val:=dead_cycles else cur_val:=insert_penalties; @z %--------------------------------------- -@x [26] m.420 l.8474 - e-TeX sparse arrays +@x [26.420] l.8487 - e-TeX sparse arrays begin scan_eight_bit_int; if box(cur_val)=null then cur_val:=0 @+else cur_val:=mem[box(cur_val)+m].sc; @y @@ -1181,21 +1181,21 @@ begin scan_register_num; fetch_box(q); if q=null then cur_val:=0 @+else cur_val:=mem[q+m].sc; @z %--------------------------------------- -@x [26] m.423 l.8499 - e-TeX penalties +@x [26.423] l.8512 - e-TeX penalties begin if par_shape_ptr=null then cur_val:=0 @y begin if m>par_shape_loc then @ else if par_shape_ptr=null then cur_val:=0 @z %--------------------------------------- -@x [26] m.424 l.8504 - e-TeX \lastnodetype +@x [26.424] l.8517 - e-TeX \lastnodetype @ Here is where \.{\\lastpenalty}, \.{\\lastkern}, and \.{\\lastskip} are @y @ Here is where \.{\\lastpenalty}, \.{\\lastkern}, \.{\\lastskip}, and \.{\\lastnodetype} are @z %--------------------------------------- -@x [26] m.424 l.8508 - e-TeX TeXXeT +@x [26.424] l.8521 - e-TeX TeXXeT legal in similar contexts. @y legal in similar contexts. @@ -1204,7 +1204,7 @@ The macro |find_effective_tail_eTeX| sets |tx| to the last non-\.{\\endM} node of the current list. @z %--------------------------------------- -@x [26] m.424 l.8510 - e-TeX TeXXeT +@x [26.424] l.8523 - e-TeX TeXXeT @= @y @d find_effective_tail_eTeX== @@ -1222,13 +1222,13 @@ if not is_char_node(tx) then @= @z %--------------------------------------- -@x [26] m.424 l.8511 - e-TeX basic +@x [26.424] l.8524 - e-TeX basic if cur_chr>glue_val then @y if m>=input_line_no_code then @z %--------------------------------------- -@x [26] m.424 l.8512 - e-TeX basic +@x [26.424] l.8525 - e-TeX basic begin if cur_chr=input_line_no_code then cur_val:=line else cur_val:=last_badness; {|cur_chr=badness_code|} @y @@ -1246,7 +1246,7 @@ if m>=input_line_no_code then end; {there are no other cases} @z %--------------------------------------- -@x [26] m.424 l.8517 - e-TeX last_node_type +@x [26.424] l.8530 - e-TeX last_node_type cur_val_level:=cur_chr; if not is_char_node(tail)and(mode<>0) then case cur_chr of @@ -1279,14 +1279,14 @@ if m>=input_line_no_code then else if (mode=vmode)and(tx=head) then @z %--------------------------------------- -@x [26] m.424 l.8531 - e-TeX last_node_type +@x [26.424] l.8544 - e-TeX last_node_type glue_val: if last_glue<>max_halfword then cur_val:=last_glue; @y glue_val: if last_glue<>max_halfword then cur_val:=last_glue; last_node_type_code: cur_val:=last_node_type; @z %--------------------------------------- -@x [26] m.427 l.8547 - e-TeX sparse arrays +@x [26.427] l.8560 - e-TeX sparse arrays begin scan_eight_bit_int; case m of @y @@ -1308,13 +1308,13 @@ else begin scan_register_num; cur_val_level:=m-mem_bot; case cur_val_level of @z %--------------------------------------- -@x [26] m.427 l.8554 - e-TeX sparse arrays +@x [26.427] l.8567 - e-TeX sparse arrays cur_val_level:=m; @y end; @z %--------------------------------------- -@x [26] m.461 l.9082 - e-TeX expr +@x [26.461] l.9095 - e-TeX expr exit:end; @y exit:end; @@ -1322,21 +1322,21 @@ exit:end; @@; @z %--------------------------------------- -@x [27] m.464 l.9141 - e-TeX basic +@x [27.464] l.9154 - e-TeX basic @p function str_toks(@!b:pool_pointer):pointer; @y @p @t\4@>@@;@/ function str_toks(@!b:pool_pointer):pointer; @z %--------------------------------------- -@x [27] m.465 l.9166 the_toks - e-TeX unexpanded +@x [27.465] l.9179 - the_toks - e-TeX unexpanded @p function the_toks:pointer; @y @p function the_toks:pointer; label exit; @z %--------------------------------------- -@x [27] m.465 l.9170 the_toks - e-TeX unexpanded +@x [27.465] l.9183 - the_toks - e-TeX unexpanded begin get_x_token; scan_something_internal(tok_val,false); @y @!c:small_number; {value of |cur_chr|} @@ -1344,13 +1344,13 @@ begin @;@/ get_x_token; scan_something_internal(tok_val,false); @z %--------------------------------------- -@x [27] m.465 l.9184 the_toks - e-TeX unexpanded +@x [27.465] l.9197 - the_toks - e-TeX unexpanded end; @y exit:end; @z %--------------------------------------- -@x [27] m.468 l.9207 - e-TeX basic +@x [27.468] l.9220 - e-TeX basic @d number_code=0 {command code for \.{\\number}} @y \eTeX\ adds \.{\\eTeXrevision} such that |job_name_code| remains last. @@ -1358,7 +1358,7 @@ exit:end; @d number_code=0 {command code for \.{\\number}} @z %--------------------------------------- -@x [27] m.468 l.9212 - e-TeX basic +@x [27.468] l.9225 - e-TeX basic @d job_name_code=5 {command code for \.{\\jobname}} @y @d etex_convert_base=5 {base for \eTeX's command codes} @@ -1367,28 +1367,28 @@ exit:end; @d job_name_code=etex_convert_codes {command code for \.{\\jobname}} @z %--------------------------------------- -@x [27] m.469 l.9235 - e-TeX basic +@x [27.469] l.9248 - e-TeX basic othercases print_esc("jobname") @y eTeX_revision_code: print_esc("eTeXrevision"); othercases print_esc("jobname") @z %--------------------------------------- -@x [27] m.471 l.9260 - e-TeX basic +@x [27.471] l.9273 - e-TeX basic job_name_code: if job_name=0 then open_log_file; @y eTeX_revision_code: do_nothing; job_name_code: if job_name=0 then open_log_file; @z %--------------------------------------- -@x [27] m.472 l.9276 - e-TeX basic +@x [27.472] l.9289 - e-TeX basic job_name_code: print(job_name); @y eTeX_revision_code: print(eTeX_revision); job_name_code: print(job_name); @z %--------------------------------------- -@x [27] m.478 l.9386 - e-TeX protected +@x [27.478] l.9400 - e-TeX protected if cur_cmd<=max_command then goto done2; @y if cur_cmd>=call then @@ -1398,20 +1398,20 @@ job_name_code: print(job_name); if cur_cmd<=max_command then goto done2; @z %--------------------------------------- -@x [27] m.482 l.9434 read_toks - e-TeX read_line +@x [27.482] l.9448 - read_toks - e-TeX read_line @p procedure read_toks(@!n:integer;@!r:pointer); @y @p procedure read_toks(@!n:integer;@!r:pointer;@!j:halfword); @z %--------------------------------------- -@x [27] m.483 l.9460 - e-TeX read_line +@x [27.483] l.9474 - e-TeX read_line loop@+ begin get_token; @y @;@/ loop@+ begin get_token; @z %--------------------------------------- -@x [28] m.487 l.9512 - e-TeX cond +@x [28.487] l.9526 - e-TeX cond @d if_char_code=0 { `\.{\\if}' } @y @d unless_code=32 {amount added for `\.{\\unless}' prefix} @@ -1419,14 +1419,14 @@ loop@+ begin get_token; @d if_char_code=0 { `\.{\\if}' } @z %--------------------------------------- -@x [28] m.488 l.9567 - e-TeX cond +@x [28.488] l.9581 - e-TeX cond if_test: case chr_code of @y if_test: begin if chr_code>=unless_code then print_esc("unless"); case chr_code mod unless_code of @z %--------------------------------------- -@x [28] m.488 l.9584 - e-TeX cond +@x [28.488] l.9598 - e-TeX cond othercases print_esc("if") endcases; @y @@ -1436,14 +1436,14 @@ case chr_code mod unless_code of end; @z %--------------------------------------- -@x [28] m.494 l.9658 pass_text - e-TeX tracing +@x [28.494] l.9672 - pass_text - e-TeX tracing done: scanner_status:=save_scanner_status; @y done: scanner_status:=save_scanner_status; if tracing_ifs>0 then show_cur_cmd_chr; @z %--------------------------------------- -@x [28] m.496 l.9674 - e-TeX tracing_nesting +@x [28.496] l.9688 - e-TeX tracing_nesting begin p:=cond_ptr; if_line:=if_line_field(p); @y begin if if_stack[in_open]=cond_ptr then if_warning; @@ -1451,7 +1451,7 @@ begin if if_stack[in_open]=cond_ptr then if_warning; p:=cond_ptr; if_line:=if_line_field(p); @z %--------------------------------------- -@x [28] m.498 l.9711 conditional - e-TeX cond +@x [28.498] l.9725 - conditional - e-TeX cond begin @;@+save_cond_ptr:=cond_ptr;this_if:=cur_chr;@/ @; @y @@ -1463,34 +1463,34 @@ is_unless:=(cur_chr>=unless_code); this_if:=cur_chr mod unless_code;@/ if is_unless then b:=not b; @z %--------------------------------------- -@x [28] m.501 l.9754 - e-TeX cond +@x [28.501] l.9768 - e-TeX cond if_false_code: b:=false; @y if_false_code: b:=false; @/@@/ @z %--------------------------------------- -@x [28] m.505 l.9793 - e-TeX sparse arrays +@x [28.505] l.9807 - e-TeX sparse arrays begin scan_eight_bit_int; p:=box(cur_val); @y begin scan_register_num; fetch_box(p); @z %--------------------------------------- -@x [28] m.510 l.9883 - e-TeX cond +@x [28.510] l.9897 - e-TeX cond if cur_chr>if_limit then @y begin if tracing_ifs>0 then if tracing_commands<=1 then show_cur_cmd_chr; if cur_chr>if_limit then @z %--------------------------------------- -@x [28] m.510 l.9894 - e-TeX cond +@x [28.510] l.9908 - e-TeX cond end @y end; end @z %--------------------------------------- -@x [29] m.536 l.10348 - e-TeX basic +@x [29.536] l.10362 - e-TeX basic print_two(sys_time div 60); print_char(":"); print_two(sys_time mod 60); @y print_two(sys_time div 60); print_char(":"); print_two(sys_time mod 60); @@ -1499,7 +1499,7 @@ if eTeX_ex then end; @z %--------------------------------------- -@x [30] m.581 l.11282 char_warning - e-TeX tracing +@x [30.581] l.11299 - char_warning - e-TeX tracing begin if tracing_lost_chars>0 then @y var old_setting: integer; {saved value of |tracing_online|} @@ -1508,7 +1508,7 @@ begin if tracing_lost_chars>0 then if eTeX_ex and(tracing_lost_chars>1) then tracing_online:=1; @z %--------------------------------------- -@x [30] m.581 l.11289 char_warning - e-TeX tracing +@x [30.581] l.11306 - char_warning - e-TeX tracing end; @y tracing_online:=old_setting; @@ -1516,7 +1516,7 @@ end; end; @z %--------------------------------------- -@x [32] m.616 l.12257 - e-TeX TeXXeT +@x [32.616] l.12274 - e-TeX TeXXeT this is essentially the depth of |push| commands in the \.{DVI} output. @y this is essentially the depth of |push| commands in the \.{DVI} output. @@ -1539,7 +1539,7 @@ changes; the subtype of an an |hlist_node| inside R-text is changed to @!@^data structure assumptions@> @z %--------------------------------------- -@x [32] m.616 l.12259 - e-TeX TeXXeT +@x [32.616] l.12276 - e-TeX TeXXeT @d synch_h==if cur_h<>dvi_h then @y @d reversed=1 {subtype for an |hlist_node| whose hlist has been reversed} @@ -1555,14 +1555,14 @@ changes; the subtype of an an |hlist_node| inside R-text is changed to @d synch_h==if cur_h<>dvi_h then @z %--------------------------------------- -@x [32] m.619 l.12327 hlist_out - e-TeX TeXXeT +@x [32.619] l.12344 - hlist_out - e-TeX TeXXeT @!edge:scaled; {left edge of sub-box, or right edge of leader space} @y @!edge:scaled; {right edge of sub-box or leader space} @!prev_p:pointer; {one step behind |p|} @z %--------------------------------------- -@x [32] m.619 l.12337 hlist_out - e-TeX TeXXeT +@x [32.619] l.12354 - hlist_out - e-TeX TeXXeT save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v; left_edge:=cur_h; @y save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v; @@ -1571,54 +1571,54 @@ prev_p:=this_box+list_offset; left_edge:=cur_h; @z %--------------------------------------- -@x [32] m.619 l.12340 hlist_out - e-TeX TeXXeT +@x [32.619] l.12357 - hlist_out - e-TeX TeXXeT prune_movements(save_loc); @y @; prune_movements(save_loc); @z %--------------------------------------- -@x [32] m.620 l.12359 - e-TeX TeXXeT +@x [32.620] l.12376 - e-TeX TeXXeT p:=link(p); @y prev_p:=link(prev_p); {N.B.: not |prev_p:=p|, |p| might be |lig_trick|} p:=link(p); @z %--------------------------------------- -@x [32] m.622 l.12384 - e-TeX TeXXeT +@x [32.622] l.12401 - e-TeX TeXXeT kern_node,math_node:cur_h:=cur_h+width(p); @y kern_node:cur_h:=cur_h+width(p); math_node: @; @z %--------------------------------------- -@x [32] m.622 l.12386 - e-TeX TeXXeT +@x [32.622] l.12403 - e-TeX TeXXeT othercases do_nothing @y @/@@; othercases do_nothing @z %--------------------------------------- -@x [32] m.622 l.12391 - e-TeX TeXXeT +@x [32.622] l.12408 - e-TeX TeXXeT next_p:p:=link(p); @y next_p:prev_p:=p; p:=link(p); @z %--------------------------------------- -@x [32] m.623 l.12398 - e-TeX TeXXeT +@x [32.623] l.12415 - e-TeX TeXXeT temp_ptr:=p; edge:=cur_h; @y temp_ptr:=p; edge:=cur_h+width(p); if cur_dir=right_to_left then cur_h:=edge; @z %--------------------------------------- -@x [32] m.623 l.12401 - e-TeX TeXXeT +@x [32.623] l.12418 - e-TeX TeXXeT cur_h:=edge+width(p); cur_v:=base_line; @y cur_h:=edge; cur_v:=base_line; @z %--------------------------------------- -@x [32] m.625 l.12419 - e-TeX TeXXeT +@x [32.625] l.12436 - e-TeX TeXXeT glue_temp:=-billion @= @@ -1629,7 +1629,7 @@ begin g:=glue_ptr(p); rule_wd:=width(g)-cur_g; @d round_glue==g:=glue_ptr(p); rule_wd:=width(g)-cur_g; @z %--------------------------------------- -@x [32] m.625 l.12438 - e-TeX TeXXeT +@x [32.625] l.12455 - e-TeX TeXXeT rule_wd:=rule_wd+cur_g; @y rule_wd:=rule_wd+cur_g @@ -1639,14 +1639,14 @@ begin round_glue; if eTeX_ex then @; @z %--------------------------------------- -@x [32] m.626 l.12454 - e-TeX TeXXeT +@x [32.626] l.12471 - e-TeX TeXXeT edge:=cur_h+rule_wd; lx:=0; @y if cur_dir=right_to_left then cur_h:=cur_h-10; edge:=cur_h+rule_wd; lx:=0; @z %--------------------------------------- -@x [32] m.626 l.12460 - e-TeX TeXXeT +@x [32.626] l.12477 - e-TeX TeXXeT cur_h:=edge-10; goto next_p; @y if cur_dir=right_to_left then cur_h:=edge @@ -1654,21 +1654,21 @@ if eTeX_ex then @; goto next_p; @z %--------------------------------------- -@x [32] m.628 l.12499 - e-TeX TeXXeT +@x [32.628] l.12516 - e-TeX TeXXeT synch_h; save_h:=dvi_h; temp_ptr:=leader_box; @y synch_h; save_h:=dvi_h; temp_ptr:=leader_box; if cur_dir=right_to_left then cur_h:=cur_h+leader_wd; @z %--------------------------------------- -@x [32] m.632 l.12573 - e-TeX TeXXeT +@x [32.632] l.12590 - e-TeX TeXXeT cur_h:=left_edge+shift_amount(p); {shift the box right} @y if cur_dir=right_to_left then cur_h:=left_edge-shift_amount(p) else cur_h:=left_edge+shift_amount(p); {shift the box right} @z %--------------------------------------- -@x [32] m.633 l.12585 - e-TeX TeXXeT +@x [32.633] l.12602 - e-TeX TeXXeT begin synch_h; synch_v; dvi_out(put_rule); dvi_four(rule_ht); dvi_four(rule_wd); @y @@ -1678,7 +1678,7 @@ if cur_dir=right_to_left then cur_h:=cur_h+leader_wd; cur_h:=left_edge; @z %--------------------------------------- -@x [32] m.637 l.12651 - e-TeX TeXXeT +@x [32.637] l.12668 - e-TeX TeXXeT begin cur_h:=left_edge+shift_amount(leader_box); synch_h; save_h:=dvi_h;@/ @y begin if cur_dir=right_to_left then @@ -1687,28 +1687,28 @@ begin if cur_dir=right_to_left then synch_h; save_h:=dvi_h;@/ @z %--------------------------------------- -@x [32] m.638 l.12688 ship_out - e-TeX TeXXeT +@x [32.638] l.12705 - ship_out - e-TeX TeXXeT @; @y @; if eTeX_ex then @; @z %--------------------------------------- -@x [33] m.649 l.12909 hpack - e-TeX TeXXeT +@x [33.649] l.12926 - hpack - e-TeX TeXXeT h:=0; @; @y h:=0; @; if TeXXeT_en then @; @z %--------------------------------------- -@x [33] m.649 l.12919 hpack - e-TeX TeXXeT +@x [33.649] l.12936 - hpack - e-TeX TeXXeT exit: hpack:=r; @y exit: if TeXXeT_en then @; hpack:=r; @z %--------------------------------------- -@x [33] m.651 l.12943 - e-TeX TeXXeT +@x [33.651] l.12960 - e-TeX TeXXeT kern_node,math_node: x:=x+width(p); @y kern_node: x:=x+width(p); @@ -1717,21 +1717,21 @@ hpack:=r; end; @z %--------------------------------------- -@x [34] m.687 l.13514 - e-TeX middle +@x [34.687] l.13531 - e-TeX middle \TeX's \.{\\left} and \.{\\right}. The |nucleus| of such noads is @y \TeX's \.{\\left} and \.{\\right} as well as \eTeX's \.{\\middle}. The |nucleus| of such noads is @z %--------------------------------------- -@x [34] m.687 l.13531 - e-TeX middle +@x [34.687] l.13548 - e-TeX middle @d delimiter==nucleus {|delimiter| field in left and right noads} @y @d delimiter==nucleus {|delimiter| field in left and right noads} @d middle_noad==1 {|subtype| of right noad representing \.{\\middle}} @z %--------------------------------------- -@x [34] m.696 l.13704 - e-TeX middle +@x [34.696] l.13721 - e-TeX middle right_noad: begin print_esc("right"); print_delimiter(delimiter(p)); end; end; @@ -1753,7 +1753,7 @@ if type(p); @z %--------------------------------------- -@x [37] m.785 l.15495 align_peek - e-TeX protected +@x [37.785] l.15512 - align_peek - e-TeX protected begin restart: align_state:=1000000; @; @y begin restart: align_state:=1000000; @@ -1784,7 +1784,7 @@ repeat get_x_or_protected; until cur_cmd<>spacer; @z %--------------------------------------- -@x [37] m.791 l.15606 fin_col - e-TeX protected +@x [37.791] l.15623 - fin_col - e-TeX protected align_state:=1000000; @; @y align_state:=1000000; @@ -1792,21 +1792,21 @@ repeat get_x_or_protected; until cur_cmd<>spacer; @z %--------------------------------------- -@x [37] m.807 l.15868 - e-TeX TeXXeT +@x [37.807] l.15886 - e-TeX TeXXeT begin type(q):=hlist_node; width(q):=width(p); @y begin type(q):=hlist_node; width(q):=width(p); if nest[nest_ptr-1].mode_field=mmode then set_box_lr(q)(dlist); {for |ship_out|} @z %--------------------------------------- -@x [37] m.808 l.15886 - e-TeX TeXXeT +@x [37.808] l.15904 - e-TeX TeXXeT n:=span_count(r); t:=width(s); w:=t; u:=hold_head; @y n:=span_count(r); t:=width(s); w:=t; u:=hold_head; set_box_lr(r)(0); {for |ship_out|} @z %--------------------------------------- -@x [38] m.814 l.16009 - e-TeX penalties +@x [38.814] l.16027 - e-TeX penalties There is one explicit parameter: |final_widow_penalty| is the amount of additional penalty to be inserted before the final line of the paragraph. @y @@ -1816,13 +1816,13 @@ penalty inserted before the final line is |display_widow_penalty| instead of |widow_penalty|. @z %--------------------------------------- -@x [38] m.815 l.16036 line_break - e-TeX penalties +@x [38.815] l.16054 - line_break - e-TeX penalties procedure line_break(@!final_widow_penalty:integer); @y procedure line_break(@!d:boolean); @z %--------------------------------------- -@x [38] m.815 l.16046 - e-TeX basic +@x [38.815] l.16064 - e-TeX basic end; @y end; @@ -1830,33 +1830,33 @@ end; @t\4@>@ @z %--------------------------------------- -@x [38] m.816 l.16066 - e-TeX last_line_fit +@x [38.816] l.16084 - e-TeX last_line_fit link(tail):=new_param_glue(par_fill_skip_code); @y link(tail):=new_param_glue(par_fill_skip_code); last_line_fill:=link(tail); @z %--------------------------------------- -@x [38] m.819 l.16131 - e-TeX last_line_fit +@x [38.819] l.16149 - e-TeX last_line_fit @d active_node_size=3 {number of words in active nodes} @y @d active_node_size_normal=3 {number of words in normal active nodes} @z %--------------------------------------- -@x [38] m.827 l.16294 - e-TeX last_line_fit +@x [38.827] l.16314 - e-TeX last_line_fit background[6]:=shrink(q)+shrink(r); @y background[6]:=shrink(q)+shrink(r); @; @z %--------------------------------------- -@x [38] m.829 l.16345 try_break - e-TeX last_line_fit +@x [38.829] l.16365 - try_break - e-TeX last_line_fit label exit,done,done1,continue,deactivate; @y label exit,done,done1,continue,deactivate,found,not_found; @z %--------------------------------------- -@x [38] m.845 l.16637 - e-TeX last_line_fit +@x [38.845] l.16657 - e-TeX last_line_fit total_demerits(q):=minimal_demerits[fit_class]; @y total_demerits(q):=minimal_demerits[fit_class]; @@ -1864,14 +1864,14 @@ if do_last_line_fit then @; @z %--------------------------------------- -@x [38] m.846 l.16650 - e-TeX last_line_fit +@x [38.846] l.16670 - e-TeX last_line_fit print(" t="); print_int(total_demerits(q)); @y print(" t="); print_int(total_demerits(q)); if do_last_line_fit then @; @z %--------------------------------------- -@x [38] m.851 l.16749 - e-TeX last_line_fit +@x [38.851] l.16769 - e-TeX last_line_fit if (b>inf_bad)or(pi=eject_penalty) then @y if do_last_line_fit then @; @@ -1879,7 +1879,7 @@ found: if (b>inf_bad)or(pi=eject_penalty) then @z %--------------------------------------- -@x [38] m.852 l.16773 - e-TeX last_line_fit +@x [38.852] l.16793 - e-TeX last_line_fit begin b:=0; fit_class:=decent_fit; {infinite stretch} @y begin if do_last_line_fit then @@ -1890,7 +1890,7 @@ if (b>inf_bad)or(pi=eject_penalty) then b:=0; fit_class:=decent_fit; {infinite stretch} @z %--------------------------------------- -@x [38] m.855 l.16830 - e-TeX last_line_fit +@x [38.855] l.16850 - e-TeX last_line_fit best_place[fit_class]:=break_node(r); best_pl_line[fit_class]:=l; @y best_place[fit_class]:=break_node(r); best_pl_line[fit_class]:=l; @@ -1898,14 +1898,14 @@ if (b>inf_bad)or(pi=eject_penalty) then @; @z %--------------------------------------- -@x [39] m.863 l.17003 - e-TeX last_line_fit +@x [39.863] l.17023 - e-TeX last_line_fit end;@+tats@/ @y end;@+tats@/ if do_last_line_fit then @; @z %--------------------------------------- -@x [39] m.864 l.17014 - e-TeX last_line_fit +@x [39.864] l.17034 - e-TeX last_line_fit line_number(q):=prev_graf+1; total_demerits(q):=0; link(active):=q; @y line_number(q):=prev_graf+1; total_demerits(q):=0; link(active):=q; @@ -1913,26 +1913,26 @@ if do_last_line_fit then @; @z %--------------------------------------- -@x [39] m.866 l.17064 - e-TeX TeXXeT +@x [39.866] l.17084 - e-TeX TeXXeT math_node: begin auto_breaking:=(subtype(cur_p)=after); kern_break; @y math_node: begin if subtype(cur_p); @z %--------------------------------------- -@x [39] m.880 l.17310 - e-TeX TeXXeT +@x [39.880] l.17330 - e-TeX TeXXeT @; @y @@ -1967,7 +1967,7 @@ if TeXXeT_en then if TeXXeT_en then @; @z %--------------------------------------- -@x [39] m.881 l.17333 - e-TeX TeXXeT +@x [39.881] l.17353 - e-TeX TeXXeT else if (type(q)=math_node)or(type(q)=kern_node) then width(q):=0; @y else if type(q)=kern_node then width(q):=0 @@ -1977,7 +1977,7 @@ if TeXXeT_en then @; end; @z %--------------------------------------- -@x [39] m.890 l.17427 - e-TeX penalties +@x [39.890] l.17447 - e-TeX penalties begin pen:=inter_line_penalty; if cur_line=prev_graf+1 then pen:=pen+club_penalty; if cur_line+2=best_line then pen:=pen+final_widow_penalty; @@ -2008,28 +2008,28 @@ if TeXXeT_en then @; else pen:=pen+widow_penalty; @z %--------------------------------------- -@x [40] m.891 l.17455 - e-TeX TeXXeT +@x [40.891] l.17475 - e-TeX TeXXeT implicit kern nodes, and $p_m$ is a glue or penalty or insertion or adjust @y implicit kern or text direction nodes, and $p_m$ is a glue or penalty or insertion or adjust @z %--------------------------------------- -@x [40] m.891 l.17494 - e-TeX hyph_codes +@x [40.891] l.17514 - e-TeX hyph_codes cur_lang:=init_cur_lang; l_hyf:=init_l_hyf; r_hyf:=init_r_hyf; @y cur_lang:=init_cur_lang; l_hyf:=init_l_hyf; r_hyf:=init_r_hyf; set_hyph_index; @z %--------------------------------------- -@x [40] m.896 l.17557 - e-TeX TeXXeT +@x [40.896] l.17578 - e-TeX TeXXeT else if (type(s)=kern_node)and(subtype(s)=normal) then goto continue @y else if (type(s)=kern_node)and(subtype(s)=normal) then goto continue else if (type(s)=math_node)and(subtype(s)>=L_code) then goto continue @z %--------------------------------------- -@x [40] m.896 l.17563 - e-TeX hyph_codes +@x [40.896] l.17584 - e-TeX hyph_codes if lc_code(c)<>0 then if (lc_code(c)=c)or(uc_hyph>0) then goto done2 @y @@ -2038,7 +2038,7 @@ set_hyph_index; if (hc[0]=c)or(uc_hyph>0) then goto done2 @z %--------------------------------------- -@x [40] m.897 l.17580 - e-TeX hyph_codes +@x [40.897] l.17601 - e-TeX hyph_codes if lc_code(c)=0 then goto done3; if hn=63 then goto done3; hb:=s; incr(hn); hu[hn]:=c; hc[hn]:=lc_code(c); hyf_bchar:=non_char; @@ -2049,7 +2049,7 @@ set_hyph_index; hb:=s; incr(hn); hu[hn]:=c; hc[hn]:=hc[0]; hyf_bchar:=non_char; @z %--------------------------------------- -@x [40] m.898 l.17606 - e-TeX hyph_codes +@x [40.898] l.17627 - e-TeX hyph_codes if lc_code(c)=0 then goto done3; if j=63 then goto done3; incr(j); hu[j]:=c; hc[j]:=lc_code(c);@/ @@ -2060,20 +2060,20 @@ set_hyph_index; incr(j); hu[j]:=c; hc[j]:=hc[0];@/ @z %--------------------------------------- -@x [40] m.899 l.17623 - e-TeX TeXXeT +@x [40.899] l.17644 - e-TeX TeXXeT othercases goto done1 @y math_node: if subtype(s)>=L_code then goto done4@+else goto done1; othercases goto done1 @z %--------------------------------------- -@x [42] m.934 l.18245 new_hyph_exceptions - e-TeX hyph_codes +@x [42.934] l.18266 - new_hyph_exceptions - e-TeX hyph_codes label reswitch, exit, found, not_found; @y label reswitch, exit, found, not_found, not_found1; @z %--------------------------------------- -@x [42] m.934 l.18255 new_hyph_exceptions - e-TeX hyph_codes +@x [42.934] l.18276 - new_hyph_exceptions - e-TeX hyph_codes set_cur_lang; @y set_cur_lang; @@ -2085,40 +2085,40 @@ set_hyph_index; not_found1: @z %--------------------------------------- -@x [42] m.937 l.18287 - e-TeX hyph_codes +@x [42.937] l.18308 - e-TeX hyph_codes else begin if lc_code(cur_chr)=0 then @y else begin set_lc_code(cur_chr); if hc[0]=0 then @z %--------------------------------------- -@x [42] m.937 l.18295 - e-TeX hyph_codes +@x [42.937] l.18316 - e-TeX hyph_codes begin incr(n); hc[n]:=lc_code(cur_chr); @y begin incr(n); hc[n]:=hc[0]; @z %--------------------------------------- -@x [43] m.952 l.18583 - e-TeX hyph_codes +@x [43.952] l.18604 - e-TeX hyph_codes trie_root:=compress_trie(trie_root); {identify equivalent subtries} @y hyph_root:=compress_trie(hyph_root); trie_root:=compress_trie(trie_root); {identify equivalent subtries} @z %--------------------------------------- -@x [43] m.958 l.18671 - e-TeX hyph_codes +@x [43.958] l.18692 - e-TeX hyph_codes if trie_root=0 then {no patterns were given} @y if trie_max=0 then {no patterns were given} @z %--------------------------------------- -@x [43] m.958 l.18675 - e-TeX hyph_codes +@x [43.958] l.18696 - e-TeX hyph_codes else begin trie_fix(trie_root); {this fixes the non-holes in |trie|} @y else begin if hyph_root>0 then trie_fix(hyph_root); if trie_root>0 then trie_fix(trie_root); {this fixes the non-holes in |trie|} @z %--------------------------------------- -@x [43] m.960 l.18718 new_patterns - e-TeX hyph_codes +@x [43.960] l.18739 - new_patterns - e-TeX hyph_codes brace@>; @y brace@>; @@ -2126,14 +2126,14 @@ else begin if hyph_root>0 then trie_fix(hyph_root); @; @z %--------------------------------------- -@x [43] m.966 l.18825 init_trie - e-TeX hyph_codes +@x [43.966] l.18846 - init_trie - e-TeX hyph_codes @; @y if hyph_root<>0 then @; @; @z %--------------------------------------- -@x [44] m.968 l.18841 - e-TeX saved_items +@x [44.968] l.18862 - e-TeX saved_items whenever this is possible without backspacing. @y whenever this is possible without backspacing. @@ -2142,7 +2142,7 @@ When the second argument |s| is |false| the deleted nodes are destroyed, otherwise they are collected in a list starting at |split_disc|. @z %--------------------------------------- -@x [44] m.968 l.18848 prune_page_top - e-TeX saved_items +@x [44.968] l.18869 - prune_page_top - e-TeX saved_items @p function prune_page_top(@!p:pointer):pointer; {adjust top after page break} var prev_p:pointer; {lags one step behind |p|} @!q:pointer; {temporary variable for list manipulation} @@ -2153,7 +2153,7 @@ var prev_p:pointer; {lags one step behind |p|} @!q,@!r:pointer; {temporary variables for list manipulation} @z %--------------------------------------- -@x [44] m.968 l.18859 prune_page_top - e-TeX saved_items +@x [44.968] l.18880 - prune_page_top - e-TeX saved_items link(prev_p):=p; flush_node_list(q); @y link(prev_p):=p; @@ -2164,20 +2164,20 @@ var prev_p:pointer; {lags one step behind |p|} else flush_node_list(q); @z %--------------------------------------- -@x [44] m.977 l.19026 vsplit - e-TeX marks, sparse arrays +@x [44.977] l.19047 - vsplit - e-TeX marks, sparse arrays @p function vsplit(@!n:eight_bits; @!h:scaled):pointer; @y @p @t\4@>@@; function vsplit(@!n:halfword; @!h:scaled):pointer; @z %--------------------------------------- -@x [44] m.977 l.19032 vsplit - e-TeX sparse arrays +@x [44.977] l.19053 - vsplit - e-TeX sparse arrays begin v:=box(n); @y begin cur_val:=n; fetch_box(v); @z %--------------------------------------- -@x [44] m.977 l.19033 vsplit - e-TeX marks, saved_items +@x [44.977] l.19054 - vsplit - e-TeX marks, saved_items if split_first_mark<>null then @y flush_node_list(split_disc); split_disc:=null; @@ -2186,14 +2186,14 @@ if sa_mark<>null then if split_first_mark<>null then @z %--------------------------------------- -@x [44] m.977 l.19041 vsplit - e-TeX saved_items +@x [44.977] l.19062 - vsplit - e-TeX saved_items q:=prune_page_top(q); p:=list_ptr(v); free_node(v,box_node_size); @y q:=prune_page_top(q,saving_vdiscards>0); p:=list_ptr(v); free_node(v,box_node_size); @z %--------------------------------------- -@x [44] m.977 l.19042 vsplit - e-TeX sparse arrays +@x [44.977] l.19063 - vsplit - e-TeX sparse arrays if q=null then box(n):=null {the |eq_level| of the box stays the same} else box(n):=vpack(q,natural); @y @@ -2201,42 +2201,42 @@ if q<>null then q:=vpack(q,natural); change_box(q); {the |eq_level| of the box stays the same} @z %--------------------------------------- -@x [44] m.979 l.19067 - e-TeX marks +@x [44.979] l.19088 - e-TeX marks if split_first_mark=null then @y if mark_class(p)<>0 then @ else if split_first_mark=null then @z %--------------------------------------- -@x [45] m.982 l.19201 - e-TeX last_node_type +@x [45.982] l.19222 - e-TeX last_node_type The variables |last_penalty| and |last_kern| are similar. And @y The variables |last_penalty|, |last_kern|, and |last_node_type| are similar. And @z %--------------------------------------- -@x [45] m.982 l.19214 - e-TeX last_node_type +@x [45.982] l.19235 - e-TeX last_node_type @!last_kern:scaled; {used to implement \.{\\lastkern}} @y @!last_kern:scaled; {used to implement \.{\\lastkern}} @!last_node_type:integer; {used to implement \.{\\lastnodetype}} @z %--------------------------------------- -@x [45] m.991 l.19353 - e-TeX last_node_type +@x [45.991] l.19375 - e-TeX last_node_type last_glue:=max_halfword; last_penalty:=0; last_kern:=0; @y last_glue:=max_halfword; last_penalty:=0; last_kern:=0; last_node_type:=-1; @z %--------------------------------------- -@x [45] m.996 l.19420 - e-TeX last_node_type +@x [45.996] l.19442 - e-TeX last_node_type last_penalty:=0; last_kern:=0; @y last_penalty:=0; last_kern:=0; last_node_type:=type(p)+1; @z %--------------------------------------- -@x [45] m.999 l.19454 - e-TeX saved_items +@x [45.999] l.19479 - e-TeX saved_items link(contrib_head):=link(p); link(p):=null; flush_node_list(p) @y link(contrib_head):=link(p); link(p):=null; @@ -2247,7 +2247,7 @@ if saving_vdiscards>0 then else flush_node_list(p) @z %--------------------------------------- -@x [45] m.1012 l.19697 fire_up - e-TeX marks +@x [45.1012] l.19719 - fire_up - e-TeX marks if bot_mark<>null then @y if sa_mark<>null then @@ -2255,7 +2255,7 @@ if sa_mark<>null then if bot_mark<>null then @z %--------------------------------------- -@x [45] m.1012 l.19705 fire_up - e-TeX marks +@x [45.1012] l.19727 - fire_up - e-TeX marks if (top_mark<>null)and(first_mark=null) then @y if sa_mark<>null then @@ -2263,7 +2263,7 @@ if sa_mark<>null then if (top_mark<>null)and(first_mark=null) then @z %--------------------------------------- -@x [45] m.1014 l.19742 - e-TeX marks +@x [45.1014] l.19764 - e-TeX marks else if type(p)=mark_node then @null)and(first_mark=null) then else @null then eq_define(par_shape_loc,shape_ref,null); @y if par_shape_ptr<>null then eq_define(par_shape_loc,shape_ref,null); @@ -2299,7 +2299,7 @@ if inter_line_penalties_ptr<>null then eq_define(inter_line_penalties_loc,shape_ref,null); @z %--------------------------------------- -@x [47] m.1071 l.20756 - e-TeX sparse arrays +@x [47.1071] l.20781 - e-TeX sparse arrays |box_flag+255| represent `\.{\\setbox0}' through `\.{\\setbox255}'; codes |box_flag+256| through |box_flag+511| represent `\.{\\global\\setbox0}' through `\.{\\global\\setbox255}'; @@ -2313,7 +2313,7 @@ code |ship_out_flag| represents `\.{\\shipout}'; and codes |leader_flag| through |leader_flag+2| represent `\.{\\leaders}', `\.{\\cleaders}', @z %--------------------------------------- -@x [47] m.1071 l.20770 - e-TeX sparse arrays +@x [47.1071] l.20795 - e-TeX sparse arrays @d ship_out_flag==box_flag+512 {context code for `\.{\\shipout}'} @d leader_flag==box_flag+513 {context code for `\.{\\leaders}'} @y @@ -2322,14 +2322,14 @@ through |leader_flag+2| represent `\.{\\leaders}', `\.{\\cleaders}', @d leader_flag==@'10000200001 {context code for `\.{\\leaders}'} @z %--------------------------------------- -@x [47] m.1075 l.20853 box_end - e-TeX sparse arrays +@x [47.1075] l.20878 - box_end - e-TeX sparse arrays var p:pointer; {|ord_noad| for new box in math mode} @y var p:pointer; {|ord_noad| for new box in math mode} @!a:small_number; {global prefix} @z %--------------------------------------- -@x [47] m.1077 l.20891 - e-TeX sparse arrays +@x [47.1077] l.20916 - e-TeX sparse arrays if box_context= @y @d fetch_effective_tail_eTeX(#)== {extract |tx|, @@ -2397,7 +2397,7 @@ else if fm then {|r|$\to$|p=begin_M|$\to$|q=end_M|} @= @z %--------------------------------------- -@x [47] m.1080 l.20950 - e-TeX TeXXeT +@x [47.1080] l.20975 - e-TeX TeXXeT else begin if not is_char_node(tail) then if (type(tail)=hlist_node)or(type(tail)=vlist_node) then @; @@ -2410,7 +2410,7 @@ else begin check_effective_tail(goto done); done:end; @z %--------------------------------------- -@x [47] m.1081 l.20957 - e-TeX TeXXeT +@x [47.1081] l.20982 - e-TeX TeXXeT begin q:=head; repeat p:=q; if not is_char_node(q) then if type(q)=disc_node then @@ -2428,13 +2428,13 @@ cur_box:=tx; shift_amount(cur_box):=0; end @z %--------------------------------------- -@x [47] m.1082 l.20972 - e-TeX sparse arrays +@x [47.1082] l.20997 - e-TeX sparse arrays begin scan_eight_bit_int; n:=cur_val; @y begin scan_register_num; n:=cur_val; @z %--------------------------------------- -@x [47] m.1096 l.21156 - e-TeX penalties, TeXXeT +@x [47.1096] l.21181 - e-TeX penalties, TeXXeT else line_break(widow_penalty); @y else line_break(false); @@ -2443,7 +2443,7 @@ begin scan_register_num; n:=cur_val; end; @z %--------------------------------------- -@x [47] m.1101 l.21212 make_mark - e-TeX marks +@x [47.1101] l.21237 - make_mark - e-TeX marks begin p:=scan_toks(false,true); p:=get_node(small_node_size); @y @!c:halfword; {the mark class} @@ -2454,7 +2454,7 @@ p:=scan_toks(false,true); p:=get_node(small_node_size); mark_class(p):=c; @z %--------------------------------------- -@x [47] m.1105 l.21246 delete_last - e-TeX TeXXeT +@x [47.1105] l.21271 - delete_last - e-TeX TeXXeT @!m:quarterword; {the length of a replacement list} @y @!r:pointer; {running behind |p|} @@ -2463,7 +2463,7 @@ mark_class(p):=c; @!m:quarterword; {the length of a replacement list} @z %--------------------------------------- -@x [47] m.1105 l.21250 delete_last - e-TeX TeXXeT +@x [47.1105] l.21275 - delete_last - e-TeX TeXXeT else begin if not is_char_node(tail) then if type(tail)=cur_chr then begin q:=head; repeat p:=q; @@ -2481,47 +2481,47 @@ else begin check_effective_tail(return); flush_node_list(tx); @z %--------------------------------------- -@x [47] m.1108 l.21299 - e-TeX saved_items +@x [47.1108] l.21324 - e-TeX saved_items un_vbox: if chr_code=copy_code then print_esc("unvcopy") @y un_vbox: if chr_code=copy_code then print_esc("unvcopy") @@/ @z %--------------------------------------- -@x [47] m.1110 l.21309 unpackage - e-TeX saved_items +@x [47.1110] l.21334 - unpackage - e-TeX saved_items label exit; @y label done, exit; @z %--------------------------------------- -@x [47] m.1110 l.21312 unpackage - e-TeX saved_items, sparse arrays +@x [47.1110] l.21337 - unpackage - e-TeX saved_items, sparse arrays begin c:=cur_chr; scan_eight_bit_int; p:=box(cur_val); @y begin if cur_chr>copy_code then @; c:=cur_chr; scan_register_num; fetch_box(p); @z %--------------------------------------- -@x [47] m.1110 l.21324 unpackage - e-TeX sparse arrays +@x [47.1110] l.21349 - unpackage - e-TeX sparse arrays else begin link(tail):=list_ptr(p); box(cur_val):=null; @y else begin link(tail):=list_ptr(p); change_box(null); @z %--------------------------------------- -@x [47] m.1110 l.21327 unpackage - e-TeX saved_items +@x [47.1110] l.21352 - unpackage - e-TeX saved_items while link(tail)<>null do tail:=link(tail); @y done: while link(tail)<>null do tail:=link(tail); @z %--------------------------------------- -@x [47] m.1130 l.21599 - e-TeX TeXXeT +@x [47.1130] l.21624 - e-TeX TeXXeT vmode+halign,hmode+valign:init_align; @y vmode+halign:init_align; hmode+valign:@@; init_align; @z %--------------------------------------- -@x [48] m.1138 l.21678 init_math - e-TeX TeXXeT +@x [48.1138] l.21703 - init_math - e-TeX TeXXeT procedure init_math; label reswitch,found,not_found,done; var w:scaled; {new or partial |pre_display_size|} @@ -2534,7 +2534,7 @@ var w:scaled; {new or partial |pre_display_size|} @!x:integer; {new |pre_display_direction|} @z %--------------------------------------- -@x [48] m.1145 l.21736 - e-TeX TeXXeT, penalties +@x [48.1145] l.21761 - e-TeX TeXXeT, penalties begin if head=tail then {`\.{\\noindent\$\$}' or `\.{\$\${ }\$\$}'} begin pop_nest; w:=-max_dimen; end @@ -2546,7 +2546,7 @@ if head=tail then {`\.{\\noindent\$\$}' or `\.{\$\${ }\$\$}'} else begin line_break(true);@/ @z %--------------------------------------- -@x [48] m.1145 l.21749 - e-TeX TeXXeT +@x [48.1145] l.21774 - e-TeX TeXXeT eq_word_define(dimen_base+pre_display_size_code,w); @y eq_word_define(dimen_base+pre_display_size_code,w); @@ -2554,28 +2554,28 @@ LR_box:=j; if eTeX_ex then eq_word_define(int_base+pre_display_direction_code,x); @z %--------------------------------------- -@x [48] m.1146 l.21757 - e-TeX TeXXeT +@x [48.1146] l.21782 - e-TeX TeXXeT v:=shift_amount(just_box)+2*quad(cur_font); w:=-max_dimen; p:=list_ptr(just_box); @y @; @z %--------------------------------------- -@x [48] m.1146 l.21772 - e-TeX TeXXeT +@x [48.1146] l.21797 - e-TeX TeXXeT done: @y done: @ @z %--------------------------------------- -@x [48] m.1147 l.21783 - e-TeX TeXXeT +@x [48.1147] l.21808 - e-TeX TeXXeT kern_node,math_node: d:=width(p); @y kern_node: d:=width(p); @t\4@>@@; @z %--------------------------------------- -@x [48] m.1185 l.22292 - e-TeX middle +@x [48.1185] l.22317 - e-TeX middle if type(q)<>left_noad then confusion("right"); @:this can't happen right}{\quad right@> info(numerator(incompleat_noad)):=link(q); @@ -2587,14 +2587,14 @@ kern_node: d:=width(p); link(delim_ptr):=incompleat_noad; link(incompleat_noad):=p; @z %--------------------------------------- -@x [48] m.1189 l.22337 - e-TeX middle +@x [48.1189] l.22362 - e-TeX middle else print_esc("right"); @y @/@@/ else print_esc("right"); @z %--------------------------------------- -@x [48] m.1191 l.22346 math_left_right - e-TeX middle +@x [48.1191] l.22371 - math_left_right - e-TeX middle begin t:=cur_chr; if (t=right_noad)and(cur_group<>math_left_group) then @y @@ -2603,7 +2603,7 @@ begin t:=cur_chr; if (t<>left_noad)and(cur_group<>math_left_group) then @z %--------------------------------------- -@x [48] m.1191 l.22351 math_left_right - e-TeX middle +@x [48.1191] l.22376 - math_left_right - e-TeX middle if t=left_noad then begin push_math(math_left_group); link(head):=p; tail:=p; end @@ -2622,13 +2622,13 @@ if (t<>left_noad)and(cur_group<>math_left_group) then else begin @z %--------------------------------------- -@x [48] m.1191 l.22357 math_left_right - e-TeX middle +@x [48.1191] l.22382 - math_left_right - e-TeX middle info(nucleus(tail)):=p; @y info(nucleus(tail)):=q; @z %--------------------------------------- -@x [48] m.1192 l.22365 - e-TeX middle +@x [48.1192] l.22390 - e-TeX middle print_err("Extra "); print_esc("right"); @.Extra \\right.@> help1("I'm ignoring a \right that had no matching \left."); @@ -2645,82 +2645,82 @@ if (t<>left_noad)and(cur_group<>math_left_group) then end; @z %--------------------------------------- -@x [48] m.1194 l.22380 after_math - e-TeX TeXXeT +@x [48.1194] l.22405 - after_math - e-TeX TeXXeT procedure after_math; @y @t\4@>@@; procedure after_math; @z %--------------------------------------- -@x [48] m.1194 l.22387 after_math - e-TeX TeXXeT +@x [48.1194] l.22412 - after_math - e-TeX TeXXeT begin danger:=false; @y begin danger:=false; @; @z %--------------------------------------- -@x [48] m.1194 l.22394 after_math - e-TeX TeXXeT +@x [48.1194] l.22419 - after_math - e-TeX TeXXeT mlist_to_hlist; a:=hpack(link(temp_head),natural); @y mlist_to_hlist; a:=hpack(link(temp_head),natural); set_box_lr(a)(dlist); @z %--------------------------------------- -@x [48] m.1194 l.22397 after_math - e-TeX TeXXeT +@x [48.1194] l.22422 - after_math - e-TeX TeXXeT danger:=false; @y danger:=false; @; @z %--------------------------------------- -@x [48] m.1199 l.22484 - e-TeX TeXXeT +@x [48.1199] l.22509 - e-TeX TeXXeT w:=width(b); z:=display_width; s:=display_indent; @y w:=width(b); z:=display_width; s:=display_indent; if pre_display_direction<0 then s:=-s-z; @z %--------------------------------------- -@x [48] m.1199 l.22499 - e-TeX TeXXeT +@x [48.1199] l.22524 - e-TeX TeXXeT resume_after_display @y @; resume_after_display @z %--------------------------------------- -@x [48] m.1202 l.22541 - e-TeX TeXXeT +@x [48.1202] l.22566 - e-TeX TeXXeT d:=half(z-w); @y set_box_lr(b)(dlist); d:=half(z-w); @z %--------------------------------------- -@x [48] m.1203 l.22562 - e-TeX TeXXeT +@x [48.1203] l.22587 - e-TeX TeXXeT begin shift_amount(a):=s; append_to_vlist(a); @y begin app_display(j,a,0); @z %--------------------------------------- -@x [48] m.1204 l.22572 - e-TeX TeXXeT +@x [48.1204] l.22602 - e-TeX TeXXeT shift_amount(b):=s+d; append_to_vlist(b) @y app_display(j,b,d) @z %--------------------------------------- -@x [48] m.1205 l.22582 - e-TeX TeXXeT +@x [48.1205] l.22607 - e-TeX TeXXeT shift_amount(a):=s+z-width(a); append_to_vlist(a); @y app_display(j,a,z-width(a)); @z %--------------------------------------- -@x [48] m.1206 l.22601 - e-TeX TeXXeT +@x [48.1206] l.22626 - e-TeX TeXXeT pop_nest; @y flush_node_list(LR_box); pop_nest; @z %--------------------------------------- -@x [49] m.1208 l.22626 - e-TeX protected +@x [49.1208] l.22651 - e-TeX protected control sequence can be defined to be `\.{\\long}' or `\.{\\outer}', and it might or might not be expanded. The prefixes `\.{\\global}', `\.{\\long}', @y @@ -2729,21 +2729,21 @@ or `\.{\\outer}', and it might or might not be expanded. The prefixes `\.{\\global}', `\.{\\long}', `\.{\\protected}', @z %--------------------------------------- -@x [49] m.1209 l.22652 - e-TeX protected +@x [49.1209] l.22677 - e-TeX protected else print_esc("global"); @y @/@@/ else print_esc("global"); @z %--------------------------------------- -@x [49] m.1211 l.22714 prefixed_command - e-TeX tracing +@x [49.1211] l.22739 - prefixed_command - e-TeX tracing @; @y @; if tracing_commands>2 then if eTeX_ex then show_cur_cmd_chr; @z %--------------------------------------- -@x [49] m.1212 l.22730 - e-TeX protected +@x [49.1212] l.22755 - e-TeX protected help1("I'll pretend you didn't say \long or \outer or \global."); @y help1("I'll pretend you didn't say \long or \outer or \global."); @@ -2751,7 +2751,7 @@ if eTeX_ex then help_line[0]:=@| "I'll pretend you didn't say \long or \outer or \global or \protected."; @z %--------------------------------------- -@x [49] m.1213 l.22735 - e-TeX protected +@x [49.1213] l.22760 - e-TeX protected if (cur_cmd<>def)and(a mod 4<>0) then begin print_err("You can't use `"); print_esc("long"); print("' or `"); print_esc("outer"); print("' with `"); @@ -2772,12 +2772,12 @@ if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then print("' with `"); @z %--------------------------------------- -@x [49] m.1213 l.22740 - e-TeX protected +@x [49.1213] l.22765 - e-TeX protected help1("I'll pretend you didn't say \long or \outer here."); @y @z %--------------------------------------- -@x [49] m.1218 l.22798 - e-TeX protected +@x [49.1218] l.22824 - e-TeX protected q:=scan_toks(true,e); define(p,call+(a mod 4),def_ref); @y q:=scan_toks(true,e); @@ -2788,7 +2788,7 @@ if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then define(p,call+(a mod 4),def_ref); @z %--------------------------------------- -@x [49] m.1221 l.22826 - e-TeX sparse arrays +@x [49.1221] l.22852 - e-TeX sparse arrays if cur_cmd>=call then add_token_ref(cur_chr); @y if cur_cmd>=call then add_token_ref(cur_chr) @@ -2797,7 +2797,7 @@ if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then add_sa_ref(cur_chr); @z %--------------------------------------- -@x [49] m.1224 l.22889 - e-TeX sparse arrays +@x [49.1224] l.22915 - e-TeX sparse arrays othercases begin scan_eight_bit_int; @y othercases begin scan_register_num; @@ -2811,19 +2811,19 @@ if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then else @z %--------------------------------------- -@x [49] m.1225 l.22902 - e-TeX read_line +@x [49.1225] l.22928 - e-TeX read_line read_to_cs: begin scan_int; n:=cur_val; @y read_to_cs: begin j:=cur_chr; scan_int; n:=cur_val; @z %--------------------------------------- -@x [49] m.1225 l.22911 - e-TeX read_line +@x [49.1225] l.22937 - e-TeX read_line p:=cur_cs; read_toks(n,p); define(p,call,cur_val); @y p:=cur_cs; read_toks(n,p,j); define(p,call,cur_val); @z %--------------------------------------- -@x [49] m.1226 l.22920 - e-TeX sparse arrays +@x [49.1226] l.22946 - e-TeX sparse arrays if cur_cmd=toks_register then begin scan_eight_bit_int; p:=toks_base+cur_val; end @@ -2843,7 +2843,7 @@ read_to_cs: begin j:=cur_chr; scan_int; n:=cur_val; p:=cur_chr; {|p=every_par_loc| or |output_routine_loc| or \dots} @z %--------------------------------------- -@x [49] m.1226 l.22930 - e-TeX sparse arrays +@x [49.1226] l.22956 - e-TeX sparse arrays begin define(p,undefined_cs,null); free_avail(def_ref); end else begin if p=output_routine_loc then {enclose in curlies} @@ -2853,13 +2853,13 @@ read_to_cs: begin j:=cur_chr; scan_int; n:=cur_val; else begin if (p=output_routine_loc)and not e then {enclose in curlies} @z %--------------------------------------- -@x [49] m.1226 l.22938 - e-TeX sparse arrays +@x [49.1226] l.22964 - e-TeX sparse arrays define(p,call,def_ref); @y sa_define(p,def_ref)(p,call,def_ref); @z %--------------------------------------- -@x [49] m.1227 l.22943 - e-TeX sparse arrays +@x [49.1227] l.22969 - e-TeX sparse arrays begin if cur_cmd=toks_register then begin scan_eight_bit_int; cur_cmd:=assign_toks; cur_chr:=toks_base+cur_val; end; @@ -2891,7 +2891,7 @@ if (cur_cmd=toks_register)or(cur_cmd=assign_toks) then end @z %--------------------------------------- -@x [49] m.1236 l.23059 do_register_command - e-TeX sparse arrays +@x [49.1236] l.23085 - do_register_command - e-TeX sparse arrays begin q:=cur_cmd; @y @!e:boolean; {does |l| refer to a sparse array element?} @@ -2900,7 +2900,7 @@ begin q:=cur_cmd; e:=false; {just in case, will be set |true| for sparse array elements} @z %--------------------------------------- -@x [49] m.1236 l.23076 do_register_command - e-TeX sparse arrays +@x [49.1236] l.23102 - do_register_command - e-TeX sparse arrays if plo_mem_stat_max) then @@ -2921,7 +2921,7 @@ else begin p:=cur_chr-mem_bot; scan_register_num; else @z %--------------------------------------- -@x [49] m.1237 l.23105 - e-TeX sparse arrays +@x [49.1237] l.23131 - e-TeX sparse arrays end; found: @y @@ -2931,19 +2931,19 @@ found: if p@/ @z %--------------------------------------- -@x [49] m.1247 l.23240 alter_box_dimen - e-TeX sparse arrays +@x [49.1247] l.23266 - alter_box_dimen - e-TeX sparse arrays @!b:eight_bits; {box number} begin c:=cur_chr; scan_eight_bit_int; b:=cur_val; scan_optional_equals; scan_normal_dimen; @@ -2991,7 +2991,7 @@ scan_normal_dimen; if b<>null then mem[b+c].sc:=cur_val; @z %--------------------------------------- -@x [49] m.1248 l.23249 - e-TeX penalties +@x [49.1248] l.23275 - e-TeX penalties set_shape: begin scan_optional_equals; scan_int; n:=cur_val; if n<=0 then p:=null @y @@ -3007,26 +3007,26 @@ set_shape: begin q:=cur_chr; scan_optional_equals; scan_int; n:=cur_val; end @z %--------------------------------------- -@x [49] m.1248 l.23259 - e-TeX penalties +@x [49.1248] l.23285 - e-TeX penalties define(par_shape_loc,shape_ref,p); @y define(q,shape_ref,p); @z %--------------------------------------- -@x [49] m.1260 l.23346 new_font - e-TeX tracing +@x [49.1257] l.23372 - new_font - e-TeX tracing common_ending: equiv(u):=f; eqtb[font_id_base+f]:=eqtb[u]; font_id_text(f):=t; @y common_ending: define(u,set_font,f); eqtb[font_id_base+f]:=eqtb[u]; font_id_text(f):=t; @z %--------------------------------------- -@x [49] m.1292 l.23633 - e-TeX show_groups +@x [49.1292] l.23659 - e-TeX show_groups show_lists_code:print_esc("showlists"); @y show_lists_code:print_esc("showlists"); @@;@/ @z %--------------------------------------- -@x [49] m.1293 l.23640 show_whatever - e-TeX show_ifs +@x [49.1293] l.23666 - show_whatever - e-TeX show_ifs var p:pointer; {tail of a token list to show} @y var p:pointer; {tail of a token list to show} @@ -3036,14 +3036,14 @@ var p:pointer; {tail of a token list to show} @!n:integer; {level of \.{\\if...\\fi} nesting} @z %--------------------------------------- -@x [49] m.1293 l.23646 show_whatever - e-TeX show_groups +@x [49.1293] l.23672 - show_whatever - e-TeX show_groups othercases @@;@/ othercases @ \box"); print_int(cur_val); print_char("="); if box(cur_val)=null then print("void") @@ -3069,28 +3069,28 @@ print_nl("> \box"); print_int(cur_val); print_char("="); if p=null then print("void")@+else show_box(p); @z %--------------------------------------- -@x [50] m.1307 l.23831 - e-TeX basic +@x [50.1307] l.23859 - e-TeX basic dump_int(@$);@/ @y dump_int(@$);@/ @@/ @z %--------------------------------------- -@x [50] m.1308 l.23846 - e-TeX basic +@x [50.1308] l.23874 - e-TeX basic if x<>@$ then goto bad_fmt; {check that strings are the same} @y if x<>@$ then goto bad_fmt; {check that strings are the same} @/@@/ @z %--------------------------------------- -@x [50] m.1311 l.23900 - e-TeX sparse arrays +@x [50.1311] l.23928 - e-TeX sparse arrays dump_int(lo_mem_max); dump_int(rover); @y dump_int(lo_mem_max); dump_int(rover); if eTeX_ex then for k:=int_val to tok_val do dump_int(sa_root[k]); @z %--------------------------------------- -@x [50] m.1312 l.23923 - e-TeX sparse arrays +@x [50.1312] l.23951 - e-TeX sparse arrays undump(lo_mem_stat_max+1)(lo_mem_max)(rover); @y undump(lo_mem_stat_max+1)(lo_mem_max)(rover); @@ -3098,28 +3098,28 @@ if eTeX_ex then for k:=int_val to tok_val do undump(null)(lo_mem_max)(sa_root[k]); @z %--------------------------------------- -@x [50] m.1324 l.24117 - e-TeX hyph_codes +@x [50.1324] l.24145 - e-TeX hyph_codes dump_int(trie_max); @y dump_int(trie_max); dump_int(hyph_start); @z %--------------------------------------- -@x [50] m.1325 l.24145 - e-TeX hyph_codes +@x [50.1325] l.24173 - e-TeX hyph_codes undump_size(0)(trie_size)('trie size')(j); @+init trie_max:=j;@+tini @y undump_size(0)(trie_size)('trie size')(j); @+init trie_max:=j;@+tini undump(0)(j)(hyph_start); @z %--------------------------------------- -@x [51] m.1335 l.24365 final_cleanup - tracing +@x [51.1335] l.24393 - final_cleanup - tracing print_int(cur_level-level_one); print_char(")"); @y print_int(cur_level-level_one); print_char(")"); if eTeX_ex then show_save_groups; @z %--------------------------------------- -@x [51] m.1335 l.24388 final_cleanup - e-TeX marks, saved_items +@x [51.1335] l.24416 - final_cleanup - e-TeX marks, saved_items if cur_mark[c]<>null then delete_token_ref(cur_mark[c]); @y if cur_mark[c]<>null then delete_token_ref(cur_mark[c]); @@ -3128,28 +3128,28 @@ undump(0)(j)(hyph_start); for c:=last_box_code to vsplit_code do flush_node_list(disc_ptr[c]); @z %--------------------------------------- -@x [51] m.1336 l.24398 init_prim - e-TeX basic +@x [51.1336] l.24426 - init_prim - e-TeX basic begin no_new_control_sequence:=false; @y begin no_new_control_sequence:=false; first:=0; @z %--------------------------------------- -@x [51] m.1337 l.24413 - e-TeX basic +@x [51.1337] l.24441 - e-TeX basic if (format_ident=0)or(buffer[loc]="&") then @y @@;@/ if (format_ident=0)or(buffer[loc]="&") then @z %--------------------------------------- -@x [51] m.1337 l.24421 - e-TeX basic +@x [51.1337] l.24449 - e-TeX basic end; @y end; if eTeX_ex then wterm_ln('entering extended mode'); @z %--------------------------------------- -@x [53] m.1362 l.24762 adv_past - e-TeX hyph_codes +@x [53.1362] l.24791 - adv_past - e-TeX hyph_codes begin cur_lang:=what_lang(#); l_hyf:=what_lhm(#); r_hyf:=what_rhm(#);@+end @y begin cur_lang:=what_lang(#); l_hyf:=what_lhm(#); r_hyf:=what_rhm(#); @@ -3157,7 +3157,7 @@ if eTeX_ex then wterm_ln('entering extended mode'); end @z %--------------------------------------- -@x [54] m.1379 l.24956 - e-TeX additions +@x [54.1379] l.24985 - e-TeX additions @* \[54] System-dependent changes. @y @* \[53a] The extended features of \eTeX. @@ -4152,7 +4152,7 @@ and\slash or after the |close_node| for that stream. All whatsit nodes as well as hlist and vlist nodes containing such nodes must not be permuted. A sequence of hlist and vlist nodes not containing whatsit nodes as well as char, ligature, rule, kern, and glue nodes together -with math nodes not changing the text direction can be explicitly reversed. +with math nodes not changing the text direction can be explicitly reversed. Embedded sections of left-to-right text are treated as a unit and all remaining nodes are irrelevant and can be ignored. diff --git a/source/texk/web2c/mf.ch b/source/texk/web2c/mf.ch index f293a65b0..716241024 100644 --- a/source/texk/web2c/mf.ch +++ b/source/texk/web2c/mf.ch @@ -20,6 +20,10 @@ % Revision 1.0 86/01/31 15:46:08 richards % Incorporates: New binary I/O library, separate optimized % arithmetic for takefraction/makefraction, new graphics interface. +% +% The part, module, and line numbers in this change file refer to +% MF.WEB 2.71828182 as of January, 2021 (published as Donald E. Knuth, +% Metafont: The Program, Volume D of Computers & Typesetting Jubilee Editions). @x [0.0] l.75 - WEAVE: print changes only. \def\botofcontents{\vskip 0pt plus 1fil minus 1.5in} diff --git a/source/texk/web2c/tests/fix-changefile-lines.py b/source/texk/web2c/tests/fix-changefile-lines.py index e34ec4a4b..7efcdf314 100755 --- a/source/texk/web2c/tests/fix-changefile-lines.py +++ b/source/texk/web2c/tests/fix-changefile-lines.py @@ -28,15 +28,14 @@ def main(): - # Handle commamd-line options + # Handle command-line options opt_handler = OptHandler() - args = opt_handler.args() # Read WEB file - web_reader = WebReader(args[0]) + web_reader = WebReader(opt_handler.args[0]) # Read change file - ch_reader = ChangeReader(args[1]) + ch_reader = ChangeReader(opt_handler.args[1]) # Run through the two files in parallel ch_reader.traverse(web_reader, opt_handler) @@ -199,7 +198,7 @@ def traverse(self, web_reader, opt_handler): text = re.sub(pattern, "", text, 1) # Remove potentially text comment separator. - pattern = " -+ " + pattern = " -*" if re.match(pattern, text): text = re.sub(pattern, "", text, 1).strip() @@ -224,11 +223,11 @@ def traverse(self, web_reader, opt_handler): ch_line = self._lines[self._chunk_start] if new_line[:10] != ch_line[:10]: - print("Old:") - print(f" {ch_line}") - print("New:") - print(f" {new_line}") - print() + eprint("Old:") + eprint(f" {ch_line}") + eprint("New:") + eprint(f" {new_line}") + eprint() self._lines[self._chunk_start] = new_line @@ -242,9 +241,8 @@ class OptHandler: """ def __init__(self): - """Optional elements of the output format - '@x [{part}.{section}] l.{line} {-(hyphen)} {text}' - """ + # Optional elements of the output format + # '@x [{part}.{section}] l.{line} {-(hyphen)} {text}' self.part_b = True self.section_b = True self.line_b = True @@ -252,9 +250,10 @@ def __init__(self): self.text_b = True try: - opts, self._args = getopt.getopt(sys.argv[1:], "pslht", + opts, self.args = getopt.getopt(sys.argv[1:], "pslht", ["parts", "sections", "lines", "hyphens", "texts"]) except getopt.GetoptError as err: + eprint(f"\n{os.path.basename(sys.argv[0])}: {err}!\n") print(USAGE) sys.exit(1) @@ -272,13 +271,10 @@ def __init__(self): else: assert False, f"Unhandled option {opt}" - if len(self._args) != 2: + if len(self.args) != 2: print(USAGE) sys.exit(1) - def args(self): - return self._args - def eprint(*args, **kwargs): """Print to stderr.""" diff --git a/source/texk/web2c/tex.ch b/source/texk/web2c/tex.ch index e57d49417..1ecc14009 100644 --- a/source/texk/web2c/tex.ch +++ b/source/texk/web2c/tex.ch @@ -47,9 +47,9 @@ % % Except for MLTeX, the new code in this file is in the public domain. % -% The module numbers in this change file refer to TEX.WEB 3.14159 as -% of March, 1995 (published as Donald E. Knuth, TeX: The Program, -% Volume B of Computers & Typesetting). +% The part, module, and line numbers in this change file refer to +% TEX.WEB 3.141592653 as of January, 2021 (published as Donald E. Knuth, +% TeX: The Program, Volume B of Computers & Typesetting Jubilee Editions). @x [0.0] l.88 - WEAVE: print changes only. \def\?##1]{\hbox to 1in{\hfil##1.\ }}