summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/omegaware/ovp2ovf.ch
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/omegaware/ovp2ovf.ch')
-rw-r--r--Build/source/texk/web2c/omegaware/ovp2ovf.ch52
1 files changed, 44 insertions, 8 deletions
diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.ch b/Build/source/texk/web2c/omegaware/ovp2ovf.ch
index 78fa86cc6ce..d2b310cc980 100644
--- a/Build/source/texk/web2c/omegaware/ovp2ovf.ch
+++ b/Build/source/texk/web2c/omegaware/ovp2ovf.ch
@@ -22,6 +22,14 @@
@d banner=='This is OVP2OVF, Version 1.13' {printed when the program starts}
@z
+@x [2] Print all terminal output on stderr.
+@d print(#)==write(#)
+@d print_ln(#)==write_ln(#)
+@y
+@d print(#)==write(stderr,#)
+@d print_ln(#)==write_ln(stderr,#)
+@z
+
@x [2] Print the banner later.
procedure initialize; {this procedure gets things started properly}
var @<Local variables for initialization@>@/
@@ -84,6 +92,27 @@ correspond to one-character constants like \.{"A"} in \.{WEB} language.
@d first_ord=0 {ordinal number of the smallest element of |char|}
@z
+@x [31] Non-zero return code in case of problems.
+@!chars_on_line:0..9; {the number of characters printed on the current line}
+@y
+@!chars_on_line:0..9; {the number of characters printed on the current line}
+@!perfect:boolean; {was the file free of errors?}
+@z
+
+@x [32] Non-zero return code in case of problems.
+chars_on_line:=0;
+@y
+chars_on_line:=0;
+perfect:=true; {innocent until proved guilty}
+@z
+
+@x [33] Non-zero return code in case of problems.
+chars_on_line:=0;
+@y
+chars_on_line:=0;
+perfect:=false;
+@z
+
@x [37] (get_keyword_char) Unnecessary due to previous change.
begin while (loc=limit)and(not right_ln) do fill_buffer;
if loc=limit then cur_char:=" " {end-of-line counts as a delimiter}
@@ -118,19 +147,19 @@ if verbose then @<Print |c| in hex notation@>;
@z
@x
print('-'); print_hex(c+crange); incr(chars_on_line);
-@y
+@y [133]
if verbose then begin
print('-'); print_hex(c+crange); incr(chars_on_line);
end;
@z
-@x
+@x [140]
@!HEX: packed array [1..16] of char;
@y
@!HEX: const_c_string;
@z
-@x
+@x [141]
HEX:='0123456789ABCDEF';@/
@y
HEX:=' 0123456789ABCDEF';@/
@@ -197,7 +226,7 @@ begin if fabs(x/design_units)>=16.0 then
end;
@z
-% [141] char_remainder[c] is unsigned, and label_table[sort_ptr].rr
+% [194] char_remainder[c] is unsigned, and label_table[sort_ptr].rr
% might be -1, and if -1 is coerced to being unsigned, it will be bigger
% than anything else.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -207,26 +236,33 @@ begin if fabs(x/design_units)>=16.0 then
while label_table[sort_ptr].rr>intcast(char_remainder[c]) do
@z
-@x [175] Change VF-byte output to fix ranges.
+@x [200] Change VF-byte output to fix ranges.
@d vout(#)==write(vf_file,#)
@y
@d vout(#)==putbyte(#,vf_file)
@z
-@x [204] Eliminate unused variables.
+@x [205] Eliminate unused variables.
var @!krn_ptr:0..max_kerns; {an index into |kern|}
@!c:byte; {runs through all character codes}
@y
@z
-@x [181?] Be quiet unless verbose.
+@x [206] Be quiet unless verbose.
read_input; print_ln('.');@/
@y
read_input;
if verbose then print_ln('.');
@z
-@x [182] System-dependent changes.
+@x [206] Non-zero return code in case of problems,
+end.
+@y
+if not perfect then uexit(1);
+end.
+@z
+
+@x [287] System-dependent changes.
This section should be replaced, if necessary, by changes to the program
that are necessary to make \.{VPtoVF} work at a particular installation.
It is usually best to design your change file so that all changes to