blob: 5da8d0e05abaf5613f715ad0c10c48e404f21ea4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
% eptexdir/etex.ch0: 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 [15.208]
{( or \.{\\pagediscards}, \.{\\splitdiscards} )}
@y
@z
@x [15.208]
{or text direction directives ( \.{\\beginL}, etc.~)}
@y
@z
@x [15.208]
{( or \.{\\middle} )}
@y
@z
@x [15.209]
{( or \.{\\interactionmode} )}
@y
@z
@x [15.209]
{(or \.{\\interlinepenalties}, etc.~)}
@y
@z
@x [15.209]
{( or \.{\\protected} )}
@y
@z
@x [15.209]
{( or \.{\\readline} )}
@y
@z
@x [17.236] l.4960 - first web2c, then e-TeX additional integer parameters
@d int_pars=web2c_int_pars {total number of integer parameters}
@#
@d etex_int_base=tex_int_pars {base for \eTeX's integer parameters}
@y
@d int_pars=web2c_int_pars {total number of integer parameters}
@d count_base=int_base+int_pars {256 user \.{\\count} registers}
@z
@x [26.420]
if q=null then cur_val:=0 @+else cur_val:=mem[q+m].sc;
@y
if box(cur_val)=null then cur_val:=0 @+else cur_val:=mem[box(cur_val)+m].sc;
@z
@x [27.468]
@d etex_convert_base=5 {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}}
@y
@d job_name_code=5 {command code for \.{\\jobname}}
@z
@x [30.581]
var old_setting: integer; {saved value of |tracing_online|}
@y
@z
@x [32.619]
save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v;
prev_p:=this_box+list_offset;
@<Initialize |hlist_out| for mixed direction typesetting@>;
left_edge:=cur_h;
@y
save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v; left_edge:=cur_h;
@z
@x [32.620]
prev_p:=link(prev_p); {N.B.: not |prev_p:=p|, |p| might be |lig_trick|}
@y
@z
@x [32.624] l.13005 - pTeX: output a box(and dir_node) with disp
cur_h:=edge; cur_v:=base_line;
@y
cur_h:=edge+width(p); cur_v:=base_line;
@z
@x [33.649]
exit: if TeXXeT_en then @<Check for LR anomalies at the end of |hpack|@>;
hpack:=r;
@y
exit: hpack:=r;
@z
@x [44.977]
q:=prune_page_top(q,saving_vdiscards>0);
p:=list_ptr(v); free_node(v,box_node_size);
if q<>null then q:=vpack(q,natural);
change_box(q); {the |eq_level| of the box stays the same}
@y
q:=prune_page_top(q); p:=list_ptr(v); free_node(v,box_node_size);
if q=null then box(n):=null {the |eq_level| of the box stays the same}
else box(n):=vpack(q,natural);
@z
@x [47.1080]
begin if (type(tail)=math_node)and(subtype(tail)=end_M_code) then
remove_end_M;
@y
@z
@x [47.1080]
if LR_temp<>null then insert_end_M;
end;
@y
@z
@x [47.1096]
else line_break(false);
@y
else line_break(widow_penalty);
@z
@x [47.1105]
else begin if not is_char_node(tail) then
begin if (type(tail)=math_node)and(subtype(tail)=end_M_code) then
remove_end_M;
if type(tail)=cur_chr then
@y
else begin if not is_char_node(tail) then if type(tail)=cur_chr then
@z
@x [47.1105]
if LR_temp<>null then insert_end_M;
end;
@y
@z
@x [47.1110]
else begin link(tail):=list_ptr(p); change_box(null);
@y
else begin link(tail):=list_ptr(p); box(cur_val):=null;
@z
@x [48.1145]
else begin line_break(true);@/
@y
else begin line_break(display_widow_penalty);@/
@z
@x [49.1247]
if b<>null then mem[b+c].sc:=cur_val;
@y
if box(b)<>null then mem[box(b)+c].sc:=cur_val;
@z
|