summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/euptexdir/etex.ch1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/euptexdir/etex.ch1')
-rw-r--r--Build/source/texk/web2c/euptexdir/etex.ch1214
1 files changed, 214 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/euptexdir/etex.ch1 b/Build/source/texk/web2c/euptexdir/etex.ch1
new file mode 100644
index 00000000000..5826dbcb4f8
--- /dev/null
+++ b/Build/source/texk/web2c/euptexdir/etex.ch1
@@ -0,0 +1,214 @@
+% eptexdir/etex.ch1: changefile used to build e-pTeX, see eptexdir/eptex-base.ch for details.
+% Public domain. Originally written by Peter Breitenlohner <tex-live@tug.org>.
+
+@x [12.184]
+ begin print(", "); print_direction(box_dir(p));
+@y
+ begin print_direction_alt(box_dir(p));
+@z
+
+@x [16.215] - e-pTeX last_node_subtype
+last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
+last_node_type:=-1;
+@y
+last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
+last_node_type:=-1; last_node_subtype:=-1;
+@z
+
+@x [17.236]
+@d int_pars=web2c_int_pars {total number of integer parameters}
+@y
+@d etex_int_base=web2c_int_pars {base for \eTeX's integer parameters}
+@z
+
+@x [18]
+ for j:=0 to l-1 do begin
+ buffer[j]:=Lo(so(str_pool[k+j])); buffer2[j]:=Hi(so(str_pool[k+j])); end;
+@y
+ for j:=0 to l-1 do begin
+ buffer[first+j]:=Lo(so(str_pool[k+j])); buffer2[first+j]:=Hi(so(str_pool[k+j])); end;
+@z
+
+@x [26.413]
+@<Fix the reference count, if any, and negate |cur_val| if |negative|@>;
+end;
+@y
+@<Fix the reference count, if any, and negate |cur_val| if |negative|@>;
+exit:end;
+@z
+
+@x
+@d eTeX_int=badness_code+1 {first of \eTeX\ codes for integers}
+@y
+@d eTeX_int=ptex_minor_version_code+1 {first of \eTeX\ codes for integers}
+@z
+
+@x
+ begin case m of
+ input_line_no_code: cur_val:=line;
+ badness_code: cur_val:=last_badness;
+ ptex_version_code: cur_val:=pTeX_version;
+ eptex_version_code: cur_val:=epTeX_version_number;
+ ptex_minor_version_code: cur_val:=pTeX_minor_version;
+ end; {there and no other cases}
+@y
+ if m>=eTeX_glue then @<Process an expression and |return|@>@;
+ else if m>=eTeX_dim then
+ begin case m of
+ @/@<Cases for fetching a dimension value@>@/
+ end; {there are no other cases}
+ cur_val_level:=dimen_val;
+ end
+ else begin case m of
+ input_line_no_code: cur_val:=line;
+ badness_code: cur_val:=last_badness;
+ ptex_version_code: cur_val:=pTeX_version;
+ eptex_version_code: cur_val:=epTeX_version_number;
+ ptex_minor_version_code: cur_val:=pTeX_minor_version;
+ @/@<Cases for fetching an integer value@>@/
+ end; {there are no other cases}
+@z
+
+@x [27.468]
+@d job_name_code=ptex_convert_codes {command code for \.{\\jobname}}
+@y
+@d etex_convert_base=ptex_convert_codes {base for \eTeX's command codes}
+@d eTeX_revision_code=etex_convert_base {command code for \.{\\eTeXrevision}}
+@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
+@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
+@z
+
+@x [30.581]
+@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits);
+var @!l:0..255; {small indices or counters}
+@y
+@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits);
+var @!l:0..255; {small indices or counters}
+old_setting: integer; {saved value of |tracing_online|}
+@z
+
+@x [32.619]
+base_line:=cur_v; left_edge:=cur_h; disp:=0;
+@y
+base_line:=cur_v; disp:=0; revdisp:=0;
+prev_p:=this_box+list_offset;
+@<Initialize |hlist_out| for mixed direction typesetting@>;
+left_edge:=cur_h;
+@z
+
+@x [32.622]
+@<Output node |p| for |hlist_out|...@>=
+@y
+@<Output node |p| for |hlist_out|...@>=
+@z
+@x [32.622]
+ 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.623]
+disp_node: begin disp:=disp_dimen(p); cur_v:=base_line+disp; end;
+@y
+disp_node: begin disp:=disp_dimen(p); revdisp:=disp; cur_v:=base_line+disp; end;
+@z
+
+@x [32.624]
+ cur_h:=edge+width(p); cur_v:=base_line+disp; cur_dir_hv:=save_dir;
+@y
+ cur_h:=edge; cur_v:=base_line+disp; cur_dir_hv:=save_dir;
+@z
+
+@x [33.649]
+exit: last_disp:=disp; hpack:=r;
+@y
+exit: last_disp:=disp;
+if TeXXeT_en then @<Check for LR anomalies at the end of |hpack|@>;
+hpack:=r;
+@z
+
+@x [33.651]
+ disp_node:disp:=disp_dimen(p);
+@y
+ disp_node:begin disp:=disp_dimen(p); revdisp:=disp; end;
+@z
+
+@x [44.977]
+q:=prune_page_top(q); p:=list_ptr(v);
+if q=null then box(n):=null {the |eq_level| of the box stays the same}
+else begin
+ box(n):=vpack(q,natural); set_box_dir(box(n))(box_dir(v));
+ end;
+@y
+q:=prune_page_top(q,saving_vdiscards>0);
+p:=list_ptr(v);
+if q<>null then begin
+ q:=vpack(q,natural); set_box_dir(q)(box_dir(v));
+ end;
+change_box(q);
+@z
+
+@x [47.1096]
+ else begin adjust_hlist(head,true); line_break(widow_penalty)
+@y
+ else begin adjust_hlist(head,true); line_break(false)
+@z
+
+@x [47.1110]
+ begin if type(box(cur_val))=dir_node then
+ begin delete_glue_ref(space_ptr(box(cur_val)));
+ delete_glue_ref(xspace_ptr(box(cur_val)));
+ free_node(box(cur_val),box_node_size);
+@y
+ begin if type(p)=dir_node then
+ begin delete_glue_ref(space_ptr(p));
+ delete_glue_ref(xspace_ptr(p));
+ free_node(p,box_node_size);
+@z
+@x [47.1110]
+ link(tail):=list_ptr(p); box(cur_val):=null;
+@y
+ link(tail):=list_ptr(p); change_box(null);
+@z
+
+@x [48.1145]
+ pop_nest; w:=-max_dimen;
+ end
+ { |disp_node|-only paragraphs are ignored }
+@y
+ @<Prepare for display after an empty paragraph@>
+ end
+ { |disp_node|-only paragraphs are ignored }
+@z
+
+@x [48.1145]
+else begin adjust_hlist(head,true); line_break(display_widow_penalty);@/
+@y
+else begin adjust_hlist(head,true); line_break(true);@/
+@z
+
+@x [49.1247]
+if box(b)<>null then
+ begin q:=box(b); p:=link(q);
+@y
+if b<>null then
+ begin q:=b; p:=link(q);
+@z
+@x [49.1247]
+ begin p:=link(box(b)); link(box(b)):=null;
+@y
+ begin p:=link(b); link(b):=null;
+@z
+@x [49.1247]
+ link(q):=p; link(box(b)):=q;
+@y
+ link(q):=p; link(b):=q;
+@z
+
+@x [49.1291]
+@d show_mode=4 { \.{\\showmode} }
+@y
+@d show_mode=7 { \.{\\showmode} }
+@z
+