texlive[66818] Build/source/texk: upbibtex: fix bug of substring$ (Y.

commits+takuji at tug.org commits+takuji at tug.org
Mon Apr 10 15:17:12 CEST 2023


Revision: 66818
          http://tug.org/svn/texlive?view=revision&revision=66818
Author:   takuji
Date:     2023-04-10 15:17:12 +0200 (Mon, 10 Apr 2023)
Log Message:
-----------
upbibtex: fix bug of substring$ (Y. Morimi)

Modified Paths:
--------------
    trunk/Build/source/texk/bibtex-x/ChangeLog
    trunk/Build/source/texk/bibtex-x/tests/substra.bbl
    trunk/Build/source/texk/bibtex-x/tests/substru.bbl
    trunk/Build/source/texk/bibtex-x/tests/testsubstr.bst
    trunk/Build/source/texk/web2c/uptexdir/ChangeLog
    trunk/Build/source/texk/web2c/uptexdir/upbibtex.ch

Modified: trunk/Build/source/texk/bibtex-x/ChangeLog
===================================================================
--- trunk/Build/source/texk/bibtex-x/ChangeLog	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/bibtex-x/ChangeLog	2023-04-10 13:17:12 UTC (rev 66818)
@@ -1,3 +1,8 @@
+2023-04-10  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
+
+	* tests/substr[au].bbl, tests/testsubstr.bst:
+	Add more tests for substring$.
+
 2023-01-29  Karl Berry  <karl at freefriends.org>
 
 	* tests/bibtexu-sort.test,

Modified: trunk/Build/source/texk/bibtex-x/tests/substra.bbl
===================================================================
--- trunk/Build/source/texk/bibtex-x/tests/substra.bbl	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/bibtex-x/tests/substra.bbl	2023-04-10 13:17:12 UTC (rev 66818)
@@ -55,6 +55,11 @@
 \item[-6 3]  tu
 \item[-7 2]  t
 \item[-8 1]
+\item[1 1, 1 1] A
+\item[2 1, 1 1] B
+\item[3 1, 1 1] C
+\item[4 1, 1 1] D
+\item[5 1, 1 1] E
 \item[orig] \xC5\xC7\xC8\xCE\xD8\xDC\xDD~\xE5\xE7\xE8\xEE\xF8\xFC\xFD
 \item[1 5] \xC5\xC7\xC8\xCE\xD8
 \item[1 4] \xC5\xC7\xC8\xCE
@@ -110,6 +115,11 @@
 \item[-6 3] ~\xE5\xE7
 \item[-7 2] ~\xE5
 \item[-8 1] ~
+\item[1 1, 1 1] \xC5
+\item[2 1, 1 1] \xC7
+\item[3 1, 1 1] \xC8
+\item[4 1, 1 1] \xCE
+\item[5 1, 1 1] \xD8
 \item[orig] {AB}CDEFG tuvwx{yz}
 \item[1 5] {AB}C
 \item[1 4] {AB}
@@ -165,6 +175,11 @@
 \item[-6 3] uvw
 \item[-7 2] uv
 \item[-8 1] u
+\item[1 1, 1 1] {
+\item[2 1, 1 1] A
+\item[3 1, 1 1] B
+\item[4 1, 1 1] }
+\item[5 1, 1 1] C
 \item[orig] {{AB}CD}EFG tuv{wx{yz}}
 \item[1 5] {{AB}
 \item[1 4] {{AB
@@ -220,6 +235,11 @@
 \item[-6 3] {wx
 \item[-7 2] {w
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] A
+\item[4 1, 1 1] B
+\item[5 1, 1 1] }
 \item[orig] {{\xC5\xC7}\xC8\xCE}\xD8\xDC\xDD~\xE5\xE7\xE8{\xEE\xF8{\xFC\xFD}}
 \item[1 5] {{\xC5\xC7}
 \item[1 4] {{\xC5\xC7
@@ -275,6 +295,11 @@
 \item[-6 3] {\xEE\xF8
 \item[-7 2] {\xEE
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] \xC5
+\item[4 1, 1 1] \xC7
+\item[5 1, 1 1] }
 \item[orig] {\a}\xC5\xE5{\b}\xC6\xE6{\c}\xC7\xE7
 \item[1 5] {\a}\xC5
 \item[1 4] {\a}
@@ -330,5 +355,10 @@
 \item[-6 3] \xC6\xE6{
 \item[-7 2] \xC6\xE6
 \item[-8 1] \xC6
+\item[1 1, 1 1] {
+\item[2 1, 1 1] \
+\item[3 1, 1 1] a
+\item[4 1, 1 1] }
+\item[5 1, 1 1] \xC5
 \end{itemize}
 \endinput

Modified: trunk/Build/source/texk/bibtex-x/tests/substru.bbl
===================================================================
--- trunk/Build/source/texk/bibtex-x/tests/substru.bbl	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/bibtex-x/tests/substru.bbl	2023-04-10 13:17:12 UTC (rev 66818)
@@ -55,6 +55,11 @@
 \item[-6 3]  tu
 \item[-7 2]  t
 \item[-8 1]
+\item[1 1, 1 1] A
+\item[2 1, 1 1] B
+\item[3 1, 1 1] C
+\item[4 1, 1 1] D
+\item[5 1, 1 1] E
 \item[orig] ÅÇÈÎØÜÝ~åçèîøüý
 \item[1 5] ÅÇÈÎØ
 \item[1 4] ÅÇÈÎ
@@ -110,6 +115,11 @@
 \item[-6 3] ~åç
 \item[-7 2] ~å
 \item[-8 1] ~
+\item[1 1, 1 1] Å
+\item[2 1, 1 1] Ç
+\item[3 1, 1 1] È
+\item[4 1, 1 1] Î
+\item[5 1, 1 1] Ø
 \item[orig] AÇう冤EÜЖ~tçユ漆𡚴xюω
 \item[1 5] AÇう冤E
 \item[1 4] AÇう冤
@@ -165,6 +175,11 @@
 \item[-6 3] tçユ
 \item[-7 2] tç
 \item[-8 1] t
+\item[1 1, 1 1] A
+\item[2 1, 1 1] Ç
+\item[3 1, 1 1] う
+\item[4 1, 1 1] 冤
+\item[5 1, 1 1] E
 \item[orig] {AB}CDEFG tuvwx{yz}
 \item[1 5] {AB}C
 \item[1 4] {AB}
@@ -220,6 +235,11 @@
 \item[-6 3] uvw
 \item[-7 2] uv
 \item[-8 1] u
+\item[1 1, 1 1] {
+\item[2 1, 1 1] A
+\item[3 1, 1 1] B
+\item[4 1, 1 1] }
+\item[5 1, 1 1] C
 \item[orig] {\a}Åå{\b}Ææ{\c}Çç
 \item[1 5] {\a}Å
 \item[1 4] {\a}
@@ -275,6 +295,11 @@
 \item[-6 3] Ææ{
 \item[-7 2] Ææ
 \item[-8 1] Æ
+\item[1 1, 1 1] {
+\item[2 1, 1 1] \
+\item[3 1, 1 1] a
+\item[4 1, 1 1] }
+\item[5 1, 1 1] Å
 \item[orig] {\a}αあ{\b}βい{\c}γう
 \item[1 5] {\a}α
 \item[1 4] {\a}
@@ -330,6 +355,11 @@
 \item[-6 3] βい{
 \item[-7 2] βい
 \item[-8 1] β
+\item[1 1, 1 1] {
+\item[2 1, 1 1] \
+\item[3 1, 1 1] a
+\item[4 1, 1 1] }
+\item[5 1, 1 1] α
 \item[orig] {\a}あα{\b}いβ{\c}うγ
 \item[1 5] {\a}あ
 \item[1 4] {\a}
@@ -385,6 +415,11 @@
 \item[-6 3] いβ{
 \item[-7 2] いβ
 \item[-8 1] い
+\item[1 1, 1 1] {
+\item[2 1, 1 1] \
+\item[3 1, 1 1] a
+\item[4 1, 1 1] }
+\item[5 1, 1 1] あ
 \item[orig] {{AB}CD}EFG tuv{wx{yz}}
 \item[1 5] {{AB}
 \item[1 4] {{AB
@@ -440,6 +475,11 @@
 \item[-6 3] {wx
 \item[-7 2] {w
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] A
+\item[4 1, 1 1] B
+\item[5 1, 1 1] }
 \item[orig] {{ÅÇ}ÈÎ}ØÜÝ~åçè{îø{üý}}
 \item[1 5] {{ÅÇ}
 \item[1 4] {{ÅÇ
@@ -495,6 +535,11 @@
 \item[-6 3] {îø
 \item[-7 2] {î
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] Å
+\item[4 1, 1 1] Ç
+\item[5 1, 1 1] }
 \item[orig] {{一二}三四}五六七 肆伍陸{漆捌{玖拾}}
 \item[1 5] {{一二}
 \item[1 4] {{一二
@@ -550,6 +595,11 @@
 \item[-6 3] {漆捌
 \item[-7 2] {漆
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] 一
+\item[4 1, 1 1] 二
+\item[5 1, 1 1] }
 \item[orig]
   {{櫛杓}屠冤}𦥑𠮟𠀋𡈽𥝱𨦇𡚴{𠷡𧘕{𧘔𩸽}}
 \item[1 5] {{櫛杓}
@@ -606,6 +656,11 @@
 \item[-6 3] {𠷡𧘕
 \item[-7 2] {𠷡
 \item[-8 1] {
+\item[1 1, 1 1] {
+\item[2 1, 1 1] {
+\item[3 1, 1 1] 櫛
+\item[4 1, 1 1] 杓
+\item[5 1, 1 1] }
 \item[orig] ΑΒΓΔΕΖΗ στυφχψω
 \item[1 5] ΑΒΓΔΕ
 \item[1 4] ΑΒΓΔ
@@ -661,6 +716,11 @@
 \item[-6 3]  στ
 \item[-7 2]  σ
 \item[-8 1]
+\item[1 1, 1 1] Α
+\item[2 1, 1 1] Β
+\item[3 1, 1 1] Γ
+\item[4 1, 1 1] Δ
+\item[5 1, 1 1] Ε
 \item[orig] АБВГДЕЖ щъыьэюя
 \item[1 5] АБВГД
 \item[1 4] АБВГ
@@ -716,6 +776,11 @@
 \item[-6 3]  щъ
 \item[-7 2]  щ
 \item[-8 1]
+\item[1 1, 1 1] А
+\item[2 1, 1 1] Б
+\item[3 1, 1 1] В
+\item[4 1, 1 1] Г
+\item[5 1, 1 1] Д
 \item[orig] あいうえおかき ユヨワヰヱヲン
 \item[1 5] あいうえお
 \item[1 4] あいうえ
@@ -771,6 +836,11 @@
 \item[-6 3]  ユヨ
 \item[-7 2]  ユ
 \item[-8 1]  
+\item[1 1, 1 1] あ
+\item[2 1, 1 1] い
+\item[3 1, 1 1] う
+\item[4 1, 1 1] え
+\item[5 1, 1 1] お
 \item[orig] 一二三四五六七 肆伍陸漆捌玖拾
 \item[1 5] 一二三四五
 \item[1 4] 一二三四
@@ -826,6 +896,11 @@
 \item[-6 3]  肆伍
 \item[-7 2]  肆
 \item[-8 1]  
+\item[1 1, 1 1] 一
+\item[2 1, 1 1] 二
+\item[3 1, 1 1] 三
+\item[4 1, 1 1] 四
+\item[5 1, 1 1] 五
 \item[orig] 櫛杓屠冤𦥑𠮟𠀋𡈽𥝱𨦇𡚴𠷡𧘕𧘔𩸽
 \item[1 5] 櫛杓屠冤𦥑
 \item[1 4] 櫛杓屠冤
@@ -881,5 +956,10 @@
 \item[-6 3] 𡈽𥝱𨦇
 \item[-7 2] 𡈽𥝱
 \item[-8 1] 𡈽
+\item[1 1, 1 1] 櫛
+\item[2 1, 1 1] 杓
+\item[3 1, 1 1] 屠
+\item[4 1, 1 1] 冤
+\item[5 1, 1 1] 𦥑
 \end{itemize}
 \endinput

Modified: trunk/Build/source/texk/bibtex-x/tests/testsubstr.bst
===================================================================
--- trunk/Build/source/texk/bibtex-x/tests/testsubstr.bst	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/bibtex-x/tests/testsubstr.bst	2023-04-10 13:17:12 UTC (rev 66818)
@@ -60,6 +60,11 @@
   "\item[-6 3] " field #-6 #3 substring$ * write$ newline$
   "\item[-7 2] " field #-7 #2 substring$ * write$ newline$
   "\item[-8 1] " field #-8 #1 substring$ * write$ newline$
+  "\item[1 1, 1 1] " field #1 #1 substring$ #1 #1 substring$ * write$ newline$
+  "\item[2 1, 1 1] " field #2 #1 substring$ #1 #1 substring$ * write$ newline$
+  "\item[3 1, 1 1] " field #3 #1 substring$ #1 #1 substring$ * write$ newline$
+  "\item[4 1, 1 1] " field #4 #1 substring$ #1 #1 substring$ * write$ newline$
+  "\item[5 1, 1 1] " field #5 #1 substring$ #1 #1 substring$ * write$ newline$
 }
 
 FUNCTION {type} {output_entry}

Modified: trunk/Build/source/texk/web2c/uptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/ChangeLog	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/web2c/uptexdir/ChangeLog	2023-04-10 13:17:12 UTC (rev 66818)
@@ -1,3 +1,9 @@
+2023-04-10  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
+
+	* upbibtex.ch: Fix bug of substring$
+	from Yukimasa Morimi san:
+	https://github.com/texjporg/tex-jp-build/issues/157
+
 2023-03-29  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
 
 	* wcfname.test:

Modified: trunk/Build/source/texk/web2c/uptexdir/upbibtex.ch
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/upbibtex.ch	2023-04-09 23:48:33 UTC (rev 66817)
+++ trunk/Build/source/texk/web2c/uptexdir/upbibtex.ch	2023-04-10 13:17:12 UTC (rev 66818)
@@ -743,6 +743,23 @@
 pop_lit2_saved := pop_lit2; {save before negate}
 @z
 
+ at x 2023-04-08 texjporg/tex-jp-build#157
+        str_start[pop_lit3+1] := sp_end;
+ at y
+        { |2..4| bytes Kanji code break check }
+        tpe:=str_start[pop_lit3];
+        mbl_tpe:=0;
+        while tpe < str_start[pop_lit3+1] do begin
+          mbl_tpe := multibytelen(str_pool[tpe]);
+            if mbl_tpe<0 {just in case}
+                or (str_start[pop_lit3+1] < tpe+mbl_tpe) then
+                break;
+            tpe := tpe + mbl_tpe;
+            if sp_end<=tpe then break;
+        end;
+        str_start[pop_lit3+1] := tpe;
+ at z
+
 @x Changes for JBibTeX by Shouichi Matsui [438] + fix (2022-02-20 j0.34)
 str_room(sp_end - sp_ptr);
 while (sp_ptr < sp_end) do                      {shift the substring}



More information about the tex-live-commits mailing list.