From fa21808ee837ae75aa11594b38695b422fe272dd Mon Sep 17 00:00:00 2001 From: Takuji Tanaka Date: Sun, 16 Sep 2018 05:36:36 +0000 Subject: upbibtex: Fix bug of substring$ (T. Sakai) git-svn-id: svn://tug.org/texlive/trunk@48676 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/uptexdir/ChangeLog | 7 ++++ Build/source/texk/web2c/uptexdir/upbibtex.ch | 48 +++++++--------------------- 2 files changed, 18 insertions(+), 37 deletions(-) (limited to 'Build/source/texk/web2c/uptexdir') diff --git a/Build/source/texk/web2c/uptexdir/ChangeLog b/Build/source/texk/web2c/uptexdir/ChangeLog index c2018364d86..8d1bb7cca2b 100644 --- a/Build/source/texk/web2c/uptexdir/ChangeLog +++ b/Build/source/texk/web2c/uptexdir/ChangeLog @@ -1,3 +1,10 @@ +2018-09-16 TANAKA Takuji + + * upbibtex.ch: Fix bug of substring$ + from Takashi Sakai: + https://github.com/texjporg/tex-jp-build/issues/64 + https://github.com/texjporg/tex-jp-build/pull/66 + 2018-09-09 Karl Berry * uptriptest.test: LC_ALL=LANGUAGE=C. diff --git a/Build/source/texk/web2c/uptexdir/upbibtex.ch b/Build/source/texk/web2c/uptexdir/upbibtex.ch index d0a5bc4d10d..c29f46049d9 100644 --- a/Build/source/texk/web2c/uptexdir/upbibtex.ch +++ b/Build/source/texk/web2c/uptexdir/upbibtex.ch @@ -258,35 +258,18 @@ end; @y { |2..4| bytes Kanji code break check } tps:=str_start[pop_lit3]; -while (tps < sp_ptr) do begin - tps := tps + multibytelen(str_pool[tps]) -end; tpe:=tps; -while (tpe < sp_end) do begin - tpe := tpe + multibytelen(str_pool[tpe]) -end; -if tps<>sp_ptr then begin - if (is_internalUPTEX) then begin - if tps>str_start[pop_lit3] - then while (multibytelen(str_pool[sp_ptr])<0) do decr(sp_ptr) - else while (multibytelen(str_pool[sp_ptr])<0) do incr(sp_ptr) - end else begin - if tps>str_start[pop_lit3] - then decr(sp_ptr) - else incr(sp_ptr) - end; -end; -if tpe<>sp_end then begin - if (is_internalUPTEX) then begin - if tpe 1 then - append_char (str_pool[sp_ptr+1]); - if multibytelen(str_pool[sp_ptr]) > 2 then - append_char (str_pool[sp_ptr+2]); - if multibytelen(str_pool[sp_ptr]) > 3 then - append_char (str_pool[sp_ptr+3]); - if multibytelen(str_pool[sp_ptr]) > 0 then - sp_ptr := sp_ptr + multibytelen(str_pool[sp_ptr]) - else - incr(sp_ptr); + incr(sp_ptr); @z @x -- cgit v1.2.3