summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/alephdir/omega.ch1
blob: 988560ceccad4b1e43303ed4841d8120f8a5a95a (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
150
151
152
153
154
155
%
% Copyright (c) 2002-2003 the Omega Task Force
%
% Change file to assist in creating the web2c-specific change file.
% This one resolves inconsistencies between the etex changes for
% web2c and Omega changes for web2c.
% Public domain.

@x
@d banner=='This is Omega, Version 3.1415926--1.15' {printed when \TeX\ starts}
@d banner_k=='This is Omegak, Version 3.1415926--1.15' {printed when \TeX\ starts}
@y
@d banner=='This is e-Omega, Version 3.1415926--1.15--2.1--RC1' {printed when \TeX\ starts}
@d banner_k=='This is e-Omegak, Version 3.1415926--1.15--2.1--RC1' {printed when \TeX\ starts}
@z

@x [1.2] l.188 - Web2C: extensions imply we're not TeX.
@d eTeX_banner==banner
  {printed when \eTeX\ starts}
@y
@d eTeX_banner==banner
  {printed when \eTeX\ starts}
@d eTeX_banner_k==banner_k
@z

@x
Routine is implemented in C, module is not needed.
@y
Routine is implemented in C; part of module is, however, needed for e-TeX.

@<Report overflow of the input buffer, and abort@>=
  begin cur_input.loc_field:=first; cur_input.limit_field:=last-1;
  overflow("buffer size",buf_size);
@:TeX capacity exceeded buffer size}{\quad buffer size@>
  end
@z

 @x
   wterm(banner_k)
 @y
   wterm(eTeX_banner_k)
 @z

 @x
   wterm(banner);
 @y
   wterm(eTeX_banner);
 @z

 @x
   wlog(banner_k)
 @y
   wlog(eTeX_banner_k)
 @z

 @x
   wlog(banner);
 @y
   wlog(eTeX_banner);
 @z

% @x l.15074
% @<DIR: Initialize the text direction@>;
% @y
% @<DIR: Initialize the text direction@>;
% if src_specials_p then begin
% @z

% @x
% while p<>null do @<Output node |p| for |hlist_out| and move to the next node,
% @y
% end;
% while p<>null do @<Output node |p| for |hlist_out| and move to the next node,
% @z

% @x
%   begin synch_h; synch_v;
% @y
%   begin synch_h; synch_v;
% if src_specials_p then begin
% @z

% @x l.15115
%   repeat f:=font(p); c:=character(p);
%   incr(chars_since_last_special);
% @y
% end;
%   repeat f:=font(p); c:=character(p);
% if src_specials_p then
%   incr(chars_since_last_special);
% @z

@x
@<Append character |cur_chr|...@>=
if ((head=tail) and (mode>0)) then begin
  if (insert_src_special_auto) then append_src_special;
end;
@y
@<Append character |cur_chr|...@>=
@z


@x
begin push_math(math_shift_group); eq_word_define(int_base+cur_fam_code,-1);
if (insert_src_special_every_math) then insert_src_special;
@y
begin push_math(math_shift_group); eq_word_define(int_base+cur_fam_code,-1);
@z

@x
  push_nest; mode:=-vmode; prev_depth:=ignore_depth;
  if (insert_src_special_every_vbox) then insert_src_special;
@y
  push_nest; mode:=-vmode; prev_depth:=ignore_depth;
@z

@x
@!init procedure store_fmt_file;
label found1,found2,done1,done2;
var @!k:integer; {all-purpose indices}
@y
@!init procedure store_fmt_file;
label found1,found2,done1,done2;
var j,@!k:integer; {all-purpose indices}
@z

@x [50] m.1308 l.23794 - e-TeX basic
if x<>max_halfword then goto bad_fmt; {check |max_halfword|}
@y
if x<>max_halfword then goto bad_fmt; {check |max_halfword|}
@/@<Undump the \eTeX\ state@>@/
@z

@x
  line_stack:=xmalloc_array (integer, max_in_open);
@y
  xmalloc_array (line_stack, max_in_open);
@z

@x
  begin @!init if ini_version then
    begin for c:=top_mark_code to split_bot_mark_code do
      if cur_mark[c]<>null then delete_token_ref(cur_mark[c]);
    store_fmt_file; return;
    end;@+tini@/
@y
  begin @!init if ini_version then
    begin for c:=top_mark_code to split_bot_mark_code do
      if cur_mark[c]<>null then delete_token_ref(cur_mark[c]);
    if sa_mark<>null then
      if do_marks(destroy_marks,0,sa_mark) then sa_mark:=null;
    for c:=last_box_code to vsplit_code do flush_node_list(disc_ptr[c]);
    store_fmt_file; return;
    end;@+tini@/
@z