diff options
Diffstat (limited to 'Build/source/texk/web2c/xetexdir')
-rw-r--r-- | Build/source/texk/web2c/xetexdir/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/xetex.web | 6 |
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; |