summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-02-23 02:07:16 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-02-23 02:07:16 +0000
commit6b6daaa77a940cd41136a97ec6b2025a1912db2c (patch)
treea8c99e558dd75b8f5017e5661fec1990c90c838f
parentc40adcd4a775d64c6162063cb714420d94760856 (diff)
xetex.web: fix a potential bug in \XeTeXinterchartoks (by Clerk Ma)
git-svn-id: svn://tug.org/texlive/trunk@53880 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/xetexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/xetexdir/xetex.web6
2 files changed, 8 insertions, 3 deletions
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog
index 31ec9dd83f1..152ec64154b 100644
--- a/Build/source/texk/web2c/xetexdir/ChangeLog
+++ b/Build/source/texk/web2c/xetexdir/ChangeLog
@@ -1,3 +1,8 @@
+2020-02-23 Clerk Ma <maqiyuan130324@vip.qq.com>
+
+ * xetex.web: Fix a potential bug in the primitive
+ \XeTeXinterchartoks.
+
2020-02-22 Clerk Ma <maqiyuan130324@vip.qq.com>
* xetex.web: Fix a bug in the primitive \pdfsavepos.
diff --git a/Build/source/texk/web2c/xetexdir/xetex.web b/Build/source/texk/web2c/xetexdir/xetex.web
index 842f88eccff..ab02d793ffb 100644
--- a/Build/source/texk/web2c/xetexdir/xetex.web
+++ b/Build/source/texk/web2c/xetexdir/xetex.web
@@ -24188,7 +24188,7 @@ are inside the individual sections.
if prev_class = char_class_boundary then begin {boundary}
if (state<>token_list) or (token_type<>backed_up_char) then begin
find_sa_element(inter_char_val, char_class_boundary*char_class_limit + space_class, false);
- if cur_ptr<>null then begin
+ if (cur_ptr<>null) and (sa_ptr(cur_ptr)<>null) then begin
if cur_cmd<>letter then cur_cmd:=other_char;
cur_tok:=(cur_cmd*max_char_val)+cur_chr;
back_input; token_type:=backed_up_char;
@@ -24198,7 +24198,7 @@ are inside the individual sections.
end
end else begin
find_sa_element(inter_char_val, prev_class*char_class_limit + space_class, false);
- if cur_ptr<>null then begin
+ if (cur_ptr<>null) and (sa_ptr(cur_ptr)<>null) then begin
if cur_cmd<>letter then cur_cmd:=other_char;
cur_tok:=(cur_cmd*max_char_val)+cur_chr;
back_input; token_type:=backed_up_char;
@@ -24214,7 +24214,7 @@ are inside the individual sections.
if XeTeX_inter_char_tokens_en and (space_class<>char_class_ignored) and (prev_class<>char_class_boundary) then begin
prev_class:=char_class_boundary;
find_sa_element(inter_char_val, space_class*char_class_limit + char_class_boundary, false); {boundary}
- if cur_ptr<>null then begin
+ if (cur_ptr<>null) and (sa_ptr(cur_ptr)<>null) then begin
if cur_cs=0 then begin
if cur_cmd=char_num then cur_cmd:=other_char;
cur_tok:=(cur_cmd*max_char_val)+cur_chr;