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.