summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-19 08:32:16 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-19 08:32:16 +0000
commitc8441c7824f0922397522ab135488f5b7277de63 (patch)
tree58056c720814345008e99f9d4ebe78580de64b7c
parenta4b837123f55ac4572fb8555f20d1aea9d295ab5 (diff)
texk/web2c: Remove intcast(), obsolete for 32/64-bit systems
git-svn-id: svn://tug.org/texlive/trunk@36091 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/ChangeLog17
-rw-r--r--Build/source/texk/web2c/alephdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/alephdir/com16bit.ch35
-rw-r--r--Build/source/texk/web2c/cpascal.h1
-rw-r--r--Build/source/texk/web2c/dvicopy.ch93
-rw-r--r--Build/source/texk/web2c/dvitype.ch44
-rw-r--r--Build/source/texk/web2c/gftodvi.ch41
-rw-r--r--Build/source/texk/web2c/mf.ch22
-rw-r--r--Build/source/texk/web2c/omegaware/ChangeLog9
-rw-r--r--Build/source/texk/web2c/omegaware/odvicopy.ch62
-rw-r--r--Build/source/texk/web2c/omegaware/odvitype.ch99
-rw-r--r--Build/source/texk/web2c/omegaware/ofm2opl.ch6
-rw-r--r--Build/source/texk/web2c/omegaware/opl2ofm.ch9
-rw-r--r--Build/source/texk/web2c/omegaware/otangle.ch8
-rw-r--r--Build/source/texk/web2c/omegaware/ovf2ovp.ch6
-rw-r--r--Build/source/texk/web2c/omegaware/ovp2ovf.ch10
-rw-r--r--Build/source/texk/web2c/pltotf.ch9
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/ptexdir/pdvitype.ch12
-rw-r--r--Build/source/texk/web2c/tangle.ch8
-rw-r--r--Build/source/texk/web2c/tangleboot.pin15
-rw-r--r--Build/source/texk/web2c/tex.ch33
-rw-r--r--Build/source/texk/web2c/tftopl.ch6
-rw-r--r--Build/source/texk/web2c/vftovp.ch6
-rw-r--r--Build/source/texk/web2c/vptovf.ch10
-rw-r--r--Build/source/texk/web2c/web2c/ChangeLog4
-rw-r--r--Build/source/texk/web2c/web2c/common.defines1
27 files changed, 87 insertions, 487 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index c3be77464eb..85d88fd0858 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,20 @@
+2015-01-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * cpascal.h: Remove intcast.
+
+2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * dvicopy.ch: Drop intcast().
+ * dvitype.ch: Drop intcast().
+ * gftodvi.ch: Drop intcast().
+ * mf.ch: Drop intcast().
+ * pltotf.ch: Drop intcast().
+ * tangle.ch: Drop intcast().
+ * tex.ch: Drop intcast().
+ * tftopl.ch: Drop intcast().
+ * vftovp.ch: Drop intcast().
+ * vptovf.ch: Drop intcast().
+
2015-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
* mf.ch: Revert the previous change (^Z is again invalid).
diff --git a/Build/source/texk/web2c/alephdir/ChangeLog b/Build/source/texk/web2c/alephdir/ChangeLog
index dbd4bdccdd1..2cdd5cbfa51 100644
--- a/Build/source/texk/web2c/alephdir/ChangeLog
+++ b/Build/source/texk/web2c/alephdir/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * com16bit.ch: Drop intcast().
+
2014-12-15 Karl Berry <karl@tug.org>
* alephbis.c (runexternalocp): quote arguments to system()
diff --git a/Build/source/texk/web2c/alephdir/com16bit.ch b/Build/source/texk/web2c/alephdir/com16bit.ch
index 97d91e5e224..05f4e911004 100644
--- a/Build/source/texk/web2c/alephdir/com16bit.ch
+++ b/Build/source/texk/web2c/alephdir/com16bit.ch
@@ -180,7 +180,7 @@ if ini_version then
{Use |hash_offset=0| for compilers which cannot decrement pointers.}
@!trie_op_size=15011; {space for ``opcodes'' in the hyphenation patterns;
best if relatively prime to 313, 361, and 1009.}
-@!neg_trie_op_size=-15011; {for lower |trie_op_hash| array bound;
+@!neg_trie_op_size=-35111; {for lower |trie_op_hash| array bound;
must be equal to |-trie_op_size|.}
@!min_trie_op=0; {first possible trie op code for any language}
@!max_trie_op=ssup_trie_opcode; {largest possible trie opcode for any language}
@@ -860,16 +860,6 @@ occasionally uses |null| as~0, and therefore requires |min_halfword=0|.
@!zmem : ^memory_word; {the big dynamic storage area}
@z
-% [9.127] Fix casting problem in C.
-% There are several of these. They come from the rules C uses for
-% comparing signed and unsigned quantities. Just doing the comparison
-% can result in incorrect evaluation wrt the way Pascal would do it.
-@x [9.127] l.2739 - Fix casting problem in C.
-if r>p+1 then @<Allocate from the top of node |p| and |goto found|@>;
-@y 2738
-if r>intcast(p+1) then @<Allocate from the top of node |p| and |goto found|@>;
-@z
-
% [11.165] Fix the word `free' so that it doesn't conflict with the
% standard C library routine of the same name.
@x [11.165] l.3364 - avoid conflict with lib function free()
@@ -1722,18 +1712,6 @@ endifn ('IPC')
print_nl("Output written on "); print_file_name(0, output_file_name, 0);
@z
-@x [38.859] l.16855 - Fix a casting/expression evaluation problem.
-if abs(fit_class-fitness(r))>1 then d:=d+adj_demerits;
-@y
-if abs(intcast(fit_class)-intcast(fitness(r)))>1 then d:=d+adj_demerits;
-@z
-
-@x [39.875] l.17170 - Another casting problem.
- begin line_diff:=line_number(r)-best_line;
-@y
- begin line_diff:=intcast(line_number(r))-intcast(best_line);
-@z
-
@x [42.920] l.18068 - bigtrie: allow larger hyphenation tries.
@!trie_pointer=0..trie_size; {an index into |trie|}
@y
@@ -1949,8 +1927,7 @@ var h:neg_trie_op_size..trie_op_size; {trial hash location}
begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size+trie_op_size)
- trie_op_size;
@y
-begin h:=abs(intcast(n)+313*intcast(d)+361*intcast(v)+1009*intcast(cur_lang))
- mod (trie_op_size - neg_trie_op_size)
+begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size-neg_trie_op_size)
+ neg_trie_op_size;
@z
@@ -1982,14 +1959,6 @@ tini
tini
@z
-@x [43.948] l.18471 - Another casting problem.
-begin h:=abs(trie_c[p]+1009*trie_o[p]+@|
- 2718*trie_l[p]+3142*trie_r[p]) mod trie_size;
-@y
-begin h:=abs(intcast(trie_c[p])+1009*intcast(trie_o[p])+@|
- 2718*intcast(trie_l[p])+3142*intcast(trie_r[p])) mod trie_size;
-@z
-
@x [43.590] l.18524 - Dynamically allocate & larger tries.
@!init@!trie_taken:packed array[1..trie_size] of boolean;
{does a family start here?}
diff --git a/Build/source/texk/web2c/cpascal.h b/Build/source/texk/web2c/cpascal.h
index 903ebfdfa21..1de9a44eb7c 100644
--- a/Build/source/texk/web2c/cpascal.h
+++ b/Build/source/texk/web2c/cpascal.h
@@ -123,7 +123,6 @@ typedef FILE *text;
/* To work around casting problems. */
#define ucharcast(x) ((unsigned char) (x))
-#define intcast(x) ((integer) (x))
#define int64cast(x) ((integer64) (x))
#define stringcast(x) ((string) (x))
#define conststringcast(x) ((const_string) (x))
diff --git a/Build/source/texk/web2c/dvicopy.ch b/Build/source/texk/web2c/dvicopy.ch
index 6c0ed00ec0c..d0c1f9a8b3e 100644
--- a/Build/source/texk/web2c/dvicopy.ch
+++ b/Build/source/texk/web2c/dvicopy.ch
@@ -89,7 +89,7 @@ procedure initialize; {this procedure gets things started properly}
@d int_7 == int_7_t
@z
-% [14] Redirect output, so it can go to either stdout or stderr,
+% [11] Redirect output, so it can go to either stdout or stderr,
% depending on where the output dvi file is going.
@x
@d print(#)==write(output,#)
@@ -158,32 +158,6 @@ procedure overflow(@!p:pckt_pointer;@!n:int_16u);
noreturn procedure overflow(@!p:pckt_pointer;@!n:int_16u);
@z
-@x [51] Fix casting problem in C.
-@d comp_spair(#) == if a<128 then #:=a*256+b @+ else #:=(a-256)*256+b
-@d comp_upair(#) == #:=a*256+b
-@y
-@d comp_spair(#) == if a<128 then #:=a*intcast(256)+b
- @+ else #:=(a-intcast(256))*intcast(256)+b
-@d comp_upair(#) == #:=a*intcast(256)+b
-@z
-
-@x [52]
-if a<128 then #:=(a*256+b)*256+c @+ else #:=((a-256)*256+b)*256+c
-@d comp_utrio(#) == #:=(a*256+b)*256+c
-@y
-if a<128 then #:=(a*intcast(256)+b)*intcast(256)+c @+
-else #:=((a-intcast(256))*intcast(256)+b)*intcast(256)+c
-@d comp_utrio(#) == #:=(a*intcast(256)+b)*intcast(256)+c
-@z
-
-@x [53]
-if a<128 then #:=((a*256+b)*256+c)*256+d
-else #:=(((a-256)*256+b)*256+c)*256+d
-@y
-if a<128 then #:=((a*intcast(256)+b)*intcast(256)+c)*intcast(256)+d
-else #:=(((a-intcast(256))*intcast(256)+b)*intcast(256)+c)*intcast(256)+d
-@z
-
@x [62] cur_name is no longer a fixed-size array.
@!cur_name:packed array[1..name_length] of char; {external name,
with no lower case letters}
@@ -255,7 +229,13 @@ while l_cur_name<name_length do
cur_name[l_cur_name] := 0;
@z
-@x [93] Set default directory name
+@x [91] Lower case file name extensions.
+id4(".")("T")("F")("M")(tfm_ext); {file name extension for \.{TFM} files}
+@y
+id4(".")("t")("f")("m")(tfm_ext); {file name extension for \.{TFM} files}
+@z
+
+@x [92] Set default directory name
@ If no font directory has been specified, \.{\title} is supposed to use
the default \.{TFM} directory, which is a system-dependent place where
the \.{TFM} files for standard fonts are kept.
@@ -271,7 +251,7 @@ The string variable |TFM_default_area| contains the name of this area.
@ If no font directory has been specified, we search paths.
@z
-@x [94] Remove initialization of now-defunct array
+@x [93] Remove initialization of now-defunct array
@ @<Set init...@>=
TFM_default_area:=TFM_default_area_name;
@y
@@ -290,7 +270,7 @@ procedure bad_font;
noreturn procedure bad_font;
@z
-@x [96] Open TFM file
+@x [95] Open TFM file
@<TFM: Open |tfm_file|@>=
make_font_name(TFM_default_area_name_length)(TFM_default_area)(tfm_ext);
reset(tfm_file,cur_name);
@@ -301,7 +281,6 @@ be used by |make_font_name|.
@<TFM: Open |tfm_file|@>=
make_font_name(TFM_default_area_name_length)(TFM_default_area)(tfm_ext);
-
full_name := kpse_find_tfm (cur_name);
if full_name then begin
resetbin (tfm_file, full_name);
@@ -310,35 +289,7 @@ if full_name then begin
end else
@z
-@x [103] Fix casting problem in C.
-@d tfm_b01(#)== {|tfm_b0..tfm_b1| as non-negative integer}
-if tfm_b0>127 then bad_font
-else #:=tfm_b0*256+tfm_b1
-@d tfm_b23(#)== {|tfm_b2..tfm_b3| as non-negative integer}
-if tfm_b2>127 then bad_font
-else #:=tfm_b2*256+tfm_b3
-@d tfm_squad(#)== {|tfm_b0..tfm_b3| as signed integer}
-if tfm_b0<128 then #:=((tfm_b0*256+tfm_b1)*256+tfm_b2)*256+tfm_b3
-else #:=(((tfm_b0-256)*256+tfm_b1)*256+tfm_b2)*256+tfm_b3
-@d tfm_uquad== {|tfm_b0..tfm_b3| as unsigned integer}
-(((tfm_b0*256+tfm_b1)*256+tfm_b2)*256+tfm_b3)
-@y
-@d tfm_b01(#)== {|tfm_b0..tfm_b1| as non-negative integer}
-if tfm_b0>127 then bad_font
-else #:=tfm_b0*intcast(256)+tfm_b1
-@d tfm_b23(#)== {|tfm_b2..tfm_b3| as non-negative integer}
-if tfm_b2>127 then bad_font
-else #:=tfm_b2*intcast(256)+tfm_b3
-@d tfm_squad(#)== {|tfm_b0..tfm_b3| as signed integer}
-if tfm_b0<128
-then #:=((tfm_b0*intcast(256)+tfm_b1)*intcast(256)+tfm_b2)*intcast(256)+tfm_b3
-else #:=(((tfm_b0-intcast(256))*intcast(256)+tfm_b1)
- *intcast(256)+tfm_b2)*intcast(256)+tfm_b3
-@d tfm_uquad== {|tfm_b0..tfm_b3| as unsigned integer}
-(((tfm_b0*intcast(256)+tfm_b1)*intcast(256)+tfm_b2)*intcast(256)+tfm_b3)
-@z
-
-@x [109] Declare full_name.
+@x [108] Declare full_name.
@!dvi_loc:int_32; {where we are about to look, in |dvi_file|}
@y
@!dvi_loc:int_32; {where we are about to look, in |dvi_file|}
@@ -385,6 +336,12 @@ dvi_loc:=n;
end;
@z
+@x [135] Lower case file name extensions.
+id3(".")("V")("F")(vf_ext); {file name extension for \.{VF} files}
+@y
+id3(".")("v")("f")(vf_ext); {file name extension for \.{VF} files}
+@z
+
@x [137/138] Set default directory name
@ If no font directory has been specified, \.{\title} is supposed to use
the default \.{VF} directory, which is a system-dependent place where
@@ -455,13 +412,13 @@ vf_move_assign;
vf_move_assign;
@z
-@x [175] break is fflush.
+@x [176] break is fflush.
@d update_terminal == break(output) {empty the terminal output buffer}
@y
@d update_terminal == fflush(stdout) {empty the terminal output buffer}
@z
-@x [175]
+@x [176]
procedure input_ln; {inputs a line from the terminal}
var k:0..terminal_line_length;
begin if n_opt=0 then
@@ -489,7 +446,7 @@ while (k<terminal_line_length)and not eoln(input) do
end;
@z
-@x [231] No dialog, remove unused final label.
+@x [241] No dialog, remove unused final label.
dialog; {get options}
@y
@z
@@ -499,32 +456,32 @@ final_end:end.
end.
@z
-@x [236] Do this later, to avoid creating empty files.
+@x [245] Do this later, to avoid creating empty files.
@<Open output file(s)@>=
rewrite(out_file); {prepares to write packed bytes to |out_file|}
@y
@<Open output file(s)@>=
@z
-@x [238] Use external routine to output bytes.
+@x [247] Use external routine to output bytes.
@d out_byte(#) == write(out_file,#) {write next \.{DVI} byte}
@y
@d out_byte(#) == put_byte(#,out_file) {write next \.{DVI} byte}
@z
-@x [250] String declaration.
+@x [260] String declaration.
@!comment:packed array[1..comm_length] of char; {preamble comment prefix}
@y
@!comment:const_c_string; {preamble comment prefix}
@z
-@x [251] Output the string from 0 to len-1, not 1 to len.
+@x [261] Output the string from 0 to len-1, not 1 to len.
for k:=1 to comm_length do append_byte(xord[comment[k]]);
@y
for k:=0 to comm_length - 1 do append_byte(xord[ucharcast(comment[k])]);
@z
-@x [] System-dependent changes.
+@x [293] System-dependent changes.
This section should be replaced, if necessary, by changes to the program
that are necessary to make \.{DVIcopy} work at a particular installation.
It is usually best to design your change file so that all changes to
diff --git a/Build/source/texk/web2c/dvitype.ch b/Build/source/texk/web2c/dvitype.ch
index f20564b7b74..9e9a9bbc872 100644
--- a/Build/source/texk/web2c/dvitype.ch
+++ b/Build/source/texk/web2c/dvitype.ch
@@ -152,31 +152,6 @@ end;
@!cur_name:^char; {external name}
@z
-@x [27] Make get_n_bytes routines work with 16-bit math.
-get_two_bytes:=a*256+b;
-@y
-get_two_bytes:=a*intcast(256)+b;
-@z
-@x
-get_three_bytes:=(a*256+b)*256+c;
-@y
-get_three_bytes:=(a*intcast(256)+b)*256+c;
-@z
-@x
-if a<128 then signed_trio:=(a*256+b)*256+c
-else signed_trio:=((a-256)*256+b)*256+c;
-@y
-if a<128 then signed_trio:=(a*intcast(256)+b)*256+c
-else signed_trio:=((a-intcast(256))*256+b)*256+c;
-@z
-@x
-if a<128 then signed_quad:=((a*256+b)*256+c)*256+d
-else signed_quad:=(((a-256)*256+b)*256+c)*256+d;
-@y
-if a<128 then signed_quad:=((a*intcast(256)+b)*256+c)*256+d
-else signed_quad:=(((a-256)*intcast(256)+b)*256+c)*256+d;
-@z
-
@x [28] dvi_length and move_to_byte.
@p function dvi_length:integer;
begin set_pos(dvi_file,-1); dvi_length:=cur_pos(dvi_file);
@@ -200,25 +175,14 @@ begin
end;
@z
-@x [35] Make 16-bit TFM calculations work.
-read_tfm_word; lh:=b2*256+b3;
-read_tfm_word; font_bc[nf]:=b0*256+b1; font_ec[nf]:=b2*256+b3;
-@y
-read_tfm_word; lh:=b2*intcast(256)+b3;
-read_tfm_word; font_bc[nf]:=b0*intcast(256)+b1; font_ec[nf]:=b2*intcast(256)+b3;
-@z
-@x
- if b0<128 then tfm_check_sum:=((b0*256+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*256+b1)*256+b2)*256+b3
-@y
- if b0<128 then tfm_check_sum:=((b0*intcast(256)+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*intcast(256)+b1)*256+b2)*256+b3
-@z
+@x [42/43] Initialize optional variables sooner.
+@!count:array[0..9] of integer; {the count values on the current page}
-@x [43] Initialize optional variables sooner.
@ @<Set init...@>=
out_mode:=the_works; max_pages:=1000000; start_vals:=0; start_there[0]:=false;
@y
+@!count:array[0..9] of integer; {the count values on the current page}
+
@ Initializations are done sooner now.
@z
diff --git a/Build/source/texk/web2c/gftodvi.ch b/Build/source/texk/web2c/gftodvi.ch
index 9decc79927d..aecfce210ee 100644
--- a/Build/source/texk/web2c/gftodvi.ch
+++ b/Build/source/texk/web2c/gftodvi.ch
@@ -227,24 +227,6 @@ end;
@!name_of_file:^text_char;
@z
-@x [51] Make get_n_bytes routines work with 16-bit math.
-get_two_bytes:=a*256+b;
-@y
-get_two_bytes:=a*intcast(256)+b;
-@z
-@x
-get_three_bytes:=(a*256+b)*256+c;
-@y
-get_three_bytes:=(a*intcast(256)+b)*256+c;
-@z
-@x
-if a<128 then signed_quad:=((a*256+b)*256+c)*256+d
-else signed_quad:=(((a-256)*256+b)*256+c)*256+d;
-@y
-if a<128 then signed_quad:=((a*intcast(256)+b)*256+c)*256+d
-else signed_quad:=(((a-256)*intcast(256)+b)*256+c)*256+d;
-@z
-
% [52] The memory_word structure is too hard to translate via web2c, so
% we use a hand-coded include file. Also, b0 (et al.) is used both as a
% field and as a regular variable. web2c puts field names in the global
@@ -310,16 +292,6 @@ else signed_quad:=(((a-256)*intcast(256)+b)*256+c)*256+d;
@d rem_byte(#)==#.B3
@z
-% [60] Fix 16-bit arithmetic bugs in TFM calculations.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@x
-@ @d read_two_halves_end(#)==#:=b2*256+b3
-@d read_two_halves(#)==read_tfm_word; #:=b0*256+b1; read_two_halves_end
-@y
-@ @d read_two_halves_end(#)==#:=b2*intcast(256)+b3
-@d read_two_halves(#)==read_tfm_word; #:=b0*intcast(256)+b1; read_two_halves_end
-@z
-
% [62] More .b?'s.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@x
@@ -328,19 +300,6 @@ else signed_quad:=(((a-256)*intcast(256)+b)*256+c)*256+d;
qw.B0:=qi(b0); qw.B1:=qi(b1); qw.B2:=qi(b2); qw.B3:=qi(b3);
@z
-% [62] More arithmetic fixes.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@x
-z:=((b0*256+b1)*256+b2)*16+(b3 div 16);
-@y
-z:=((b0*intcast(256)+b1)*intcast(256)+b2)*16+(b3 div 16);
-@z
-@x
- else if 256*(b2-128)+b3>=nk then abend;
-@y
- else if intcast(256)*(b2-128)+b3>=nk then abend;
-@z
-
@x [78] Change default extension to `.2602gf'.
l:=3; init_str3(".")("g")("f")(gf_ext);@/
@y
diff --git a/Build/source/texk/web2c/mf.ch b/Build/source/texk/web2c/mf.ch
index ec804166c09..ea718c6869a 100644
--- a/Build/source/texk/web2c/mf.ch
+++ b/Build/source/texk/web2c/mf.ch
@@ -1050,12 +1050,6 @@ end;
@!mem : ^memory_word; {the big dynamic storage area}
@z
-@x [10.167] Fix an unsigned/signed problem in getnode.
-if r>p+1 then @<Allocate from the top of node |p| and |goto found|@>;
-@y
-if r>intcast(p+1) then @<Allocate from the top of node |p| and |goto found|@>;
-@z
-
% [11.178] Change the word `free' so that it doesn't conflict with the
% standard C library routine of the same name. Also change arrays that
% use mem_max, since that's a variable now, effectively disabling the feature.
@@ -1821,14 +1815,6 @@ if (tx<>0)or(ty<>0) then @<Shift the coordinates of path |q|@>;
end
@z
-@x [42.965] A C casting problem.
-if (m_min(cur_edges)+tx<=0)or(m_max(cur_edges)+tx>=8192)or@|
- (n_min(cur_edges)+ty<=0)or(n_max(cur_edges)+ty>=8191)or@|
-@y
-if (intcast(m_min(cur_edges))+tx<=0)or(m_max(cur_edges)+tx>=8192)or@|
- (intcast(n_min(cur_edges))+ty<=0)or(n_max(cur_edges)+ty>=8191)or@|
-@z
-
@x [44.1023] if batchmode, MakeTeX... scripts should be silent.
mode_command: begin print_ln; interaction:=cur_mod;
@y
@@ -1986,14 +1972,6 @@ procedure init_gf;
var @!k:0..256; {runs through all possible character codes}
@z
-@x [47.1169] Fix signed/unsigned comparison problem in C.
-if prev_m-m_offset(cur_edges)+x_off>gf_max_m then
- gf_max_m:=prev_m-m_offset(cur_edges)+x_off
-@y
-if prev_m-intcast(m_offset(cur_edges))+x_off>gf_max_m then
- gf_max_m:=prev_m-m_offset(cur_edges)+x_off
-@z
-
@x [47.1182] print_file_name
print_nl("Output written on "); slow_print(output_file_name);
@y
diff --git a/Build/source/texk/web2c/omegaware/ChangeLog b/Build/source/texk/web2c/omegaware/ChangeLog
index ff7cbf103ad..3499eaee5c0 100644
--- a/Build/source/texk/web2c/omegaware/ChangeLog
+++ b/Build/source/texk/web2c/omegaware/ChangeLog
@@ -1,3 +1,12 @@
+2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * odvicopy.ch: Drop intcast().
+ * odvitype.ch: Drop intcast().
+ * ofm2opl.ch: Drop intcast().
+ * opl2ofm.ch: Drop intcast().
+ * ovf2ovp.ch: Drop intcast().
+ * ovp2ovf.ch: Drop intcast().
+
2015-01-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* odvicopy.web: Avoid useless differences with ../dvicopy.web.
diff --git a/Build/source/texk/web2c/omegaware/odvicopy.ch b/Build/source/texk/web2c/omegaware/odvicopy.ch
index c7d6c432425..06a9934453a 100644
--- a/Build/source/texk/web2c/omegaware/odvicopy.ch
+++ b/Build/source/texk/web2c/omegaware/odvicopy.ch
@@ -163,32 +163,6 @@ procedure overflow(@!p:pckt_pointer;@!n:int_16u);
noreturn procedure overflow(@!p:pckt_pointer;@!n:int_16u);
@z
-@x [51] Fix casting problem in C.
-@d comp_spair(#) == if a<128 then #:=a*256+b @+ else #:=(a-256)*256+b
-@d comp_upair(#) == #:=a*256+b
-@y
-@d comp_spair(#) == if a<128 then #:=a*intcast(256)+b
- @+ else #:=(a-intcast(256))*intcast(256)+b
-@d comp_upair(#) == #:=a*intcast(256)+b
-@z
-
-@x [52]
-if a<128 then #:=(a*256+b)*256+c @+ else #:=((a-256)*256+b)*256+c
-@d comp_utrio(#) == #:=(a*256+b)*256+c
-@y
-if a<128 then #:=(a*intcast(256)+b)*intcast(256)+c @+
-else #:=((a-intcast(256))*intcast(256)+b)*intcast(256)+c
-@d comp_utrio(#) == #:=(a*intcast(256)+b)*intcast(256)+c
-@z
-
-@x [53]
-if a<128 then #:=((a*256+b)*256+c)*256+d
-else #:=(((a-256)*256+b)*256+c)*256+d
-@y
-if a<128 then #:=((a*intcast(256)+b)*intcast(256)+c)*intcast(256)+d
-else #:=(((a-intcast(256))*intcast(256)+b)*intcast(256)+c)*intcast(256)+d
-@z
-
@x [62] cur_name is no longer a fixed-size array.
@!cur_name:packed array[1..name_length] of char; {external name,
with no lower case letters}
@@ -260,7 +234,7 @@ while l_cur_name<name_length do
cur_name[l_cur_name] := 0;
@z
-@x [91]
+@x [91] Lower case file name extensions.
id4(".")("T")("F")("M")(tfm_ext); {file name extension for \.{TFM} files}
id4(".")("O")("F")("M")(ofm_ext); {file name extension for \.{OFM} files}
@y
@@ -346,34 +320,6 @@ close_in(tfm_file);
xfclose(tfm_file, cur_name);
@z
-@x [101] Fix casting problem in C.
-@d tfm_b01(#)== {|tfm_b0..tfm_b1| as non-negative integer}
-if tfm_b0>127 then bad_font
-else #:=tfm_b0*256+tfm_b1
-@d tfm_b23(#)== {|tfm_b2..tfm_b3| as non-negative integer}
-if tfm_b2>127 then bad_font
-else #:=tfm_b2*256+tfm_b3
-@d tfm_squad(#)== {|tfm_b0..tfm_b3| as signed integer}
-if tfm_b0<128 then #:=((tfm_b0*256+tfm_b1)*256+tfm_b2)*256+tfm_b3
-else #:=(((tfm_b0-256)*256+tfm_b1)*256+tfm_b2)*256+tfm_b3
-@d tfm_uquad== {|tfm_b0..tfm_b3| as unsigned integer}
-(((tfm_b0*256+tfm_b1)*256+tfm_b2)*256+tfm_b3)
-@y
-@d tfm_b01(#)== {|tfm_b0..tfm_b1| as non-negative integer}
-if tfm_b0>127 then bad_font
-else #:=tfm_b0*intcast(256)+tfm_b1
-@d tfm_b23(#)== {|tfm_b2..tfm_b3| as non-negative integer}
-if tfm_b2>127 then bad_font
-else #:=tfm_b2*intcast(256)+tfm_b3
-@d tfm_squad(#)== {|tfm_b0..tfm_b3| as signed integer}
-if tfm_b0<128
-then #:=((tfm_b0*intcast(256)+tfm_b1)*intcast(256)+tfm_b2)*intcast(256)+tfm_b3
-else #:=(((tfm_b0-intcast(256))*intcast(256)+tfm_b1)
- *intcast(256)+tfm_b2)*intcast(256)+tfm_b3
-@d tfm_uquad== {|tfm_b0..tfm_b3| as unsigned integer}
-(((tfm_b0*intcast(256)+tfm_b1)*intcast(256)+tfm_b2)*intcast(256)+tfm_b3)
-@z
-
@x [101] Avoid compiler warnings
read_tfm_word; tfm_b01(first_two);
@y
@@ -394,7 +340,7 @@ procedure bad_dvi;
noreturn procedure bad_dvi;
@z
-@x [110] Fix up opening the binary files
+@x [111] Fix up opening the binary files
@ To prepare |dvi_file| for input, we |reset| it.
@<Open input file(s)@>=
@@ -407,7 +353,7 @@ dvi_loc:=0;
dvi_loc:=0;
@z
-@x [112] Make dvi_length() and dvi_move() work.
+@x [113] Make dvi_length() and dvi_move() work.
@p function dvi_length:int_32;
begin set_pos(dvi_file,-1); dvi_length:=cur_pos(dvi_file);
end;
@@ -428,7 +374,7 @@ dvi_loc:=n;
end;
@z
-@x [135]
+@x [135] Lower case file name extensions.
id3(".")("V")("F")(vf_ext); {file name extension for \.{VF} files}
id4(".")("O")("V")("F")(ovf_ext); {file name extension for \.{OVF} files}
@y
diff --git a/Build/source/texk/web2c/omegaware/odvitype.ch b/Build/source/texk/web2c/omegaware/odvitype.ch
index 2d96b026670..653a879aae2 100644
--- a/Build/source/texk/web2c/omegaware/odvitype.ch
+++ b/Build/source/texk/web2c/omegaware/odvitype.ch
@@ -165,31 +165,6 @@ end;
@!cur_name:^char; {external name}
@z
-@x [27] Make get_n_bytes routines work with 16-bit math.
-get_two_bytes:=a*256+b;
-@y
-get_two_bytes:=a*intcast(256)+b;
-@z
-@x
-get_three_bytes:=(a*256+b)*256+c;
-@y
-get_three_bytes:=(a*intcast(256)+b)*256+c;
-@z
-@x
-if a<128 then signed_trio:=(a*256+b)*256+c
-else signed_trio:=((a-256)*256+b)*256+c;
-@y
-if a<128 then signed_trio:=(a*intcast(256)+b)*256+c
-else signed_trio:=((a-intcast(256))*256+b)*256+c;
-@z
-@x
-if a<128 then signed_quad:=((a*256+b)*256+c)*256+d
-else signed_quad:=(((a-256)*256+b)*256+c)*256+d;
-@y
-if a<128 then signed_quad:=((a*intcast(256)+b)*256+c)*256+d
-else signed_quad:=(((a-256)*intcast(256)+b)*256+c)*256+d;
-@z
-
@x [28] dvi_length and move_to_byte.
@p function dvi_length:integer;
begin set_pos(dvi_file,-1); dvi_length:=cur_pos(dvi_file);
@@ -220,80 +195,6 @@ nco:=0; extra_words:=0;
read_tfm_word;
@z
-@x [35] Make 16-bit TFM calculations work.
-if (b0*256+b1)<>0 then begin {TFM file}
- ofm_level:=-1;
- lh:=b2*256+b3;
- read_tfm_word; font_bc[nf]:=b0*256+b1; font_ec[nf]:=b2*256+b3;
-@y
-if (b0*intcast(256)+b1)<>0 then begin {TFM file}
- ofm_level:=-1;
- lh:=b2*intcast(256)+b3;
- read_tfm_word; font_bc[nf]:=b0*intcast(256)+b1;
- font_ec[nf]:=b2*intcast(256)+b3;
-@z
-@x
- read_tfm_word; nw:=b0*256+b1;
-@y
- read_tfm_word; nw:=b0*intcast(256)+b1;
-@z
-@x
- if b0<128 then tfm_check_sum:=((b0*256+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*256+b1)*256+b2)*256+b3
-@y
- if b0<128 then tfm_check_sum:=((b0*intcast(256)+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*intcast(256)+b1)*256+b2)*256+b3
-@z
-@x
- ofm_level:=b2*256+b3;
- read_tfm_word;
- read_tfm_word; lh:=((b0*256+b1)*256+b2)*256+b3;
- read_tfm_word; font_bc[nf]:=((b0*256+b1)*256+b2)*256+b3;
- read_tfm_word; font_ec[nf]:=((b0*256+b1)*256+b2)*256+b3;
-@y
- ofm_level:=b2*intcast(256)+b3;
- read_tfm_word;
- read_tfm_word; lh:=((b0*intcast(256)+b1)*256+b2)*256+b3;
- read_tfm_word; font_bc[nf]:=((b0*intcast(256)+b1)*256+b2)*256+b3;
- read_tfm_word; font_ec[nf]:=((b0*intcast(256)+b1)*256+b2)*256+b3;
-@z
-@x
- read_tfm_word; nw:=((b0*256+b1)*256+b2)*256+b3;
-@y
- read_tfm_word; nw:=((b0*intcast(256)+b1)*256+b2)*256+b3;
-@z
-@x
- read_tfm_word; extra_words:=(((b0*256+b1)*256+b2)*256+b3) div 2;
-@y
- read_tfm_word;
- extra_words:=(((b0*intcast(256)+b1)*256+b2)*256+b3) div 2;
-@z
-@x
- if b0<128 then tfm_check_sum:=((b0*256+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*256+b1)*256+b2)*256+b3
-@y
- if b0<128 then tfm_check_sum:=((b0*intcast(256)+b1)*256+b2)*256+b3
- else tfm_check_sum:=(((b0-256)*intcast(256)+b1)*256+b2)*256+b3
-@z
-@x
- if (b0*256+b1)>nw then goto 9997;
- width[k]:=(b0*256+b1);
-@y
- if (b0*intcast(256)+b1)>nw then goto 9997;
- width[k]:=(b0*intcast(256)+b1);
-@z
-@x
- if (b0*256+b1)>nw then goto 9997;
- width[k]:=(b0*256+b1);
- read_tfm_word; read_tfm_word;
- kprime:=k+(b0*256+b1);
-@y
- if (b0*intcast(256)+b1)>nw then goto 9997;
- width[k]:=(b0*intcast(256)+b1);
- read_tfm_word; read_tfm_word;
- kprime:=k+(b0*intcast(256)+b1);
-@z
-
@x [43] Initialize optional variables sooner.
@ @<Set init...@>=
out_mode:=the_works; max_pages:=1000000; start_vals:=0; start_there[0]:=false;
diff --git a/Build/source/texk/web2c/omegaware/ofm2opl.ch b/Build/source/texk/web2c/omegaware/ofm2opl.ch
index 181a5b04d64..079e8424d2a 100644
--- a/Build/source/texk/web2c/omegaware/ofm2opl.ch
+++ b/Build/source/texk/web2c/omegaware/ofm2opl.ch
@@ -226,12 +226,6 @@ else out_hex_char(c);
put_byte(RCE_string[1+(b div 3)], pl_file);
@z
-@x [41] Force 32-bit constant arithmetic for 16-bit machines.
-f:=((tfm[k+1] mod 16)*@'400+tfm[k+2])*@'400+tfm[k+3];
-@y
-f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
-@z
-
% [95] No progress reports unless verbose.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@x
diff --git a/Build/source/texk/web2c/omegaware/opl2ofm.ch b/Build/source/texk/web2c/omegaware/opl2ofm.ch
index a6b3896648a..04e90711ae2 100644
--- a/Build/source/texk/web2c/omegaware/opl2ofm.ch
+++ b/Build/source/texk/web2c/omegaware/opl2ofm.ch
@@ -249,15 +249,6 @@ begin if fabs(x/design_units)>=16.0 then
end;
@z
-% [141] 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.
-@x
- while label_table[sort_ptr].rr>char_remainder[c] do
-@y
- while label_table[sort_ptr].rr>intcast(char_remainder[c]) do
-@z
-
@x [170] Eliminate unused variables.
var @!krn_ptr:0..max_kerns; {an index into |kern|}
@!c:integer; {runs through all character codes}
diff --git a/Build/source/texk/web2c/omegaware/otangle.ch b/Build/source/texk/web2c/omegaware/otangle.ch
index 0baf8628e73..16eac2844ad 100644
--- a/Build/source/texk/web2c/omegaware/otangle.ch
+++ b/Build/source/texk/web2c/omegaware/otangle.ch
@@ -354,14 +354,6 @@ identifier: begin k:=0; j:=byte_start[cur_val]; w:=cur_val mod ww;
end;
@z
-@x [??] Fix casting bug
-@d add_in(#)==begin accumulator:=accumulator+next_sign*(#); next_sign:=+1;
- end
-@y
-@d add_in(#)==begin accumulator:=accumulator+next_sign*intcast(#); next_sign:=+1;
- end
-@z
-
@x [179] make term_in = input
any error stop will set |debug_cycle| to zero.
@y
diff --git a/Build/source/texk/web2c/omegaware/ovf2ovp.ch b/Build/source/texk/web2c/omegaware/ovf2ovp.ch
index 84df6150450..51f856f12b5 100644
--- a/Build/source/texk/web2c/omegaware/ovf2ovp.ch
+++ b/Build/source/texk/web2c/omegaware/ovf2ovp.ch
@@ -345,12 +345,6 @@ end;
put_byte(RCE_string[1+(b div 3)], vpl_file);
@z
-@x [62] Force 32-bit constant arithmetic for 16-bit machines.
-f:=((tfm[k+1] mod 16)*@'400+tfm[k+2])*@'400+tfm[k+3];
-@y
-f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
-@z
-
% [101] No progress reports unless verbose.
@x
begin if chars_on_line=8 then
diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.ch b/Build/source/texk/web2c/omegaware/ovp2ovf.ch
index d2b310cc980..7b332eacae0 100644
--- a/Build/source/texk/web2c/omegaware/ovp2ovf.ch
+++ b/Build/source/texk/web2c/omegaware/ovp2ovf.ch
@@ -226,16 +226,6 @@ begin if fabs(x/design_units)>=16.0 then
end;
@z
-% [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.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@x
- while label_table[sort_ptr].rr>char_remainder[c] do
-@y
- while label_table[sort_ptr].rr>intcast(char_remainder[c]) do
-@z
-
@x [200] Change VF-byte output to fix ranges.
@d vout(#)==write(vf_file,#)
@y
diff --git a/Build/source/texk/web2c/pltotf.ch b/Build/source/texk/web2c/pltotf.ch
index 5dd4d3eb9b1..a7b6b8f32c6 100644
--- a/Build/source/texk/web2c/pltotf.ch
+++ b/Build/source/texk/web2c/pltotf.ch
@@ -214,15 +214,6 @@ begin if fabs(x/design_units)>=16.0 then
end;
@z
-% [141] 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.
-@x
- while label_table[sort_ptr].rr>char_remainder[c] do
-@y
- while label_table[sort_ptr].rr>intcast(char_remainder[c]) do
-@z
-
@x [147] Be quiet unless verbose.
read_input; print_ln('.');@/
@y
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index 9178981ae70..818dbf23a6a 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * pdvitype.ch: Drop intcast().
+
2015-01-12 Peter Breitenlohner <peb@mppmu.mpg.de>
* ptftopl.ch: Use ^byte and xmalloc_array().
diff --git a/Build/source/texk/web2c/ptexdir/pdvitype.ch b/Build/source/texk/web2c/ptexdir/pdvitype.ch
index d9df210e39a..5060c28aa8b 100644
--- a/Build/source/texk/web2c/ptexdir/pdvitype.ch
+++ b/Build/source/texk/web2c/ptexdir/pdvitype.ch
@@ -102,16 +102,16 @@ end;
@z
@x [35] JFM by K.A.
-read_tfm_word; lh:=b2*intcast(256)+b3;
+read_tfm_word; lh:=b2*256+b3;
@y
-read_tfm_word; lh:=b0*intcast(256)+b1;
+read_tfm_word; lh:=b0*256+b1;
if (lh = 11) or (lh = 9) then
begin
print(' (JFM');
fnt_jfm_p[nf] := true;
if lh = 9 then print(' tate');
print(')');
- nt:=b2*intcast(256)+b3;
+ nt:=b2*256+b3;
read_tfm_word;
end
else
@@ -119,7 +119,7 @@ else
nt:=0;
fnt_jfm_p[nf] := false;
end;
-lh:=b2*intcast(256)+b3;
+lh:=b2*256+b3;
@z
@x [35] JFM by K.A.
@@ -133,8 +133,8 @@ lh:=b2*intcast(256)+b3;
for k:=1 to nt do
begin
read_tfm_word;
- jfm_char_code[jfm_char_type_count]:=b0*intcast(256)+b1;
- jfm_char_type[jfm_char_type_count]:=b2*intcast(256)+b3;
+ jfm_char_code[jfm_char_type_count]:=b0*256+b1;
+ jfm_char_type[jfm_char_type_count]:=b2*256+b3;
jfm_char_font[jfm_char_type_count]:=nf;
jfm_h:= { hash value }
(jfm_char_code[jfm_char_type_count]+nf) mod jfm_hash_size;
diff --git a/Build/source/texk/web2c/tangle.ch b/Build/source/texk/web2c/tangle.ch
index e3871df2bfe..5331307af30 100644
--- a/Build/source/texk/web2c/tangle.ch
+++ b/Build/source/texk/web2c/tangle.ch
@@ -471,14 +471,6 @@ identifier: begin k:=0; j:=byte_start[cur_val]; w:=cur_val mod ww;
if n>=@"40000000 then err_print('! Constant too big')
@z
-@x [157] Fix casting bug
-@d add_in(#)==begin accumulator:=accumulator+next_sign*(#); next_sign:=+1;
- end
-@y
-@d add_in(#)==begin accumulator:=accumulator+next_sign*intcast(#); next_sign:=+1;
- end
-@z
-
@x [157] Larger numerics.
if abs(accumulator)>=@'100000 then
@y
diff --git a/Build/source/texk/web2c/tangleboot.pin b/Build/source/texk/web2c/tangleboot.pin
index 5d9331c4610..775aeb5399b 100644
--- a/Build/source/texk/web2c/tangleboot.pin
+++ b/Build/source/texk/web2c/tangleboot.pin
@@ -699,20 +699,19 @@ while true do begin nextcontrol:=getnext;
21:case nextcontrol of 48,49,50,51,52,53,54,55,56,57:begin{160:}val:=0;
repeat val:=10*val+nextcontrol-48;nextcontrol:=getnext;
until(nextcontrol>57)or(nextcontrol<48){:160};
-begin accumulator:=accumulator+nextsign*intcast(val);nextsign:=+1;end;
-goto 21;end;12:begin{161:}val:=0;nextcontrol:=48;
+begin accumulator:=accumulator+nextsign*(val);nextsign:=+1;end;goto 21;
+end;12:begin{161:}val:=0;nextcontrol:=48;
repeat val:=8*val+nextcontrol-48;nextcontrol:=getnext;
until(nextcontrol>55)or(nextcontrol<48){:161};
-begin accumulator:=accumulator+nextsign*intcast(val);nextsign:=+1;end;
-goto 21;end;13:begin{162:}val:=0;nextcontrol:=48;
+begin accumulator:=accumulator+nextsign*(val);nextsign:=+1;end;goto 21;
+end;13:begin{162:}val:=0;nextcontrol:=48;
repeat if nextcontrol>=65 then nextcontrol:=nextcontrol-7;
val:=16*val+nextcontrol-48;nextcontrol:=getnext;
until(nextcontrol>70)or(nextcontrol<48)or((nextcontrol>57)and(
-nextcontrol<65)){:162};
-begin accumulator:=accumulator+nextsign*intcast(val);nextsign:=+1;end;
-goto 21;end;130:begin q:=idlookup(0);
+nextcontrol<65)){:162};begin accumulator:=accumulator+nextsign*(val);
+nextsign:=+1;end;goto 21;end;130:begin q:=idlookup(0);
if ilk[q]<>1 then begin nextcontrol:=42;goto 21;end;
-begin accumulator:=accumulator+nextsign*intcast(equiv[q]-1073741824);
+begin accumulator:=accumulator+nextsign*(equiv[q]-1073741824);
nextsign:=+1;end;end;43:;45:nextsign:=-nextsign;
132,133,135,134,136:goto 30;59:begin writeln(stdout);
write(stdout,'! Omit semicolon in numeric definition');error;end;
diff --git a/Build/source/texk/web2c/tex.ch b/Build/source/texk/web2c/tex.ch
index c040e284ff4..2cc216f1cb2 100644
--- a/Build/source/texk/web2c/tex.ch
+++ b/Build/source/texk/web2c/tex.ch
@@ -1028,16 +1028,6 @@ sufficiently large.
@!zmem : ^memory_word; {the big dynamic storage area}
@z
-% [9.127] Fix casting problem in C.
-% There are several of these. They come from the rules C uses for
-% comparing signed and unsigned quantities. Just doing the comparison
-% can result in incorrect evaluation wrt the way Pascal would do it.
-@x [9.127] l.2739 - Fix casting problem in C.
-if r>p+1 then @<Allocate from the top of node |p| and |goto found|@>;
-@y 2738
-if r>intcast(p+1) then @<Allocate from the top of node |p| and |goto found|@>;
-@z
-
@x [10.144] l.3006 - font numbers can be >255 now.
@p function new_ligature(@!f,@!c:quarterword; @!q:pointer):pointer;
@y
@@ -2664,18 +2654,6 @@ if (insert_src_special_every_cr) then insert_src_special;
if every_cr<>null then begin_token_list(every_cr,every_cr_text);
@z
-@x [38.859] l.16855 - Fix a casting/expression evaluation problem.
-if abs(fit_class-fitness(r))>1 then d:=d+adj_demerits;
-@y
-if abs(intcast(fit_class)-intcast(fitness(r)))>1 then d:=d+adj_demerits;
-@z
-
-@x [39.875] l.17170 - Another casting problem.
- begin line_diff:=line_number(r)-best_line;
-@y
- begin line_diff:=intcast(line_number(r))-intcast(best_line);
-@z
-
@x [42.920] l.18056 - bigtrie: allow larger hyphenation tries.
Comparatively few different number sequences $n_0\ldots n_k$ actually occur,
since most of the |n|'s are generally zero. Therefore the number sequences
@@ -2992,8 +2970,7 @@ var h:neg_trie_op_size..trie_op_size; {trial hash location}
begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size+trie_op_size)
- trie_op_size;
@y
-begin h:=abs(intcast(n)+313*intcast(d)+361*intcast(v)+1009*intcast(cur_lang))
- mod (trie_op_size - neg_trie_op_size)
+begin h:=abs(n+313*d+361*v+1009*cur_lang) mod (trie_op_size-neg_trie_op_size)
+ neg_trie_op_size;
@z
@@ -3057,14 +3034,6 @@ tini
tini
@z
-@x [43.948] l.18471 - Another casting problem.
-begin h:=abs(trie_c[p]+1009*trie_o[p]+@|
- 2718*trie_l[p]+3142*trie_r[p]) mod trie_size;
-@y
-begin h:=abs(intcast(trie_c[p])+1009*intcast(trie_o[p])+@|
- 2718*intcast(trie_l[p])+3142*intcast(trie_r[p])) mod trie_size;
-@z
-
@x [43.950] l.18521 - Dynamically allocate & larger tries.
@d trie_back(#)==trie[#].lh {backward links in |trie| holes}
@y
diff --git a/Build/source/texk/web2c/tftopl.ch b/Build/source/texk/web2c/tftopl.ch
index f2fa5894633..b0c1ba581ff 100644
--- a/Build/source/texk/web2c/tftopl.ch
+++ b/Build/source/texk/web2c/tftopl.ch
@@ -223,12 +223,6 @@ else begin tfm[0]:=c; out_octal(0,1);
put_byte(RCE_string[1+(b div 3)], pl_file);
@z
-@x [40] Force 32-bit constant arithmetic for 16-bit machines.
-f:=((tfm[k+1] mod 16)*@'400+tfm[k+2])*@'400+tfm[k+3];
-@y
-f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
-@z
-
% [78] No progress reports unless verbose.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@x
diff --git a/Build/source/texk/web2c/vftovp.ch b/Build/source/texk/web2c/vftovp.ch
index dd523e5ffbb..7db1128a8bb 100644
--- a/Build/source/texk/web2c/vftovp.ch
+++ b/Build/source/texk/web2c/vftovp.ch
@@ -370,12 +370,6 @@ else begin tfm[0]:=c; out_octal(0,1);
put_byte(RCE_string[1+(b div 3)], vpl_file);
@z
-@x [62] Force 32-bit constant arithmetic for 16-bit machines.
-f:=((tfm[k+1] mod 16)*@'400+tfm[k+2])*@'400+tfm[k+3];
-@y
-f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
-@z
-
% [101] No progress reports unless verbose.
@x
incr(chars_on_line);
diff --git a/Build/source/texk/web2c/vptovf.ch b/Build/source/texk/web2c/vptovf.ch
index 3d76f095f3d..2ced4cb5b88 100644
--- a/Build/source/texk/web2c/vptovf.ch
+++ b/Build/source/texk/web2c/vptovf.ch
@@ -197,16 +197,6 @@ begin if fabs(x/design_units)>=16.0 then
end;
@z
-% [141] 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.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@x
- while label_table[sort_ptr].rr>char_remainder[c] do
-@y
- while label_table[sort_ptr].rr>intcast(char_remainder[c]) do
-@z
-
@x [175] Change VF-byte output to fix ranges.
@d vout(#)==write(vf_file,#)
@y
diff --git a/Build/source/texk/web2c/web2c/ChangeLog b/Build/source/texk/web2c/web2c/ChangeLog
index 87ebc2ab88b..8794604c82b 100644
--- a/Build/source/texk/web2c/web2c/ChangeLog
+++ b/Build/source/texk/web2c/web2c/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * common.defines: Remove intcast.
+
2015-01-12 Peter Breitenlohner <peb@mppmu.mpg.de>
* common.defines: Remove casttobytepointer and pointertobyte.
diff --git a/Build/source/texk/web2c/web2c/common.defines b/Build/source/texk/web2c/web2c/common.defines
index a729af03720..a83950de762 100644
--- a/Build/source/texk/web2c/web2c/common.defines
+++ b/Build/source/texk/web2c/web2c/common.defines
@@ -132,7 +132,6 @@
@define function kpseoutnameok ();
@define function kpsevarvalue ();
@define function inputint ();
-@define function intcast ();
@define function int64cast ();
@define function isprint ();
@define function makebinaryfile ();