summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-12-01 23:02:36 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-12-01 23:02:36 +0000
commitf301971c765ec63fcf2461d3c69cd73792f2f3a2 (patch)
tree5247549624baed4feae5a9f10403fa1f57e2c0a0 /Build
parent86650b5b228b446487c12e6b57fc7bd4bbdcb195 (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/ChangeLog4
-rw-r--r--Build/source/texk/web2c/alephdir/om16bit.ch16
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