summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-04-28 15:05:17 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-04-28 15:05:17 +0000
commitfc56e407990a17211161063e5b95fd82653d26a0 (patch)
treef32d3b625a7952ed0f66faa867736ae6191bfa0e /Build
parent1c78e692e29d84343e5bbb1f5a1c9442a5c35d28 (diff)
fixed an etex error message
git-svn-id: svn://tug.org/texlive/trunk@18033 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/alephdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/alephdir/eobase.ch11
-rw-r--r--Build/source/texk/web2c/etexdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/etexdir/etex.ch670
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.web7
6 files changed, 375 insertions, 331 deletions
diff --git a/Build/source/texk/web2c/alephdir/ChangeLog b/Build/source/texk/web2c/alephdir/ChangeLog
index 740856f20ae..54404717017 100644
--- a/Build/source/texk/web2c/alephdir/ChangeLog
+++ b/Build/source/texk/web2c/alephdir/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * eobase.ch: Adapt to ../etexdir/etex.ch:
+ Fixed the error message for improper use of \protected,
+ reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>.
+
2010-01-03 Karl Berry <karl@tug.org>
* com16bit.ch: propagate "executed safely" wording change.
diff --git a/Build/source/texk/web2c/alephdir/eobase.ch b/Build/source/texk/web2c/alephdir/eobase.ch
index b97b3a37859..07df8966fc9 100644
--- a/Build/source/texk/web2c/alephdir/eobase.ch
+++ b/Build/source/texk/web2c/alephdir/eobase.ch
@@ -2728,12 +2728,23 @@ or `\.{\\outer}', and it might or might not be expanded. The prefixes
%---------------------------------------
@x [49] m.1213 l.22686 - 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 `");
@y
if a>=8 then
begin j:=protected_token; a:=a-8;
end
else j:=0;
if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then
+ begin print_err("You can't use `"); print_esc("long"); print("', `");
+ print_esc("outer"); print("', or `");
+ print_esc("protected"); print("' with `");
+@z
+%---------------------------------------
+@x [49] m.1213 l.22691 - e-TeX protected
+ help1("I'll pretend you didn't say \long or \outer here.");
+@y
+ help1("I'll pretend you didn't say \long, \outer, or \protected here.");
@z
%---------------------------------------
@x [49] m.1218 l.22749 - e-TeX protected
diff --git a/Build/source/texk/web2c/etexdir/ChangeLog b/Build/source/texk/web2c/etexdir/ChangeLog
index ea79734b801..4e0e6219396 100644
--- a/Build/source/texk/web2c/etexdir/ChangeLog
+++ b/Build/source/texk/web2c/etexdir/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * etex.ch: Checked and adjusted tex.web line numbers.
+ Fixed the error message for improper use of \protected,
+ reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>.
+
2010-04-22 Peter Breitenlohner <peb@mppmu.mpg.de>
* am/etex.am (etex_ch_srcs): Use tex-binpool.ch as for TeX.
diff --git a/Build/source/texk/web2c/etexdir/etex.ch b/Build/source/texk/web2c/etexdir/etex.ch
index 13455fa14b7..6ea1513379d 100644
--- a/Build/source/texk/web2c/etexdir/etex.ch
+++ b/Build/source/texk/web2c/etexdir/etex.ch
@@ -42,7 +42,7 @@
% 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.141592 as of December 21, 2002.
+% All line numbers refer to tex.web 3.1415926 as of March 23, 2008.
@x limbo l.1 - this is e-TeX
% This program is copyright (C) 1982 by D. E. Knuth; all rights are reserved.
@@ -78,7 +78,7 @@
% and sole responsibility of Professor Knuth.
@z
%---------------------------------------
-@x limbo l.50 - e-TeX history
+@x limbo l.51 - 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
@@ -119,6 +119,9 @@
% Version 2.3 development was started in Feb 2008; released in Mon Year.
% fixed a bug in hyph_code handling (\savinghyphcodes)
% reported by Vladimir Volovich <vvv@@vsu.ru>, Feb 2008.
+% fixed the error message for improper use of \protected,
+% reported by Heiko Oberdiek
+% <heiko.oberdiek@@googlemail.com>, Apr 2010.
% Although considerable effort has been expended to make the e-TeX program
% correct and reliable, no warranty is implied; the author disclaims any
@@ -128,7 +131,7 @@
% been a ``labor of love'' and the author hopes that users enjoy it.
@z
%---------------------------------------
-@x limbo l.62 - e-TeX logo, TeXXeT
+@x limbo l.63 - e-TeX logo, TeXXeT
\let\mc=\ninerm % medium caps for names like SAIL
@y
\let\mc=\ninerm % medium caps for names like SAIL
@@ -158,14 +161,14 @@
\fi
@z
%---------------------------------------
-@x limbo l.65 - bug fix (print only changed modules)
+@x limbo l.66 - 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.81 - e-TeX basic
+@x limbo l.82 - e-TeX basic
\def\title{\TeX82}
@y
\def\title{\eTeX}
@@ -176,21 +179,21 @@
\let\maybe=\iffalse % print only changed modules
@z
%---------------------------------------
-@x [1] m.1 l.92 - this is e-TeX
+@x [1] m.1 l.93 - 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.180 - e-TeX basic
+@x [1] m.2 l.182 - 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.186 - e-TeX basic
+@x [1] m.2 l.188 - e-TeX basic
November 1984].
@y
November 1984].
@@ -200,7 +203,7 @@ helping to determine whether a particular implementation deserves to be
known as `\eTeX'.
@z
%---------------------------------------
-@x [1] m.2 l.188 - e-TeX basic
+@x [1] m.2 l.190 - e-TeX basic
@d banner=='This is TeX, Version 3.1415926' {printed when \TeX\ starts}
@y
@d eTeX_version=2 { \.{\\eTeXversion} }
@@ -221,14 +224,14 @@ known as `\eTeX'.
@d eTeX_states=1 {number of \eTeX\ state variables in |eqtb|}
@z
%---------------------------------------
-@x [1] m.3 l.207 - e-TeX basic
+@x [1] m.3 l.209 - 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.499 - e-TeX basic
+@x [1] m.15 l.504 - 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}
@@ -238,7 +241,7 @@ 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.141 l.2971 - e-TeX marks
+@x [10] m.141 l.2980 - 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.
@@ -246,21 +249,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.2977 - e-TeX marks
+@x [10] m.141 l.2986 - 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.2986 - e-TeX marks
+@x [10] m.142 l.2995 - 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.3075 - e-TeX TeXXeT
+@x [10] m.147 l.3084 - e-TeX TeXXeT
the amount of surrounding space inserted by \.{\\mathsurround}.
@y
the amount of surrounding space inserted by \.{\\mathsurround}.
@@ -271,7 +274,7 @@ discarded at a line break or one of the text direction primitives (
\.{\\beginL}, \.{\\endL}, \.{\\beginR}, and \.{\\endR} ).
@z
%---------------------------------------
-@x [10] m.147 l.3079 - e-TeX TeXXeT
+@x [10] m.147 l.3088 - 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}
@@ -291,14 +294,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.3552 - e-TeX TeXXeT
+@x [12] m.175 l.3561 - 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.3719 - e-TeX TeXXeT
+@x [12] m.184 l.3728 - e-TeX TeXXeT
begin print(", shifted "); print_scaled(shift_amount(p));
end;
@y
@@ -307,7 +310,7 @@ math_node: if subtype(p)>=L_code then print("[]")
if eTeX_ex then @<Display if this box is never to be reversed@>;
@z
%---------------------------------------
-@x [12] m.192 l.3817 - e-TeX TeXXeT
+@x [12] m.192 l.3826 - e-TeX TeXXeT
begin print_esc("math");
@y
if subtype(p)>after then
@@ -320,7 +323,7 @@ if subtype(p)>after then
begin print_esc("math");
@z
%---------------------------------------
-@x [12] m.196 l.3850 - e-TeX marks
+@x [12] m.196 l.3859 - e-TeX marks
begin print_esc("mark"); print_mark(mark_ptr(p));
@y
begin print_esc("mark");
@@ -330,70 +333,70 @@ if mark_class(p)<>0 then
print_mark(mark_ptr(p));
@z
%---------------------------------------
-@x [15] m.208 l.4087 - e-TeX saved_items
+@x [15] m.208 l.4096 - 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.4097 - e-TeX TeXXeT
+@x [15] m.208 l.4106 - 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.4113 - e-TeX middle
+@x [15] m.208 l.4122 - 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.4157 - e-TeX basic
+@x [15] m.209 l.4166 - e-TeX basic
\.{\\insertpenalties} )}
@y
\.{\\insertpenalties} )}
{( or \.{\\interactionmode} )}
@z
%---------------------------------------
-@x [15] m.209 l.4159 - e-TeX penalties
+@x [15] m.209 l.4168 - 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.4169 - e-TeX protected
+@x [15] m.209 l.4178 - 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.4172 - e-TeX read_line
+@x [15] m.209 l.4181 - 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.4187 - e-TeX scan_tokens
+@x [15] m.210 l.4196 - 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.4192 - e-TeX unexpanded
+@x [15] m.210 l.4201 - 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.4295 - e-TeX basic
+@x [16] m.212 l.4304 - e-TeX basic
user's output routine.
@y
user's output routine.
@@ -406,14 +409,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.4310 - e-TeX basic
+@x [16] m.212 l.4319 - e-TeX basic
@!head_field,@!tail_field: pointer;
@y
@!head_field,@!tail_field: pointer;
@!eTeX_aux_field: pointer;
@z
%---------------------------------------
-@x [16] m.213 l.4317 - e-TeX basic
+@x [16] m.213 l.4326 - 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}
@@ -423,21 +426,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.4348 - e-TeX basic
+@x [16] m.215 l.4357 - 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.4364 push_nest - e-TeX basic
+@x [16] m.216 l.4373 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.4727 - e-TeX basic, every_eof
+@x [17] m.230 l.4736 - 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}
@@ -449,7 +452,7 @@ eTeX_aux:=null;
@d toks_base=etex_toks {table of 256 token list registers}
@z
%---------------------------------------
-@x [17] m.230 l.4728 - e-TeX basic, penalties
+@x [17] m.230 l.4737 - e-TeX basic, penalties
@d box_base=toks_base+256 {table of 256 box registers}
@y
@#
@@ -463,14 +466,14 @@ eTeX_aux:=null;
@d box_base=etex_pens {table of 256 box registers}
@z
%---------------------------------------
-@x [17] m.231 l.4793 - e-TeX basic
+@x [17] m.231 l.4802 - e-TeX basic
othercases print_esc("errhelp")
@y
@/@<Cases of |assign_toks| for |print_cmd_chr|@>@/
othercases print_esc("errhelp")
@z
%---------------------------------------
-@x [17] m.232 l.4811 - e-TeX penalties
+@x [17] m.232 l.4820 - e-TeX penalties
eq_level(par_shape_loc):=level_one;@/
@y
eq_level(par_shape_loc):=level_one;@/
@@ -478,7 +481,7 @@ for k:=etex_pen_base to etex_pens-1 do
eqtb[k]:=eqtb[par_shape_loc];
@z
%---------------------------------------
-@x [17] m.233 l.4839 - e-TeX penalties
+@x [17] m.233 l.4848 - e-TeX penalties
if n=par_shape_loc then
begin print_esc("parshape"); print_char("=");
if par_shape_ptr=null then print_char("0")
@@ -493,7 +496,7 @@ if (n=par_shape_loc) or ((n>=etex_pen_base) and (n<etex_pens)) then
end
@z
%---------------------------------------
-@x [17] m.236 l.4960 - e-TeX basic
+@x [17] m.236 l.4969 - e-TeX basic
@d int_pars=55 {total number of integer parameters}
@y
@d tex_int_pars=55 {total number of \TeX's integer parameters}
@@ -514,7 +517,7 @@ if (n=par_shape_loc) or ((n>=etex_pen_base) and (n<etex_pens)) then
@d int_pars=etex_int_pars {total number of integer parameters}
@z
%---------------------------------------
-@x [17] m.236 l.5022 - e-TeX basic
+@x [17] m.236 l.5031 - e-TeX basic
@d error_context_lines==int_par(error_context_lines_code)
@y
@d error_context_lines==int_par(error_context_lines_code)
@@ -530,20 +533,20 @@ if (n=par_shape_loc) or ((n>=etex_pen_base) and (n<etex_pens)) then
@d saving_hyph_codes==int_par(saving_hyph_codes_code)
@z
%---------------------------------------
-@x [17] m.237 l.5087 print_param - e-TeX basic
+@x [17] m.237 l.5096 print_param - e-TeX basic
othercases print("[unknown integer parameter!]")
@y
@/@<Cases for |print_param|@>@/
othercases print("[unknown integer parameter!]")
@z
%---------------------------------------
-@x [18] m.264 l.5618 primitive - e-TeX basic
+@x [18] m.264 l.5627 primitive - e-TeX basic
@!j:small_number; {index into |buffer|}
@y
@!j:0..buf_size; {index into |buffer|}
@z
%---------------------------------------
-@x [18] m.264 l.5622 primitive - e-TeX basic
+@x [18] m.264 l.5631 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|}
@@ -556,26 +559,26 @@ othercases print("[unknown integer parameter!]")
cur_val:=id_lookup(first,l); {|no_new_control_sequence| is |false|}
@z
%---------------------------------------
-@x [18] m.265 l.5697 - e-TeX penalties
+@x [18] m.265 l.5706 - e-TeX penalties
primitive("parshape",set_shape,0);@/
@y
primitive("parshape",set_shape,par_shape_loc);@/
@z
%---------------------------------------
-@x [18] m.265 l.5714 - e-TeX sparse arrays
+@x [18] m.265 l.5723 - e-TeX sparse arrays
primitive("toks",toks_register,0);@/
@y
primitive("toks",toks_register,mem_bot);@/
@z
%---------------------------------------
-@x [18] m.266 l.5747 - e-TeX cond
+@x [18] m.266 l.5756 - e-TeX cond
expand_after: print_esc("expandafter");
@y
expand_after: if chr_code=0 then print_esc("expandafter")
@<Cases of |expandafter| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [18] m.266 l.5753 - e-TeX marks
+@x [18] m.266 l.5762 - e-TeX marks
mark: print_esc("mark");
@y
mark: begin print_esc("mark");
@@ -583,14 +586,14 @@ mark: begin print_esc("mark");
end;
@z
%---------------------------------------
-@x [18] m.266 l.5764 - e-TeX read_line
+@x [18] m.266 l.5773 - e-TeX read_line
read_to_cs: print_esc("read");
@y
read_to_cs: if chr_code=0 then print_esc("read")
@<Cases of |read| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [18] m.266 l.5768 - e-TeX penalties
+@x [18] m.266 l.5777 - e-TeX penalties
set_shape: print_esc("parshape");
@y
set_shape: case chr_code of
@@ -599,33 +602,33 @@ set_shape: case chr_code of
end; {there are no other cases}
@z
%---------------------------------------
-@x [18] m.266 l.5769 - e-TeX unexpanded
+@x [18] m.266 l.5778 - e-TeX unexpanded
the: print_esc("the");
@y
the: if chr_code=0 then print_esc("the")
@<Cases of |the| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [18] m.266 l.5770 - e-TeX sparse arrays
+@x [18] m.266 l.5779 - e-TeX sparse arrays
toks_register: print_esc("toks");
@y
toks_register: @<Cases of |toks_register| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [18] m.266 l.5772 - e-TeX TeXXeT
+@x [18] m.266 l.5781 - e-TeX TeXXeT
valign: print_esc("valign");
@y
valign: if chr_code=0 then print_esc("valign")@/
@<Cases of |valign| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [19] m.268 l.5806 - e-TeX sparse arrays
+@x [19] m.268 l.5815 - e-TeX sparse arrays
interpreted in one of four ways:
@y
interpreted in one of five ways:
@z
%---------------------------------------
-@x [19] m.268 l.5826 - e-TeX tracing
+@x [19] m.268 l.5835 - e-TeX tracing
the entries for that group.
@y
the entries for that group.
@@ -638,7 +641,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.5836 - e-TeX basic
+@x [19] m.268 l.5845 - 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}
@@ -647,19 +650,19 @@ the values of |sa_chain| and |sa_level| respectively.
@p@t\4@>@<Declare \eTeX\ procedures for tracing and input@>
@z
%---------------------------------------
-@x [19] m.273 l.5894 - e-TeX tracing
+@x [19] m.273 l.5903 - 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.5900 check_full_save_stack - e-TeX tracing
+@x [19] m.273 l.5909 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.5922 new_save_level - e-TeX tracing
+@x [19] m.274 l.5931 new_save_level - e-TeX tracing
begin check_full_save_stack;
@y
begin check_full_save_stack;
@@ -668,7 +671,7 @@ if eTeX_ex then
end;
@z
%---------------------------------------
-@x [19] m.274 l.5929 new_save_level - e-TeX tracing
+@x [19] m.274 l.5938 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;
@@ -676,14 +679,14 @@ cur_boundary:=save_ptr; cur_group:=c;
incr(cur_level); incr(save_ptr);
@z
%---------------------------------------
-@x [19] m.275 l.5947 eq_destroy - e-TeX sparse arrays
+@x [19] m.275 l.5956 eq_destroy - e-TeX sparse arrays
othercases do_nothing
@y
@/@<Cases for |eq_destroy|@>@/
othercases do_nothing
@z
%---------------------------------------
-@x [19] m.277 l.5969 - e-TeX tracing
+@x [19] m.277 l.5978 - e-TeX tracing
the call, since |eq_save| makes the necessary test.
@y
the call, since |eq_save| makes the necessary test.
@@ -692,7 +695,7 @@ the call, since |eq_save| makes the necessary test.
tats
@z
%---------------------------------------
-@x [19] m.277 l.5973 eq_define - e-TeX tracing
+@x [19] m.277 l.5982 eq_define - e-TeX tracing
begin if eq_level(p)=cur_level then eq_destroy(eqtb[p])
@y
label exit;
@@ -704,14 +707,14 @@ assign_trace(p,"changing")@;@/
if eq_level(p)=cur_level then eq_destroy(eqtb[p])
@z
%---------------------------------------
-@x [19] m.277 l.5976 eq_define - e-TeX tracing
+@x [19] m.277 l.5985 eq_define - e-TeX tracing
end;
@y
assign_trace(p,"into")@;@/
exit:end;
@z
%---------------------------------------
-@x [19] m.278 l.5983 eq_word_define - e-TeX tracing
+@x [19] m.278 l.5992 eq_word_define - e-TeX tracing
begin if xeq_level[p]<>cur_level then
@y
label exit;
@@ -723,14 +726,14 @@ assign_trace(p,"changing")@;@/
if xeq_level[p]<>cur_level then
@z
%---------------------------------------
-@x [19] m.278 l.5987 eq_word_define - e-TeX tracing
+@x [19] m.278 l.5996 eq_word_define - e-TeX tracing
end;
@y
assign_trace(p,"into")@;@/
exit:end;
@z
%---------------------------------------
-@x [19] m.279 l.5996 geq_define - e-TeX tracing
+@x [19] m.279 l.6005 geq_define - e-TeX tracing
begin eq_destroy(eqtb[p]);
eq_level(p):=level_one; eq_type(p):=t; equiv(p):=e;
@y
@@ -741,7 +744,7 @@ end;
assign_trace(p,"into")@;@/
@z
%---------------------------------------
-@x [19] m.279 l.6001 geq_word_define - e-TeX tracing
+@x [19] m.279 l.6010 geq_word_define - e-TeX tracing
begin eqtb[p].int:=w; xeq_level[p]:=level_one;
@y
begin assign_trace(p,"globally changing")@;@/
@@ -750,13 +753,13 @@ end;
assign_trace(p,"into")@;@/
@z
%---------------------------------------
-@x [19] m.281 l.6018 - e-TeX tracing
+@x [19] m.281 l.6027 - e-TeX tracing
@p@t\4@>@<Declare the procedure called |restore_trace|@>@;@/
@y
@p
@z
%---------------------------------------
-@x [19] m.281 l.6025 unsave - e-TeX optimized \aftergroup
+@x [19] m.281 l.6034 unsave - e-TeX optimized \aftergroup
begin if cur_level>level_one then
@y
@!a:boolean; {have we already processed an \.{\\aftergroup} ?}
@@ -764,7 +767,7 @@ begin a:=false;
if cur_level>level_one then
@z
%---------------------------------------
-@x [19] m.282 l.6039 - e-TeX sparse arrays
+@x [19] m.282 l.6048 - 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
@@ -773,7 +776,7 @@ if cur_level>level_one then
else begin if save_type(save_ptr)=restore_old_value then
@z
%---------------------------------------
-@x [19] m.282 l.6047 - e-TeX tracing
+@x [19] m.282 l.6056 - 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@;@/
@@ -783,39 +786,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.6073 - e-TeX tracing
+@x [19] m.284 l.6082 - e-TeX tracing
@ @<Declare the procedure called |restore_trace|@>=
@y
@ @<Declare \eTeX\ procedures for tr...@>=
@z
%---------------------------------------
-@x [20] m.289 l.6161 - e-TeX protected
+@x [20] m.289 l.6170 - 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.6286 - e-TeX protected
+@x [20] m.294 l.6295 - e-TeX protected
end_match: print("->");
@y
end_match: if c=0 then print("->");
@z
%---------------------------------------
-@x [20] m.296 l.6307 print_meaning - e-TeX marks
+@x [20] m.296 l.6316 print_meaning - e-TeX marks
else if cur_cmd=top_bot_mark then
@y
else if (cur_cmd=top_bot_mark)and(cur_chr<marks_code) then
@z
%---------------------------------------
-@x [21] m.298 l.6381 print_cmd_chr - e-TeX protected
+@x [21] m.298 l.6390 print_cmd_chr - e-TeX protected
procedure print_cmd_chr(@!cmd:quarterword;@!chr_code:halfword);
@y
procedure print_cmd_chr(@!cmd:quarterword;@!chr_code:halfword);
var n:integer; {temp variable}
@z
%---------------------------------------
-@x [21] m.299 l.6400 show_cur_cmd_chr - e-TeX tracing
+@x [21] m.299 l.6409 show_cur_cmd_chr - e-TeX tracing
@p procedure show_cur_cmd_chr;
@y
@p procedure show_cur_cmd_chr;
@@ -824,7 +827,7 @@ var n:integer; {level of \.{\\if...\\fi} nesting}
@!p:pointer;
@z
%---------------------------------------
-@x [21] m.299 l.6405 show_cur_cmd_chr - e-TeX tracing
+@x [21] m.299 l.6414 show_cur_cmd_chr - e-TeX tracing
print_cmd_chr(cur_cmd,cur_chr); print_char("}");
@y
print_cmd_chr(cur_cmd,cur_chr);
@@ -846,7 +849,7 @@ if tracing_ifs>0 then
print_char("}");
@z
%---------------------------------------
-@x [22] m.303 l.6481 show_context - e-TeX scan_tokens
+@x [22] m.303 l.6490 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|.)
@@ -854,7 +857,7 @@ Finally |18<=name<=19| indicates that we are reading a pseudo file
created by the \.{\\scantokens} command.
@z
%---------------------------------------
-@x [22] m.307 l.6678 - e-TeX basic, every_eof
+@x [22] m.307 l.6687 - e-TeX basic, every_eof
only if |token_type>=macro|.
@^reference counts@>
@y
@@ -865,7 +868,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.6699 - e-TeX basic
+@x [22] m.307 l.6708 - e-TeX basic
@d write_text=15 {|token_type| code for \.{\\write}}
@y
@#
@@ -876,13 +879,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.6755 show_context - e-TeX scan_tokens
+@x [22] m.311 l.6764 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.6800 - e-TeX scan_tokens
+@x [22] m.313 l.6809 - e-TeX scan_tokens
else begin print_nl("l."); print_int(line);
@y
else if index<>in_open then {input from a pseudo file}
@@ -891,14 +894,14 @@ else if index<>in_open then {input from a pseudo file}
else begin print_nl("l."); print_int(line);
@z
%---------------------------------------
-@x [22] m.314 l.6822 - e-TeX basic
+@x [22] m.314 l.6831 - e-TeX basic
write_text: print_nl("<write> ");
@y
every_eof_text: print_nl("<everyeof> ");
write_text: print_nl("<write> ");
@z
%---------------------------------------
-@x [23] m.326 l.7015 - e-TeX optimized \aftergroup
+@x [23] m.326 l.7024 - e-TeX optimized \aftergroup
begin t:=cur_tok; cur_tok:=p; back_input; cur_tok:=t;
@y
begin t:=cur_tok; cur_tok:=p;
@@ -913,7 +916,7 @@ else begin back_input; a:=eTeX_ex;
cur_tok:=t;
@z
%---------------------------------------
-@x [23] m.328 l.7043 begin_file_reading - e-TeX every_eof, tracing_nesting
+@x [23] m.328 l.7052 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;
@@ -921,21 +924,21 @@ eof_seen[index]:=false;
grp_stack[index]:=cur_boundary; if_stack[index]:=cond_ptr;
@z
%---------------------------------------
-@x [23] m.329 l.7053 end_file_reading - e-TeX scan_tokens
+@x [23] m.329 l.7062 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.7072 - e-TeX tracing_nesting
+@x [23] m.331 l.7081 - 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.7544 - e-TeX scan_tokens, every_eof
+@x [24] m.362 l.7553 - e-TeX scan_tokens, every_eof
if not force_eof then
@y
if not force_eof then
@@ -951,7 +954,7 @@ if not force_eof then
else
@z
%---------------------------------------
-@x [24] m.362 l.7547 - e-TeX every_eof
+@x [24] m.362 l.7556 - e-TeX every_eof
else force_eof:=true;
@y
else if (every_eof<>null)and not eof_seen[index] then
@@ -961,7 +964,7 @@ if not force_eof then
else force_eof:=true;
@z
%---------------------------------------
-@x [24] m.362 l.7550 - e-TeX scan_tokens
+@x [24] m.362 l.7559 - e-TeX scan_tokens
begin print_char(")"); decr(open_parens);
update_terminal; {show user that file has been read}
@y
@@ -975,35 +978,35 @@ if not force_eof then
end;
@z
%---------------------------------------
-@x [25] m.366 l.7636 - e-TeX basic
+@x [25] m.366 l.7643 - e-TeX basic
@t\4@>@<Declare the procedure called |insert_relax|@>@;@/
@y
@t\4@>@<Declare the procedure called |insert_relax|@>@;@/
@t\4@>@<Declare \eTeX\ procedures for expanding@>@;@/
@z
%---------------------------------------
-@x [25] m.366 l.7643 expand - e-TeX cond
+@x [25] m.366 l.7650 expand - e-TeX cond
procedure expand;
@y
procedure expand;
label reswitch;
@z
%---------------------------------------
-@x [25] m.366 l.7654 expand - e-TeX cond
+@x [25] m.366 l.7661 expand - e-TeX cond
if cur_cmd<call then @<Expand a nonmacro@>
@y
reswitch:
if cur_cmd<call then @<Expand a nonmacro@>
@z
%---------------------------------------
-@x [25] m.367 l.7665 - e-TeX cond
+@x [25] m.367 l.7672 - e-TeX cond
expand_after:@<Expand the token after the next token@>;
@y
expand_after:if cur_chr=0 then @<Expand the token after the next token@>
else @<Negate a boolean conditional and |goto reswitch|@>;
@z
%---------------------------------------
-@x [25] m.377 l.7785 - e-TeX scan_tokens
+@x [25] m.377 l.7792 - 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")
@@ -1011,14 +1014,14 @@ input: if chr_code=0 then print_esc("input")
else print_esc("endinput");
@z
%---------------------------------------
-@x [25] m.378 l.7788 - e-TeX scan_tokens
+@x [25] m.378 l.7795 - e-TeX scan_tokens
if cur_chr>0 then force_eof:=true
@y
if cur_chr=1 then force_eof:=true
@/@<Cases for |input|@>@/
@z
%---------------------------------------
-@x [25] m.382 l.7844 - e-TeX marks
+@x [25] m.382 l.7851 - 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.}
@@ -1026,13 +1029,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.7876 - e-TeX marks
+@x [25] m.385 l.7883 - 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.7882 - e-TeX marks
+@x [25] m.385 l.7889 - e-TeX marks
endcases;
@y
endcases;
@@ -1040,7 +1043,7 @@ top_bot_mark: begin case (chr_code mod marks_code) of
end;
@z
%---------------------------------------
-@x [25] m.386 l.7888 - e-TeX marks
+@x [25] m.386 l.7895 - e-TeX marks
begin if cur_mark[cur_chr]<>null then
begin_token_list(cur_mark[cur_chr],mark_text);
@y
@@ -1051,28 +1054,28 @@ else @<Compute the mark pointer for mark type |t| and class |cur_val|@>;
if cur_ptr<>null then begin_token_list(cur_ptr,mark_text);
@z
%---------------------------------------
-@x [25] m.389 l.7951 macro_call - e-TeX protected
+@x [25] m.389 l.7958 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.8262 - e-TeX basic
+@x [26] m.409 l.8270 - e-TeX basic
@t\4\4@>@<Declare procedures that scan font-related stuff@>
@y
@t\4\4@>@<Declare \eTeX\ procedures for scanning@>@;
@t\4\4@>@<Declare procedures that scan font-related stuff@>
@z
%---------------------------------------
-@x [26] m.411 l.8306 - e-TeX sparse arrays
+@x [26] m.411 l.8314 - 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.8309 - e-TeX sparse arrays
+@x [26] m.411 l.8317 - e-TeX sparse arrays
primitive("count",register,int_val);
@!@:count_}{\.{\\count} primitive@>
primitive("dimen",register,dimen_val);
@@ -1090,7 +1093,7 @@ primitive("skip",register,mem_bot+glue_val);
primitive("muskip",register,mem_bot+mu_val);
@z
%---------------------------------------
-@x [26] m.412 l.8319 - e-TeX sparse arrays
+@x [26] m.412 l.8327 - 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")
@@ -1099,7 +1102,7 @@ register: if chr_code=int_val then print_esc("count")
register: @<Cases of |register| for |print_cmd_chr|@>;
@z
%---------------------------------------
-@x [26] m.413 l.8335 scan_something_internal - e-TeX basic
+@x [26] m.413 l.8343 scan_something_internal - e-TeX basic
var m:halfword; {|chr_code| part of the operand token}
@y
label exit;
@@ -1108,13 +1111,13 @@ var m:halfword; {|chr_code| part of the operand token}
@!i:four_quarters; {character info}
@z
%---------------------------------------
-@x [26] m.413 l.8361 scan_something_internal - e-TeX basic
+@x [26] m.413 l.8369 scan_something_internal - e-TeX basic
end;
@y
exit:end;
@z
%---------------------------------------
-@x [26] m.415 l.8382 - e-TeX sparse arrays
+@x [26] m.415 l.8390 - e-TeX sparse arrays
begin scan_eight_bit_int; m:=toks_base+cur_val;
end;
scanned_result(equiv(m))(tok_val);
@@ -1132,7 +1135,7 @@ exit:end;
cur_val_level:=tok_val;
@z
%---------------------------------------
-@x [26] m.416 l.8397 - e-TeX basic
+@x [26] m.416 l.8405 - e-TeX basic
|glue_val|, |input_line_no_code|, or |badness_code|.
@y
|glue_val|, |input_line_no_code|, or |badness_code|.
@@ -1140,7 +1143,7 @@ exit:end;
the codes for its extensions: |eTeX_version_code|, \dots\ .
@z
%---------------------------------------
-@x [26] m.416 l.8399 - e-TeX basic
+@x [26] m.416 l.8407 - e-TeX basic
@d input_line_no_code=glue_val+1 {code for \.{\\inputlineno}}
@d badness_code=glue_val+2 {code for \.{\\badness}}
@y
@@ -1155,21 +1158,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.8432 - e-TeX interaction_mode
+@x [26] m.417 l.8440 - e-TeX interaction_mode
@+else print_esc("insertpenalties");
@y
@/@<Cases of |set_page_int| for |print_cmd_chr|@>@/
@+else print_esc("insertpenalties");
@z
%---------------------------------------
-@x [26] m.417 l.8441 - e-TeX basic
+@x [26] m.417 l.8449 - e-TeX basic
othercases print_esc("badness")
@y
@/@<Cases of |last_item| for |print_cmd_chr|@>@/
othercases print_esc("badness")
@z
%---------------------------------------
-@x [26] m.419 l.8464 - e-TeX interaction_mode
+@x [26] m.419 l.8469 - 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
@@ -1177,7 +1180,7 @@ begin if m=0 then cur_val:=dead_cycles
else cur_val:=insert_penalties;
@z
%---------------------------------------
-@x [26] m.420 l.8469 - e-TeX sparse arrays
+@x [26] m.420 l.8474 - 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
@@ -1185,27 +1188,27 @@ 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.8494 - e-TeX penalties
+@x [26] m.423 l.8499 - e-TeX penalties
begin if par_shape_ptr=null then cur_val:=0
@y
begin if m>par_shape_loc then @<Fetch a penalties array element@>
else if par_shape_ptr=null then cur_val:=0
@z
%---------------------------------------
-@x [26] m.424 l.8500 - e-TeX TeXXeT
+@x [26] m.424 l.8505 - e-TeX TeXXeT
implemented. The reference count for \.{\\lastskip} will be updated later.
@y
implemented. The reference count for \.{\\lastskip} will be updated later.
A final \.{\\endM} node is temporarily removed.
@z
%---------------------------------------
-@x [26] m.424 l.8506 - e-TeX basic
+@x [26] m.424 l.8511 - e-TeX basic
if cur_chr>glue_val then
@y
if m>=input_line_no_code then
@z
%---------------------------------------
-@x [26] m.424 l.8507 - e-TeX basic
+@x [26] m.424 l.8512 - 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
@@ -1223,7 +1226,7 @@ if m>=input_line_no_code then
end; {there are no other cases}
@z
%---------------------------------------
-@x [26] m.424 l.8512 - e-TeX last_node_type
+@x [26] m.424 l.8517 - e-TeX last_node_type
cur_val_level:=cur_chr;
@y
if cur_chr=last_node_type_code then
@@ -1233,7 +1236,7 @@ if m>=input_line_no_code then
else cur_val_level:=cur_chr;
@z
%---------------------------------------
-@x [26] m.424 l.8514 - e-TeX TeXXeT
+@x [26] m.424 l.8519 - e-TeX TeXXeT
case cur_chr of
@y
begin if (type(tail)=math_node)and(subtype(tail)=end_M_code) then
@@ -1241,7 +1244,7 @@ if m>=input_line_no_code then
case cur_chr of
@z
%---------------------------------------
-@x [26] m.424 l.8520 - e-TeX last_node_type
+@x [26] m.424 l.8525 - e-TeX last_node_type
end;
@y
end;
@@ -1251,7 +1254,7 @@ if m>=input_line_no_code then
else cur_val:=unset_node+2;
@z
%---------------------------------------
-@x [26] m.424 l.8521 - e-TeX TeXXeT
+@x [26] m.424 l.8526 - e-TeX TeXXeT
end {there are no other cases}
@y
end; {there are no other cases}
@@ -1259,14 +1262,14 @@ if m>=input_line_no_code then
end
@z
%---------------------------------------
-@x [26] m.424 l.8526 - e-TeX last_node_type
+@x [26] m.424 l.8531 - 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.8542 - e-TeX sparse arrays
+@x [26] m.427 l.8547 - e-TeX sparse arrays
begin scan_eight_bit_int;
case m of
@y
@@ -1288,13 +1291,13 @@ else begin scan_register_num; cur_val_level:=m-mem_bot;
case cur_val_level of
@z
%---------------------------------------
-@x [26] m.427 l.8549 - e-TeX sparse arrays
+@x [26] m.427 l.8554 - e-TeX sparse arrays
cur_val_level:=m;
@y
end;
@z
%---------------------------------------
-@x [26] m.461 l.9077 - e-TeX expr
+@x [26] m.461 l.9082 - e-TeX expr
exit:end;
@y
exit:end;
@@ -1302,21 +1305,21 @@ exit:end;
@<Declare procedures needed for expressions@>@;
@z
%---------------------------------------
-@x [27] m.464 l.9136 - e-TeX basic
+@x [27] m.464 l.9141 - e-TeX basic
@p function str_toks(@!b:pool_pointer):pointer;
@y
@p @t\4@>@<Declare \eTeX\ procedures for token lists@>@;@/
function str_toks(@!b:pool_pointer):pointer;
@z
%---------------------------------------
-@x [27] m.465 l.9161 the_toks - e-TeX unexpanded
+@x [27] m.465 l.9166 the_toks - e-TeX unexpanded
@p function the_toks:pointer;
@y
@p function the_toks:pointer;
label exit;
@z
%---------------------------------------
-@x [27] m.465 l.9165 the_toks - e-TeX unexpanded
+@x [27] m.465 l.9170 the_toks - e-TeX unexpanded
begin get_x_token; scan_something_internal(tok_val,false);
@y
@!c:small_number; {value of |cur_chr|}
@@ -1324,13 +1327,13 @@ begin @<Handle \.{\\unexpanded} or \.{\\detokenize} and |return|@>;@/
get_x_token; scan_something_internal(tok_val,false);
@z
%---------------------------------------
-@x [27] m.465 l.9179 the_toks - e-TeX unexpanded
+@x [27] m.465 l.9184 the_toks - e-TeX unexpanded
end;
@y
exit:end;
@z
%---------------------------------------
-@x [27] m.468 l.9202 - e-TeX basic
+@x [27] m.468 l.9207 - e-TeX basic
@d number_code=0 {command code for \.{\\number}}
@y
\eTeX\ adds \.{\\eTeXrevision} such that |job_name_code| remains last.
@@ -1338,7 +1341,7 @@ exit:end;
@d number_code=0 {command code for \.{\\number}}
@z
%---------------------------------------
-@x [27] m.468 l.9207 - e-TeX basic
+@x [27] m.468 l.9212 - e-TeX basic
@d job_name_code=5 {command code for \.{\\jobname}}
@y
@d etex_convert_base=5 {base for \eTeX's command codes}
@@ -1347,28 +1350,28 @@ exit:end;
@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
@z
%---------------------------------------
-@x [27] m.469 l.9230 - e-TeX basic
+@x [27] m.469 l.9235 - e-TeX basic
othercases print_esc("jobname")
@y
eTeX_revision_code: print_esc("eTeXrevision");
othercases print_esc("jobname")
@z
%---------------------------------------
-@x [27] m.471 l.9255 - e-TeX basic
+@x [27] m.471 l.9260 - 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.9271 - e-TeX basic
+@x [27] m.472 l.9276 - 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.9381 - e-TeX protected
+@x [27] m.478 l.9386 - e-TeX protected
if cur_cmd<=max_command then goto done2;
@y
if cur_cmd>=call then
@@ -1378,20 +1381,20 @@ job_name_code: print(job_name);
if cur_cmd<=max_command then goto done2;
@z
%---------------------------------------
-@x [27] m.482 l.9429 read_toks - e-TeX read_line
+@x [27] m.482 l.9434 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.9455 - e-TeX read_line
+@x [27] m.483 l.9460 - e-TeX read_line
loop@+ begin get_token;
@y
@<Handle \.{\\readline} and |goto done|@>;@/
loop@+ begin get_token;
@z
%---------------------------------------
-@x [28] m.487 l.9507 - e-TeX cond
+@x [28] m.487 l.9512 - e-TeX cond
@d if_char_code=0 { `\.{\\if}' }
@y
@d unless_code=32 {amount added for `\.{\\unless}' prefix}
@@ -1399,14 +1402,14 @@ loop@+ begin get_token;
@d if_char_code=0 { `\.{\\if}' }
@z
%---------------------------------------
-@x [28] m.488 l.9562 - e-TeX cond
+@x [28] m.488 l.9567 - 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.9579 - e-TeX cond
+@x [28] m.488 l.9584 - e-TeX cond
othercases print_esc("if")
endcases;
@y
@@ -1416,14 +1419,14 @@ case chr_code mod unless_code of
end;
@z
%---------------------------------------
-@x [28] m.494 l.9653 pass_text - e-TeX tracing
+@x [28] m.494 l.9658 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.9669 - e-TeX tracing_nesting
+@x [28] m.496 l.9674 - 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;
@@ -1431,7 +1434,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.9706 conditional - e-TeX cond
+@x [28] m.498 l.9711 conditional - e-TeX cond
begin @<Push the condition stack@>;@+save_cond_ptr:=cond_ptr;this_if:=cur_chr;@/
@<Either process \.{\\ifcase} or set |b| to the value of a boolean condition@>;
@y
@@ -1443,34 +1446,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.9749 - e-TeX cond
+@x [28] m.501 l.9754 - e-TeX cond
if_false_code: b:=false;
@y
if_false_code: b:=false;
@/@<Cases for |conditional|@>@/
@z
%---------------------------------------
-@x [28] m.505 l.9788 - e-TeX sparse arrays
+@x [28] m.505 l.9793 - 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.9878 - e-TeX cond
+@x [28] m.510 l.9883 - 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.9889 - e-TeX cond
+@x [28] m.510 l.9894 - e-TeX cond
end
@y
end;
end
@z
%---------------------------------------
-@x [29] m.536 l.10343 - e-TeX basic
+@x [29] m.536 l.10348 - e-TeX basic
print_two(time div 60); print_char(":"); print_two(time mod 60);
@y
print_two(time div 60); print_char(":"); print_two(time mod 60);
@@ -1479,7 +1482,7 @@ if eTeX_ex then
end;
@z
%---------------------------------------
-@x [30] m.581 l.11276 char_warning - e-TeX tracing
+@x [30] m.581 l.11282 char_warning - e-TeX tracing
begin if tracing_lost_chars>0 then
@y
var old_setting: integer; {saved value of |tracing_online|}
@@ -1488,7 +1491,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.11283 char_warning - e-TeX tracing
+@x [30] m.581 l.11289 char_warning - e-TeX tracing
end;
@y
tracing_online:=old_setting;
@@ -1496,7 +1499,7 @@ end;
end;
@z
%---------------------------------------
-@x [32] m.616 l.12251 - e-TeX TeXXeT
+@x [32] m.616 l.12257 - 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.
@@ -1519,7 +1522,7 @@ changes; the subtype of an an |hlist_node| inside R-text is changed to
@!@^data structure assumptions@>
@z
%---------------------------------------
-@x [32] m.616 l.12253 - e-TeX TeXXeT
+@x [32] m.616 l.12259 - e-TeX TeXXeT
@d synch_h==if cur_h<>dvi_h then
@y
@d reversed=min_quarterword+1 {subtype for an |hlist_node| whose hlist
@@ -1532,14 +1535,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.12321 hlist_out - e-TeX TeXXeT
+@x [32] m.619 l.12327 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.12331 hlist_out - e-TeX TeXXeT
+@x [32] m.619 l.12337 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;
@@ -1548,54 +1551,54 @@ prev_p:=this_box+list_offset;
left_edge:=cur_h;
@z
%---------------------------------------
-@x [32] m.619 l.12334 hlist_out - e-TeX TeXXeT
+@x [32] m.619 l.12340 hlist_out - e-TeX TeXXeT
prune_movements(save_loc);
@y
@<Finish |hlist_out| for mixed direction typesetting@>;
prune_movements(save_loc);
@z
%---------------------------------------
-@x [32] m.620 l.12353 - e-TeX TeXXeT
+@x [32] m.620 l.12359 - 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.12378 - e-TeX TeXXeT
+@x [32] m.622 l.12384 - e-TeX TeXXeT
kern_node,math_node:cur_h:=cur_h+width(p);
@y
kern_node:cur_h:=cur_h+width(p);
math_node: @<Handle a math node in |hlist_out|@>;
@z
%---------------------------------------
-@x [32] m.622 l.12380 - e-TeX TeXXeT
+@x [32] m.622 l.12386 - e-TeX TeXXeT
othercases do_nothing
@y
@/@<Cases of |hlist_out| that arise in mixed direction text only@>@;
othercases do_nothing
@z
%---------------------------------------
-@x [32] m.622 l.12385 - e-TeX TeXXeT
+@x [32] m.622 l.12391 - e-TeX TeXXeT
next_p:p:=link(p);
@y
next_p:prev_p:=p; p:=link(p);
@z
%---------------------------------------
-@x [32] m.623 l.12392 - e-TeX TeXXeT
+@x [32] m.623 l.12398 - 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.12395 - e-TeX TeXXeT
+@x [32] m.623 l.12401 - 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.12413 - e-TeX TeXXeT
+@x [32] m.625 l.12419 - e-TeX TeXXeT
glue_temp:=-billion
@<Move right or output leaders@>=
@@ -1606,7 +1609,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.12432 - e-TeX TeXXeT
+@x [32] m.625 l.12438 - e-TeX TeXXeT
rule_wd:=rule_wd+cur_g;
@y
rule_wd:=rule_wd+cur_g
@@ -1616,14 +1619,14 @@ begin round_glue;
if eTeX_ex then @<Handle a glue node for mixed direction typesetting@>;
@z
%---------------------------------------
-@x [32] m.626 l.12448 - e-TeX TeXXeT
+@x [32] m.626 l.12454 - 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.12454 - e-TeX TeXXeT
+@x [32] m.626 l.12460 - e-TeX TeXXeT
cur_h:=edge-10; goto next_p;
@y
if cur_dir=right_to_left then cur_h:=edge
@@ -1631,21 +1634,21 @@ if eTeX_ex then @<Handle a glue node for mixed direction typesetting@>;
goto next_p;
@z
%---------------------------------------
-@x [32] m.628 l.12493 - e-TeX TeXXeT
+@x [32] m.628 l.12499 - 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.12567 - e-TeX TeXXeT
+@x [32] m.632 l.12573 - 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.12579 - e-TeX TeXXeT
+@x [32] m.633 l.12585 - e-TeX TeXXeT
begin synch_h; synch_v;
dvi_out(put_rule); dvi_four(rule_ht); dvi_four(rule_wd);
@y
@@ -1655,7 +1658,7 @@ if cur_dir=right_to_left then cur_h:=cur_h+leader_wd;
cur_h:=left_edge;
@z
%---------------------------------------
-@x [32] m.637 l.12645 - e-TeX TeXXeT
+@x [32] m.637 l.12651 - 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
@@ -1664,28 +1667,28 @@ begin if cur_dir=right_to_left then
synch_h; save_h:=dvi_h;@/
@z
%---------------------------------------
-@x [32] m.638 l.12682 ship_out - e-TeX TeXXeT
+@x [32] m.638 l.12688 ship_out - e-TeX TeXXeT
@<Ship box |p| out@>;
@y
@<Ship box |p| out@>;
if eTeX_ex then @<Check for LR anomalies at the end of |ship_out|@>;
@z
%---------------------------------------
-@x [33] m.649 l.12902 hpack - e-TeX TeXXeT
+@x [33] m.649 l.12909 hpack - e-TeX TeXXeT
h:=0; @<Clear dimensions to zero@>;
@y
h:=0; @<Clear dimensions to zero@>;
if TeXXeT_en then @<Initialize the LR stack@>;
@z
%---------------------------------------
-@x [33] m.649 l.12912 hpack - e-TeX TeXXeT
+@x [33] m.649 l.12919 hpack - e-TeX TeXXeT
exit: hpack:=r;
@y
exit: if TeXXeT_en then @<Check for LR anomalies at the end of |hpack|@>;
hpack:=r;
@z
%---------------------------------------
-@x [33] m.651 l.12936 - e-TeX TeXXeT
+@x [33] m.651 l.12943 - e-TeX TeXXeT
kern_node,math_node: x:=x+width(p);
@y
kern_node: x:=x+width(p);
@@ -1694,21 +1697,21 @@ hpack:=r;
end;
@z
%---------------------------------------
-@x [34] m.687 l.13507 - e-TeX middle
+@x [34] m.687 l.13514 - 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.13524 - e-TeX middle
+@x [34] m.687 l.13531 - 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.13697 - e-TeX middle
+@x [34] m.696 l.13704 - e-TeX middle
right_noad: begin print_esc("right"); print_delimiter(delimiter(p));
end;
end;
@@ -1730,7 +1733,7 @@ if type(p)<left_noad then
end;
@z
%---------------------------------------
-@x [36] m.727 l.14295 - e-TeX middle
+@x [36] m.727 l.14302 - e-TeX middle
done_with_noad: r:=q; r_type:=type(r);
@y
done_with_noad: r:=q; r_type:=type(r);
@@ -1739,21 +1742,21 @@ if r_type=right_noad then
end;
@z
%---------------------------------------
-@x [36] m.760 l.14956 - e-TeX middle
+@x [36] m.760 l.14963 - e-TeX middle
r_type:=t;
@y
if type(q)=right_noad then t:=open_noad;
r_type:=t;
@z
%---------------------------------------
-@x [36] m.762 l.14997 make_left_right - e-TeX middle
+@x [36] m.762 l.15004 make_left_right - e-TeX middle
begin if style<script_style then cur_size:=text_size
else cur_size:=16*((style-text_style) div 2);
@y
begin cur_style:=style; @<Set up the values...@>;
@z
%---------------------------------------
-@x [37] m.785 l.15488 align_peek - e-TeX protected
+@x [37] m.785 l.15495 align_peek - e-TeX protected
begin restart: align_state:=1000000; @<Get the next non-blank non-call token@>;
@y
begin restart: align_state:=1000000;
@@ -1761,7 +1764,7 @@ repeat get_x_or_protected;
until cur_cmd<>spacer;
@z
%---------------------------------------
-@x [37] m.791 l.15599 fin_col - e-TeX protected
+@x [37] m.791 l.15606 fin_col - e-TeX protected
align_state:=1000000; @<Get the next non-blank non-call token@>;
@y
align_state:=1000000;
@@ -1769,21 +1772,21 @@ repeat get_x_or_protected;
until cur_cmd<>spacer;
@z
%---------------------------------------
-@x [37] m.807 l.15861 - e-TeX TeXXeT
+@x [37] m.807 l.15868 - 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 subtype(q):=dlist; {for |ship_out|}
@z
%---------------------------------------
-@x [37] m.808 l.15879 - e-TeX TeXXeT
+@x [37] m.808 l.15886 - 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;
subtype(r):=min_quarterword; {for |ship_out|}
@z
%---------------------------------------
-@x [38] m.814 l.16002 - e-TeX penalties
+@x [38] m.814 l.16009 - 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
@@ -1793,13 +1796,13 @@ penalty inserted before the final line is |display_widow_penalty|
instead of |widow_penalty|.
@z
%---------------------------------------
-@x [38] m.815 l.16029 line_break - e-TeX penalties
+@x [38] m.815 l.16036 line_break - e-TeX penalties
procedure line_break(@!final_widow_penalty:integer);
@y
procedure line_break(@!d:boolean);
@z
%---------------------------------------
-@x [38] m.815 l.16039 - e-TeX basic
+@x [38] m.815 l.16046 - e-TeX basic
end;
@y
end;
@@ -1807,33 +1810,33 @@ end;
@t\4@>@<Declare \eTeX\ procedures for use by |main_control|@>
@z
%---------------------------------------
-@x [38] m.816 l.16059 - e-TeX last_line_fit
+@x [38] m.816 l.16066 - 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.16124 - e-TeX last_line_fit
+@x [38] m.819 l.16131 - 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.16287 - e-TeX last_line_fit
+@x [38] m.827 l.16294 - e-TeX last_line_fit
background[6]:=shrink(q)+shrink(r);
@y
background[6]:=shrink(q)+shrink(r);
@<Check for special treatment of last line of paragraph@>;
@z
%---------------------------------------
-@x [38] m.829 l.16338 try_break - e-TeX last_line_fit
+@x [38] m.829 l.16345 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.16630 - e-TeX last_line_fit
+@x [38] m.845 l.16637 - e-TeX last_line_fit
total_demerits(q):=minimal_demerits[fit_class];
@y
total_demerits(q):=minimal_demerits[fit_class];
@@ -1841,14 +1844,14 @@ if do_last_line_fit then
@<Store \(a)additional data in the new active node@>;
@z
%---------------------------------------
-@x [38] m.846 l.16643 - e-TeX last_line_fit
+@x [38] m.846 l.16650 - 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 @<Print additional data in the new active node@>;
@z
%---------------------------------------
-@x [38] m.851 l.16742 - e-TeX last_line_fit
+@x [38] m.851 l.16749 - e-TeX last_line_fit
if (b>inf_bad)or(pi=eject_penalty) then
@y
if do_last_line_fit then @<Adjust \(t)the additional data for last line@>;
@@ -1856,7 +1859,7 @@ found:
if (b>inf_bad)or(pi=eject_penalty) then
@z
%---------------------------------------
-@x [38] m.852 l.16766 - e-TeX last_line_fit
+@x [38] m.852 l.16773 - e-TeX last_line_fit
begin b:=0; fit_class:=decent_fit; {infinite stretch}
@y
begin if do_last_line_fit then
@@ -1867,7 +1870,7 @@ if (b>inf_bad)or(pi=eject_penalty) then
b:=0; fit_class:=decent_fit; {infinite stretch}
@z
%---------------------------------------
-@x [38] m.855 l.16823 - e-TeX last_line_fit
+@x [38] m.855 l.16830 - 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;
@@ -1875,14 +1878,14 @@ if (b>inf_bad)or(pi=eject_penalty) then
@<Store \(a)additional data for this feasible break@>;
@z
%---------------------------------------
-@x [39] m.863 l.16996 - e-TeX last_line_fit
+@x [39] m.863 l.17003 - e-TeX last_line_fit
end;@+tats@/
@y
end;@+tats@/
if do_last_line_fit then @<Adjust \(t)the final line of the paragraph@>;
@z
%---------------------------------------
-@x [39] m.864 l.17007 - e-TeX last_line_fit
+@x [39] m.864 l.17014 - 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;
@@ -1890,26 +1893,26 @@ if do_last_line_fit then
@<Initialize additional fields of the first active node@>;
@z
%---------------------------------------
-@x [39] m.866 l.17057 - e-TeX TeXXeT
+@x [39] m.866 l.17064 - e-TeX TeXXeT
math_node: begin auto_breaking:=(subtype(cur_p)=after); kern_break;
@y
math_node: begin if subtype(cur_p)<L_code then auto_breaking:=end_LR(cur_p);
kern_break;
@z
%---------------------------------------
-@x [39] m.876 l.17219 - e-TeX penalties
+@x [39] m.876 l.17226 - e-TeX penalties
post_line_break(final_widow_penalty)
@y
post_line_break(d)
@z
%---------------------------------------
-@x [39] m.877 l.17233 post_line_break - e-TeX penalties
+@x [39] m.877 l.17240 post_line_break - e-TeX penalties
procedure post_line_break(@!final_widow_penalty:integer);
@y
procedure post_line_break(@!d:boolean);
@z
%---------------------------------------
-@x [39] m.877 l.17243 post_line_break - e-TeX TeXXeT
+@x [39] m.877 l.17250 post_line_break - e-TeX TeXXeT
begin @<Reverse the links of the relevant passive nodes, setting |cur_p| to the
@y
@!LR_ptr:pointer; {stack of LR codes}
@@ -1917,14 +1920,14 @@ begin LR_ptr:=LR_save;
@<Reverse the links of the relevant passive nodes, setting |cur_p| to the
@z
%---------------------------------------
-@x [39] m.877 l.17256 post_line_break - e-TeX TeXXeT
+@x [39] m.877 l.17263 post_line_break - e-TeX TeXXeT
prev_graf:=best_line-1;
@y
prev_graf:=best_line-1;
LR_save:=LR_ptr;
@z
%---------------------------------------
-@x [39] m.879 l.17286 - e-TeX TeXXeT
+@x [39] m.879 l.17293 - e-TeX TeXXeT
r:=q; {now |type(q)=glue_node|, |kern_node|, |math_node| or |penalty_node|}
@y
r:=q; {now |type(q)=glue_node|, |kern_node|, |math_node| or |penalty_node|}
@@ -1932,7 +1935,7 @@ LR_save:=LR_ptr;
@<Adjust \(t)the LR stack for the |post_line_break| routine@>;
@z
%---------------------------------------
-@x [39] m.880 l.17303 - e-TeX TeXXeT
+@x [39] m.880 l.17310 - e-TeX TeXXeT
@<Modify the end of the line to reflect the nature of the break and to include
\.{\\rightskip}; also set the proper value of |disc_break|@>;
@y
@@ -1944,7 +1947,7 @@ if TeXXeT_en then
if TeXXeT_en then @<Insert LR nodes at the end of the current line@>;
@z
%---------------------------------------
-@x [39] m.881 l.17326 - e-TeX TeXXeT
+@x [39] m.881 l.17333 - 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
@@ -1954,7 +1957,7 @@ if TeXXeT_en then @<Insert LR nodes at the end of the current line@>;
end;
@z
%---------------------------------------
-@x [39] m.890 l.17420 - e-TeX penalties
+@x [39] m.890 l.17427 - 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;
@@ -1985,14 +1988,14 @@ if TeXXeT_en then @<Insert LR nodes at the end of the current line@>;
else pen:=pen+widow_penalty;
@z
%---------------------------------------
-@x [40] m.891 l.17487 - e-TeX hyph_codes
+@x [40] m.891 l.17494 - 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.17556 - e-TeX hyph_codes
+@x [40] m.896 l.17563 - e-TeX hyph_codes
if lc_code(c)<>0 then
if (lc_code(c)=c)or(uc_hyph>0) then goto done2
@y
@@ -2001,7 +2004,7 @@ set_hyph_index;
if (hc[0]=c)or(uc_hyph>0) then goto done2
@z
%---------------------------------------
-@x [40] m.897 l.17573 - e-TeX hyph_codes
+@x [40] m.897 l.17580 - 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;
@@ -2012,7 +2015,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.17599 - e-TeX hyph_codes
+@x [40] m.898 l.17606 - 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);@/
@@ -2023,13 +2026,13 @@ set_hyph_index;
incr(j); hu[j]:=c; hc[j]:=hc[0];@/
@z
%---------------------------------------
-@x [42] m.934 l.18238 new_hyph_exceptions - e-TeX hyph_codes
+@x [42] m.934 l.18245 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.18248 new_hyph_exceptions - e-TeX hyph_codes
+@x [42] m.934 l.18255 new_hyph_exceptions - e-TeX hyph_codes
set_cur_lang;
@y
set_cur_lang;
@@ -2041,40 +2044,40 @@ set_hyph_index;
not_found1:
@z
%---------------------------------------
-@x [42] m.937 l.18280 - e-TeX hyph_codes
+@x [42] m.937 l.18287 - 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.18288 - e-TeX hyph_codes
+@x [42] m.937 l.18295 - 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.18576 - e-TeX hyph_codes
+@x [43] m.952 l.18583 - 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.18664 - e-TeX hyph_codes
+@x [43] m.958 l.18671 - 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.18668 - e-TeX hyph_codes
+@x [43] m.958 l.18675 - 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.18711 new_patterns - e-TeX hyph_codes
+@x [43] m.960 l.18718 new_patterns - e-TeX hyph_codes
brace@>;
@y
brace@>;
@@ -2082,14 +2085,14 @@ else begin if hyph_root>0 then trie_fix(hyph_root);
@<Store hyphenation codes for current language@>;
@z
%---------------------------------------
-@x [43] m.966 l.18818 init_trie - e-TeX hyph_codes
+@x [43] m.966 l.18825 init_trie - e-TeX hyph_codes
@<Move the data into |trie|@>;
@y
if hyph_root<>0 then @<Pack all stored |hyph_codes|@>;
@<Move the data into |trie|@>;
@z
%---------------------------------------
-@x [44] m.968 l.18834 - e-TeX saved_items
+@x [44] m.968 l.18841 - e-TeX saved_items
whenever this is possible without backspacing.
@y
whenever this is possible without backspacing.
@@ -2098,7 +2101,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.18841 prune_page_top - e-TeX saved_items
+@x [44] m.968 l.18848 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}
@@ -2109,7 +2112,7 @@ var prev_p:pointer; {lags one step behind |p|}
@!q,@!r:pointer; {temporary variables for list manipulation}
@z
%---------------------------------------
-@x [44] m.968 l.18852 prune_page_top - e-TeX saved_items
+@x [44] m.968 l.18859 prune_page_top - e-TeX saved_items
link(prev_p):=p; flush_node_list(q);
@y
link(prev_p):=p;
@@ -2120,20 +2123,20 @@ var prev_p:pointer; {lags one step behind |p|}
else flush_node_list(q);
@z
%---------------------------------------
-@x [44] m.977 l.19019 vsplit - e-TeX marks, sparse arrays
+@x [44] m.977 l.19026 vsplit - e-TeX marks, sparse arrays
@p function vsplit(@!n:eight_bits; @!h:scaled):pointer;
@y
@p @t\4@>@<Declare the function called |do_marks|@>@;
function vsplit(@!n:halfword; @!h:scaled):pointer;
@z
%---------------------------------------
-@x [44] m.977 l.19025 vsplit - e-TeX sparse arrays
+@x [44] m.977 l.19032 vsplit - e-TeX sparse arrays
begin v:=box(n);
@y
begin cur_val:=n; fetch_box(v);
@z
%---------------------------------------
-@x [44] m.977 l.19026 vsplit - e-TeX marks, saved_items
+@x [44] m.977 l.19033 vsplit - e-TeX marks, saved_items
if split_first_mark<>null then
@y
flush_node_list(split_disc); split_disc:=null;
@@ -2142,14 +2145,14 @@ if sa_mark<>null then
if split_first_mark<>null then
@z
%---------------------------------------
-@x [44] m.977 l.19034 vsplit - e-TeX saved_items
+@x [44] m.977 l.19041 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.19035 vsplit - e-TeX sparse arrays
+@x [44] m.977 l.19042 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
@@ -2157,42 +2160,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.19060 - e-TeX marks
+@x [44] m.979 l.19067 - e-TeX marks
if split_first_mark=null then
@y
if mark_class(p)<>0 then @<Update the current marks for |vsplit|@>
else if split_first_mark=null then
@z
%---------------------------------------
-@x [45] m.982 l.19194 - e-TeX last_node_type
+@x [45] m.982 l.19201 - 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.19207 - e-TeX last_node_type
+@x [45] m.982 l.19214 - 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.19344 - e-TeX last_node_type
+@x [45] m.991 l.19353 - 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.19411 - e-TeX last_node_type
+@x [45] m.996 l.19420 - 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.19448 - e-TeX saved_items
+@x [45] m.999 l.19454 - 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;
@@ -2203,7 +2206,7 @@ if saving_vdiscards>0 then
else flush_node_list(p)
@z
%---------------------------------------
-@x [45] m.1012 l.19688 fire_up - e-TeX marks
+@x [45] m.1012 l.19697 fire_up - e-TeX marks
if bot_mark<>null then
@y
if sa_mark<>null then
@@ -2211,7 +2214,7 @@ if sa_mark<>null then
if bot_mark<>null then
@z
%---------------------------------------
-@x [45] m.1012 l.19696 fire_up - e-TeX marks
+@x [45] m.1012 l.19705 fire_up - e-TeX marks
if (top_mark<>null)and(first_mark=null) then
@y
if sa_mark<>null then
@@ -2219,7 +2222,7 @@ if sa_mark<>null then
if (top_mark<>null)and(first_mark=null) then
@z
%---------------------------------------
-@x [45] m.1014 l.19733 - e-TeX marks
+@x [45] m.1014 l.19742 - e-TeX marks
else if type(p)=mark_node then @<Update the values of
@y
else if type(p)=mark_node then
@@ -2227,27 +2230,27 @@ if (top_mark<>null)and(first_mark=null) then
else @<Update the values of
@z
%---------------------------------------
-@x [45] m.1021 l.19845 - e-TeX saved_items
+@x [45] m.1021 l.19854 - e-TeX saved_items
ins_ptr(p):=prune_page_top(broken_ptr(r));
@y
ins_ptr(p):=prune_page_top(broken_ptr(r),false);
@z
%---------------------------------------
-@x [45] m.1023 l.19881 - e-TeX saved_items
+@x [45] m.1023 l.19890 - e-TeX saved_items
ship_out(box(255)); box(255):=null;
@y
flush_node_list(page_disc); page_disc:=null;
ship_out(box(255)); box(255):=null;
@z
%---------------------------------------
-@x [45] m.1026 l.19923 - e-TeX saved_items
+@x [45] m.1026 l.19932 - e-TeX saved_items
pop_nest; build_page;
@y
flush_node_list(page_disc); page_disc:=null;
pop_nest; build_page;
@z
%---------------------------------------
-@x [47] m.1070 l.20727 normal_paragraph - e-TeX penalties
+@x [47] m.1070 l.20735 normal_paragraph - e-TeX penalties
if par_shape_ptr<>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);
@@ -2255,7 +2258,7 @@ if inter_line_penalties_ptr<>null then
eq_define(inter_line_penalties_loc,shape_ref,null);
@z
%---------------------------------------
-@x [47] m.1071 l.20748 - e-TeX sparse arrays
+@x [47] m.1071 l.20756 - 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}';
@@ -2269,7 +2272,7 @@ code |ship_out_flag| represents `\.{\\shipout}'; and codes |leader_flag|
through |leader_flag+2| represent `\.{\\leaders}', `\.{\\cleaders}',
@z
%---------------------------------------
-@x [47] m.1071 l.20762 - e-TeX sparse arrays
+@x [47] m.1071 l.20770 - 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
@@ -2278,14 +2281,14 @@ through |leader_flag+2| represent `\.{\\leaders}', `\.{\\cleaders}',
@d leader_flag==@'10000200001 {context code for `\.{\\leaders}'}
@z
%---------------------------------------
-@x [47] m.1075 l.20845 box_end - e-TeX sparse arrays
+@x [47] m.1075 l.20853 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.20883 - e-TeX sparse arrays
+@x [47] m.1077 l.20891 - e-TeX sparse arrays
if box_context<box_flag+256 then
eq_define(box_base-box_flag+box_context,box_ref,cur_box)
else geq_define(box_base-box_flag-256+box_context,box_ref,cur_box)
@@ -2300,7 +2303,7 @@ else sa_def_box;
end
@z
%---------------------------------------
-@x [47] m.1079 l.20915 begin_box - e-TeX sparse arrays
+@x [47] m.1079 l.20922 begin_box - e-TeX sparse arrays
@!n:eight_bits; {a box number}
begin case cur_chr of
box_code: begin scan_eight_bit_int; cur_box:=box(cur_val);
@@ -2316,14 +2319,14 @@ box_code: begin scan_register_num; fetch_box(cur_box);
copy_code: begin scan_register_num; fetch_box(q); cur_box:=copy_node_list(q);
@z
%---------------------------------------
-@x [47] m.1080 l.20931 - e-TeX TeXXeT
+@x [47] m.1080 l.20938 - e-TeX TeXXeT
since |head| is a one-word node.
@y
since |head| is a one-word node.
A final \.{\\endM} node is temporarily removed.
@z
%---------------------------------------
-@x [47] m.1080 l.20944 - e-TeX TeXXeT
+@x [47] m.1080 l.20951 - e-TeX TeXXeT
if (type(tail)=hlist_node)or(type(tail)=vlist_node) then
@<Remove the last box, unless it's part of a discretionary@>;
@y
@@ -2335,13 +2338,13 @@ A final \.{\\endM} node is temporarily removed.
end;
@z
%---------------------------------------
-@x [47] m.1082 l.20965 - e-TeX sparse arrays
+@x [47] m.1082 l.20972 - 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.21149 - e-TeX penalties, TeXXeT
+@x [47] m.1096 l.21156 - e-TeX penalties, TeXXeT
else line_break(widow_penalty);
@y
else line_break(false);
@@ -2350,7 +2353,7 @@ begin scan_register_num; n:=cur_val;
end;
@z
%---------------------------------------
-@x [47] m.1101 l.21205 make_mark - e-TeX marks
+@x [47] m.1101 l.21212 make_mark - e-TeX marks
begin p:=scan_toks(false,true); p:=get_node(small_node_size);
@y
@!c:halfword; {the mark class}
@@ -2361,14 +2364,14 @@ p:=scan_toks(false,true); p:=get_node(small_node_size);
mark_class(p):=c;
@z
%---------------------------------------
-@x [47] m.1105 l.21233 - e-TeX TeXXeT
+@x [47] m.1105 l.21240 - e-TeX TeXXeT
will be deleted, if present.
@y
will be deleted, if present.
A final \.{\\endM} node is temporarily removed.
@z
%---------------------------------------
-@x [47] m.1105 l.21243 delete_last - e-TeX TeXXeT
+@x [47] m.1105 l.21250 delete_last - e-TeX TeXXeT
else begin if not is_char_node(tail) then if type(tail)=cur_chr then
@y
else begin if not is_char_node(tail) then
@@ -2377,7 +2380,7 @@ else begin if not is_char_node(tail) then
if type(tail)=cur_chr then
@z
%---------------------------------------
-@x [47] m.1105 l.21254 delete_last - e-TeX TeXXeT
+@x [47] m.1105 l.21261 delete_last - e-TeX TeXXeT
end;
@y
if LR_temp<>null then insert_end_M;
@@ -2385,47 +2388,47 @@ else begin if not is_char_node(tail) then
end;
@z
%---------------------------------------
-@x [47] m.1108 l.21292 - e-TeX saved_items
+@x [47] m.1108 l.21299 - 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")
@<Cases of |un_vbox| for |print_cmd_chr|@>@/
@z
%---------------------------------------
-@x [47] m.1110 l.21302 unpackage - e-TeX saved_items
+@x [47] m.1110 l.21309 unpackage - e-TeX saved_items
label exit;
@y
label done, exit;
@z
%---------------------------------------
-@x [47] m.1110 l.21305 unpackage - e-TeX saved_items, sparse arrays
+@x [47] m.1110 l.21312 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 @<Handle saved items and |goto done|@>;
c:=cur_chr; scan_register_num; fetch_box(p);
@z
%---------------------------------------
-@x [47] m.1110 l.21317 unpackage - e-TeX sparse arrays
+@x [47] m.1110 l.21324 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.21320 unpackage - e-TeX saved_items
+@x [47] m.1110 l.21327 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.21592 - e-TeX TeXXeT
+@x [47] m.1130 l.21599 - e-TeX TeXXeT
vmode+halign,hmode+valign:init_align;
@y
vmode+halign:init_align;
hmode+valign:@<Cases of |main_control| for |hmode+valign|@>@; init_align;
@z
%---------------------------------------
-@x [48] m.1138 l.21671 init_math - e-TeX TeXXeT
+@x [48] m.1138 l.21678 init_math - e-TeX TeXXeT
procedure init_math;
label reswitch,found,not_found,done;
var w:scaled; {new or partial |pre_display_size|}
@@ -2438,7 +2441,7 @@ var w:scaled; {new or partial |pre_display_size|}
@!x:integer; {new |pre_display_direction|}
@z
%---------------------------------------
-@x [48] m.1145 l.21729 - e-TeX TeXXeT, penalties
+@x [48] m.1145 l.21736 - e-TeX TeXXeT, penalties
begin if head=tail then {`\.{\\noindent\$\$}' or `\.{\$\${ }\$\$}'}
begin pop_nest; w:=-max_dimen;
end
@@ -2450,7 +2453,7 @@ if head=tail then {`\.{\\noindent\$\$}' or `\.{\$\${ }\$\$}'}
else begin line_break(true);@/
@z
%---------------------------------------
-@x [48] m.1145 l.21742 - e-TeX TeXXeT
+@x [48] m.1145 l.21749 - e-TeX TeXXeT
eq_word_define(dimen_base+pre_display_size_code,w);
@y
eq_word_define(dimen_base+pre_display_size_code,w);
@@ -2458,28 +2461,28 @@ LR_box:=j;
if eTeX_ex then eq_word_define(int_base+pre_display_direction_code,x);
@z
%---------------------------------------
-@x [48] m.1146 l.21750 - e-TeX TeXXeT
+@x [48] m.1146 l.21757 - e-TeX TeXXeT
v:=shift_amount(just_box)+2*quad(cur_font); w:=-max_dimen;
p:=list_ptr(just_box);
@y
@<Prepare for display after a non-empty paragraph@>;
@z
%---------------------------------------
-@x [48] m.1146 l.21765 - e-TeX TeXXeT
+@x [48] m.1146 l.21772 - e-TeX TeXXeT
done:
@y
done:
@<Finish the natural width computation@>
@z
%---------------------------------------
-@x [48] m.1147 l.21776 - e-TeX TeXXeT
+@x [48] m.1147 l.21783 - e-TeX TeXXeT
kern_node,math_node: d:=width(p);
@y
kern_node: d:=width(p);
@t\4@>@<Cases of `Let |d| be the natural width' that need special treatment@>@;
@z
%---------------------------------------
-@x [48] m.1185 l.22285 - e-TeX middle
+@x [48] m.1185 l.22292 - e-TeX middle
if type(q)<>left_noad then confusion("right");
@:this can't happen right}{\quad right@>
info(numerator(incompleat_noad)):=link(q);
@@ -2491,14 +2494,14 @@ kern_node: d:=width(p);
link(delim_ptr):=incompleat_noad; link(incompleat_noad):=p;
@z
%---------------------------------------
-@x [48] m.1189 l.22300 - e-TeX middle
+@x [48] m.1189 l.22337 - e-TeX middle
else print_esc("right");
@y
@/@<Cases of |left_right| for |print_cmd_chr|@>@/
else print_esc("right");
@z
%---------------------------------------
-@x [48] m.1191 l.22339 math_left_right - e-TeX middle
+@x [48] m.1191 l.22346 math_left_right - e-TeX middle
begin t:=cur_chr;
if (t=right_noad)and(cur_group<>math_left_group) then
@y
@@ -2507,7 +2510,7 @@ begin t:=cur_chr;
if (t<>left_noad)and(cur_group<>math_left_group) then
@z
%---------------------------------------
-@x [48] m.1191 l.22344 math_left_right - e-TeX middle
+@x [48] m.1191 l.22351 math_left_right - e-TeX middle
if t=left_noad then
begin push_math(math_left_group); link(head):=p; tail:=p;
end
@@ -2526,13 +2529,13 @@ if (t<>left_noad)and(cur_group<>math_left_group) then
else begin
@z
%---------------------------------------
-@x [48] m.1191 l.22350 math_left_right - e-TeX middle
+@x [48] m.1191 l.22357 math_left_right - e-TeX middle
info(nucleus(tail)):=p;
@y
info(nucleus(tail)):=q;
@z
%---------------------------------------
-@x [48] m.1192 l.22358 - e-TeX middle
+@x [48] m.1192 l.22365 - e-TeX middle
print_err("Extra "); print_esc("right");
@.Extra \\right.@>
help1("I'm ignoring a \right that had no matching \left.");
@@ -2549,82 +2552,82 @@ if (t<>left_noad)and(cur_group<>math_left_group) then
end;
@z
%---------------------------------------
-@x [48] m.1194 l.22373 after_math - e-TeX TeXXeT
+@x [48] m.1194 l.22380 after_math - e-TeX TeXXeT
procedure after_math;
@y
@t\4@>@<Declare subprocedures for |after_math|@>@;
procedure after_math;
@z
%---------------------------------------
-@x [48] m.1194 l.22380 after_math - e-TeX TeXXeT
+@x [48] m.1194 l.22387 after_math - e-TeX TeXXeT
begin danger:=false;
@y
begin danger:=false;
@<Retrieve the prototype box@>;
@z
%---------------------------------------
-@x [48] m.1194 l.22387 after_math - e-TeX TeXXeT
+@x [48] m.1194 l.22394 after_math - e-TeX TeXXeT
mlist_to_hlist; a:=hpack(link(temp_head),natural);
@y
mlist_to_hlist; a:=hpack(link(temp_head),natural);
subtype(a):=dlist;
@z
%---------------------------------------
-@x [48] m.1194 l.22390 after_math - e-TeX TeXXeT
+@x [48] m.1194 l.22397 after_math - e-TeX TeXXeT
danger:=false;
@y
danger:=false;
@<Retrieve the prototype box@>;
@z
%---------------------------------------
-@x [48] m.1199 l.22477 - e-TeX TeXXeT
+@x [48] m.1199 l.22484 - 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.22492 - e-TeX TeXXeT
+@x [48] m.1199 l.22499 - e-TeX TeXXeT
resume_after_display
@y
@<Flush the prototype box@>;
resume_after_display
@z
%---------------------------------------
-@x [48] m.1202 l.22534 - e-TeX TeXXeT
+@x [48] m.1202 l.22541 - e-TeX TeXXeT
d:=half(z-w);
@y
subtype(b):=dlist;
d:=half(z-w);
@z
%---------------------------------------
-@x [48] m.1203 l.22555 - e-TeX TeXXeT
+@x [48] m.1203 l.22562 - 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.22570 - e-TeX TeXXeT
+@x [48] m.1204 l.22572 - e-TeX TeXXeT
shift_amount(b):=s+d; append_to_vlist(b)
@y
app_display(j,b,d)
@z
%---------------------------------------
-@x [48] m.1205 l.22575 - e-TeX TeXXeT
+@x [48] m.1205 l.22582 - 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.22594 - e-TeX TeXXeT
+@x [48] m.1206 l.22601 - e-TeX TeXXeT
pop_nest;
@y
flush_node_list(LR_box);
pop_nest;
@z
%---------------------------------------
-@x [49] m.1208 l.22619 - e-TeX protected
+@x [49] m.1208 l.22626 - 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
@@ -2633,31 +2636,42 @@ or `\.{\\outer}', and it might or might not be expanded. The prefixes
`\.{\\global}', `\.{\\long}', `\.{\\protected}',
@z
%---------------------------------------
-@x [49] m.1209 l.22645 - e-TeX protected
+@x [49] m.1209 l.22652 - e-TeX protected
else print_esc("global");
@y
@/@<Cases of |prefix| for |print_cmd_chr|@>@/
else print_esc("global");
@z
%---------------------------------------
-@x [49] m.1211 l.22707 prefixed_command - e-TeX tracing
+@x [49] m.1211 l.22714 prefixed_command - e-TeX tracing
@<Discard erroneous prefixes and |return|@>;
@y
@<Discard erroneous prefixes and |return|@>;
if tracing_commands>2 then if eTeX_ex then show_cur_cmd_chr;
@z
%---------------------------------------
-@x [49] m.1213 l.22728 - e-TeX protected
+@x [49] m.1213 l.22735 - 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 `");
@y
if a>=8 then
begin j:=protected_token; a:=a-8;
end
else j:=0;
if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then
+ begin print_err("You can't use `"); print_esc("long"); print("', `");
+ print_esc("outer"); print("', or `");
+ print_esc("protected"); print("' with `");
+@z
+%---------------------------------------
+@x [49] m.1213 l.22740 - e-TeX protected
+ help1("I'll pretend you didn't say \long or \outer here.");
+@y
+ help1("I'll pretend you didn't say \long, \outer, or \protected here.");
@z
%---------------------------------------
-@x [49] m.1218 l.22791 - e-TeX protected
+@x [49] m.1218 l.22798 - e-TeX protected
q:=scan_toks(true,e); define(p,call+(a mod 4),def_ref);
@y
q:=scan_toks(true,e);
@@ -2668,7 +2682,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.22819 - e-TeX sparse arrays
+@x [49] m.1221 l.22826 - 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)
@@ -2677,7 +2691,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.22882 - e-TeX sparse arrays
+@x [49] m.1224 l.22889 - e-TeX sparse arrays
othercases begin scan_eight_bit_int;
@y
othercases begin scan_register_num;
@@ -2691,19 +2705,19 @@ if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then
else
@z
%---------------------------------------
-@x [49] m.1225 l.22895 - e-TeX read_line
+@x [49] m.1225 l.22902 - 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.22903 - e-TeX read_line
+@x [49] m.1225 l.22911 - 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.22912 - e-TeX sparse arrays
+@x [49] m.1226 l.22920 - e-TeX sparse arrays
if cur_cmd=toks_register then
begin scan_eight_bit_int; p:=toks_base+cur_val;
end
@@ -2723,7 +2737,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.22922 - e-TeX sparse arrays
+@x [49] m.1226 l.22930 - 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}
@@ -2733,13 +2747,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.22930 - e-TeX sparse arrays
+@x [49] m.1226 l.22938 - 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.22935 - e-TeX sparse arrays
+@x [49] m.1227 l.22943 - 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;
@@ -2771,7 +2785,7 @@ if (cur_cmd=toks_register)or(cur_cmd=assign_toks) then
end
@z
%---------------------------------------
-@x [49] m.1236 l.23051 do_register_command - e-TeX sparse arrays
+@x [49] m.1236 l.23059 do_register_command - e-TeX sparse arrays
begin q:=cur_cmd;
@y
@!e:boolean; {does |l| refer to a sparse array element?}
@@ -2780,7 +2794,7 @@ begin q:=cur_cmd;
e:=false; {just in case, will be set |true| for sparse array elements}
@z
%---------------------------------------
-@x [49] m.1236 l.23066 do_register_command - e-TeX sparse arrays
+@x [49] m.1236 l.23076 do_register_command - e-TeX sparse arrays
if p<glue_val then word_define(l,cur_val)
else begin trap_zero_glue; define(l,glue_ref,cur_val);
@y
@@ -2788,7 +2802,7 @@ if p<glue_val then sa_word_define(l,cur_val)
else begin trap_zero_glue; sa_define(l,cur_val)(l,glue_ref,cur_val);
@z
%---------------------------------------
-@x [49] m.1237 l.23088 - e-TeX sparse arrays
+@x [49] m.1237 l.23098 - e-TeX sparse arrays
p:=cur_chr; scan_eight_bit_int;
@y
if (cur_chr<mem_bot)or(cur_chr>lo_mem_stat_max) then
@@ -2801,7 +2815,7 @@ else begin p:=cur_chr-mem_bot; scan_register_num;
else
@z
%---------------------------------------
-@x [49] m.1237 l.23095 - e-TeX sparse arrays
+@x [49] m.1237 l.23105 - e-TeX sparse arrays
end;
found:
@y
@@ -2811,19 +2825,19 @@ found: if p<glue_val then@+if e then w:=sa_int(l)@+else w:=eqtb[l].int
else if e then s:=sa_ptr(l)@+else s:=equiv(l)
@z
%---------------------------------------
-@x [49] m.1238 l.23101 - e-TeX sparse arrays
+@x [49] m.1238 l.23111 - e-TeX sparse arrays
if q=advance then cur_val:=cur_val+eqtb[l].int;
@y
if q=advance then cur_val:=cur_val+w;
@z
%---------------------------------------
-@x [49] m.1239 l.23108 - e-TeX sparse arrays
+@x [49] m.1239 l.23118 - e-TeX sparse arrays
begin q:=new_spec(cur_val); r:=equiv(l);
@y
begin q:=new_spec(cur_val); r:=s;
@z
%---------------------------------------
-@x [49] m.1240 l.23128 - e-TeX sparse arrays
+@x [49] m.1240 l.23138 - e-TeX sparse arrays
if p=int_val then cur_val:=mult_integers(eqtb[l].int,cur_val)
else cur_val:=nx_plus_y(eqtb[l].int,cur_val,0)
else cur_val:=x_over_n(eqtb[l].int,cur_val)
@@ -2835,7 +2849,7 @@ else begin s:=equiv(l); r:=new_spec(s);
else begin r:=new_spec(s);
@z
%---------------------------------------
-@x [49] m.1241 l.23150 - e-TeX sparse arrays
+@x [49] m.1241 l.23160 - e-TeX sparse arrays
set_box: begin scan_eight_bit_int;
if global then n:=256+cur_val@+else n:=cur_val;
scan_optional_equals;
@@ -2847,7 +2861,7 @@ set_box: begin scan_register_num;
if set_box_allowed then scan_box(n)
@z
%---------------------------------------
-@x [49] m.1246 l.23221 alter_integer - e-TeX interaction_mode
+@x [49] m.1246 l.23231 alter_integer - e-TeX interaction_mode
var c:0..1; {0 for \.{\\deadcycles}, 1 for \.{\\insertpenalties}}
begin c:=cur_chr; scan_optional_equals; scan_int;
if c=0 then dead_cycles:=cur_val
@@ -2859,7 +2873,7 @@ if c=0 then dead_cycles:=cur_val
@/@<Cases for |alter_integer|@>@/
@z
%---------------------------------------
-@x [49] m.1247 l.23230 alter_box_dimen - e-TeX sparse arrays
+@x [49] m.1247 l.23240 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;
@@ -2871,7 +2885,7 @@ scan_normal_dimen;
if b<>null then mem[b+c].sc:=cur_val;
@z
%---------------------------------------
-@x [49] m.1248 l.23239 - e-TeX penalties
+@x [49] m.1248 l.23249 - e-TeX penalties
set_shape: begin scan_optional_equals; scan_int; n:=cur_val;
if n<=0 then p:=null
@y
@@ -2887,20 +2901,20 @@ set_shape: begin q:=cur_chr; scan_optional_equals; scan_int; n:=cur_val;
end
@z
%---------------------------------------
-@x [49] m.1248 l.23249 - e-TeX penalties
+@x [49] m.1248 l.23259 - e-TeX penalties
define(par_shape_loc,shape_ref,p);
@y
define(q,shape_ref,p);
@z
%---------------------------------------
-@x [49] m.1292 l.23623 - e-TeX show_groups
+@x [49] m.1292 l.23633 - e-TeX show_groups
show_lists:print_esc("showlists");
@y
show_lists:print_esc("showlists");
@<Cases of |xray| for |print_cmd_chr|@>@;@/
@z
%---------------------------------------
-@x [49] m.1293 l.23630 show_whatever - e-TeX show_ifs
+@x [49] m.1293 l.23640 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}
@@ -2910,14 +2924,14 @@ var p:pointer; {tail of a token list to show}
@!n:integer; {level of \.{\\if...\\fi} nesting}
@z
%---------------------------------------
-@x [49] m.1293 l.23636 show_whatever - e-TeX show_groups
+@x [49] m.1293 l.23646 show_whatever - e-TeX show_groups
othercases @<Show the current value of some parameter or register,
@y
@<Cases for |show_whatever|@>@;@/
othercases @<Show the current value of some parameter or register,
@z
%---------------------------------------
-@x [49] m.1295 l.23671 - e-TeX protected
+@x [49] m.1295 l.23681 - e-TeX protected
call: print("macro");
long_call: print_esc("long macro");
outer_call: print_esc("outer macro");
@@ -2932,7 +2946,7 @@ call,long_call,outer_call,long_outer_call: begin n:=cmd-call;
print("macro");
@z
%---------------------------------------
-@x [49] m.1296 l.23679 - e-TeX sparse arrays
+@x [49] m.1296 l.23689 - e-TeX sparse arrays
begin scan_eight_bit_int; begin_diagnostic;
print_nl("> \box"); print_int(cur_val); print_char("=");
if box(cur_val)=null then print("void")
@@ -2943,28 +2957,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.23821 - e-TeX basic
+@x [50] m.1307 l.23831 - e-TeX basic
dump_int(@$);@/
@y
dump_int(@$);@/
@<Dump the \eTeX\ state@>@/
@z
%---------------------------------------
-@x [50] m.1308 l.23836 - e-TeX basic
+@x [50] m.1308 l.23846 - 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}
@/@<Undump the \eTeX\ state@>@/
@z
%---------------------------------------
-@x [50] m.1311 l.23890 - e-TeX sparse arrays
+@x [50] m.1311 l.23900 - 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.23913 - e-TeX sparse arrays
+@x [50] m.1312 l.23923 - 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);
@@ -2972,28 +2986,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.24107 - e-TeX hyph_codes
+@x [50] m.1324 l.24117 - e-TeX hyph_codes
dump_int(trie_max);
@y
dump_int(trie_max);
dump_int(hyph_start);
@z
%---------------------------------------
-@x [50] m.1325 l.24135 - e-TeX hyph_codes
+@x [50] m.1325 l.24145 - 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.24355 final_cleanup - tracing
+@x [51] m.1335 l.24365 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.24378 final_cleanup - e-TeX marks, saved_items
+@x [51] m.1335 l.24388 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]);
@@ -3002,28 +3016,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.24387 init_prim - e-TeX basic
+@x [51] m.1336 l.24398 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.24402 - e-TeX basic
+@x [51] m.1337 l.24413 - e-TeX basic
if (format_ident=0)or(buffer[loc]="&") then
@y
@<Enable \eTeX, if requested@>@;@/
if (format_ident=0)or(buffer[loc]="&") then
@z
%---------------------------------------
-@x [51] m.1337 l.24410 - e-TeX basic
+@x [51] m.1337 l.24421 - e-TeX basic
end;
@y
end;
if eTeX_ex then wterm_ln('entering extended mode');
@z
%---------------------------------------
-@x [53] m.1362 l.24751 adv_past - e-TeX hyph_codes
+@x [53] m.1362 l.24762 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(#);
@@ -3031,7 +3045,7 @@ if eTeX_ex then wterm_ln('entering extended mode');
end
@z
%---------------------------------------
-@x [54] m.1379 l.24945 - e-TeX additions
+@x [54] m.1379 l.24956 - e-TeX additions
@* \[54] System-dependent changes.
@y
@* \[53a] The extended features of \eTeX.
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index 7c8ae2fb49f..91b0f568c01 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * pdftex.web: Adapt to ../etexdir/etex.ch:
+ Fixed the error message for improper use of \protected,
+ reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>.
+
2010-04-23 Peter Breitenlohner <peb@mppmu.mpg.de>
* epdf.h: #include <c-auto.h> instead of <web2c/c-auto.h> etc.
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web
index 701eae8173c..995e7a7ff97 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.web
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.web
@@ -31113,11 +31113,12 @@ if a>=8 then
end
else j:=0;
if (cur_cmd<>def)and((a mod 4<>0)or(j<>0)) then
- begin print_err("You can't use `"); print_esc("long"); print("' or `");
- print_esc("outer"); print("' with `");
+ begin print_err("You can't use `"); print_esc("long"); print("', `");
+ print_esc("outer"); print("', or `");
+ print_esc("protected"); print("' with `");
@.You can't use \\long...@>
print_cmd_chr(cur_cmd,cur_chr); print_char("'");
- help1("I'll pretend you didn't say \long or \outer here.");
+ help1("I'll pretend you didn't say \long, \outer, or \protected here.");
error;
end