diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2012-12-01 23:02:36 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2012-12-01 23:02:36 +0000 |
commit | f301971c765ec63fcf2461d3c69cd73792f2f3a2 (patch) | |
tree | 5247549624baed4feae5a9f10403fa1f57e2c0a0 /Build | |
parent | 86650b5b228b446487c12e6b57fc7bd4bbdcb195 (diff) |
fix a delcode bug in aleph.
git-svn-id: svn://tug.org/texlive/trunk@28410 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/web2c/alephdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/alephdir/om16bit.ch | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/alephdir/ChangeLog b/Build/source/texk/web2c/alephdir/ChangeLog index f47a90321df..da65771a081 100644 --- a/Build/source/texk/web2c/alephdir/ChangeLog +++ b/Build/source/texk/web2c/alephdir/ChangeLog @@ -1,3 +1,7 @@ +2012-12-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * om16bit.ch: fix a delcode bug. + 2012-11-12 Peter Breitenlohner <peb@mppmu.mpg.de> * am/aleph.am: Define al_tangle and use it instead of o_tangle. diff --git a/Build/source/texk/web2c/alephdir/om16bit.ch b/Build/source/texk/web2c/alephdir/om16bit.ch index 68741751a40..494c7f51fca 100644 --- a/Build/source/texk/web2c/alephdir/om16bit.ch +++ b/Build/source/texk/web2c/alephdir/om16bit.ch @@ -1245,6 +1245,22 @@ if m=math_code_base then begin end else if m=(math_code_base+256) then scanned_result(ho(math_code(cur_val)))(int_val) +else if m=del_code_base then begin + cur_val1:=del_code1(cur_val); cur_val:=del_code0(cur_val); + cur_val1:=(cur_val1 div @"10000)*@"100 + (cur_val1 mod @"10000); + cur_val:=(cur_val div @"10000)*@"100 + (cur_val mod @"10000); + if ((cur_val div @"100) mod @"100 > 15) or (cur_val1>=@"1000) then + begin print_err("Extended delimiter code used as delcode"); +@.Bad delimiter code@> + help2("A numeric delimiter code must be between 0 and 2^{27}-1.")@/ + ("I changed this one to zero."); error; + scanned_result(0)(int_val); + end + else scanned_result(cur_val*@"1000+cur_val1)(int_val); + end +else if m=(del_code_base+256) then begin + scanned_result(-1)(int_val); + end else if m<math_code_base then scanned_result(equiv(m+cur_val))(int_val) else scanned_result(new_eqtb_int(m+cur_val))(int_val); @z |