texlive[59699] Build/source/texk/web2c: ptex: no re-eval of kcatcode
commits+hironobu at tug.org
commits+hironobu at tug.org
Fri Jun 25 11:14:15 CEST 2021
Revision: 59699
http://tug.org/svn/texlive?view=revision&revision=59699
Author: hironobu
Date: 2021-06-25 11:14:15 +0200 (Fri, 25 Jun 2021)
Log Message:
-----------
ptex: no re-eval of kcatcode for \ifcat
Modified Paths:
--------------
trunk/Build/source/texk/web2c/ptexdir/ChangeLog
trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch
trunk/Build/source/texk/web2c/uptexdir/ChangeLog
trunk/Build/source/texk/web2c/uptexdir/tests/test_if.tex
trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch
Modified: trunk/Build/source/texk/web2c/ptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/ChangeLog 2021-06-25 09:02:22 UTC (rev 59698)
+++ trunk/Build/source/texk/web2c/ptexdir/ChangeLog 2021-06-25 09:14:15 UTC (rev 59699)
@@ -6,6 +6,9 @@
* ptex-base.ch (line_break): consider when link(temp_head)=tail
and it is a disp_node.
https://github.com/texjporg/tex-jp-build/issues/123
+ * ptex-base.ch: Partially revert the commit on 2019-05-06;
+ no re-eval kcatcode of Japanese character token in \if and \ifcat.
+ This is because the behavior was inconsistent against \ifx.
2021-03-23 Karl Berry <karl at tug.org>
Modified: trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch 2021-06-25 09:02:22 UTC (rev 59698)
+++ trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch 2021-06-25 09:14:15 UTC (rev 59699)
@@ -2542,7 +2542,7 @@
end
@z
- at x [28.502] l.10138 - pTeX: ifx : Test character : KANJI character
+ at x [28.502] l.10138 - pTeX: if[cat] : Test character : KANJI character
if (cur_cmd>active_char)or(cur_chr>255) then {not a character}
begin m:=relax; n:=256;
end
@@ -2554,7 +2554,7 @@
end;
@y
if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
- begin n:=cur_chr; m:=kcat_code(kcatcodekey(n));
+ begin m:=cur_cmd; n:=cur_chr;
end
else if (cur_cmd>active_char)or(cur_chr>255) then
begin m:=relax; n:=max_cjk_val;
@@ -2563,8 +2563,8 @@
end;
get_x_token_or_active_char;
if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
- begin cur_cmd:=kcat_code(kcatcodekey(cur_chr));
- end
+ begin cur_cmd:=cur_cmd;
+ end {dummy}
else if (cur_cmd>active_char)or(cur_chr>255) then
begin cur_cmd:=relax; cur_chr:=max_cjk_val;
end;
Modified: trunk/Build/source/texk/web2c/uptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/ChangeLog 2021-06-25 09:02:22 UTC (rev 59698)
+++ trunk/Build/source/texk/web2c/uptexdir/ChangeLog 2021-06-25 09:14:15 UTC (rev 59699)
@@ -1,3 +1,8 @@
+2021-06-25 Hironobu Yamashita <h.y.acetaminophen at gmail.com>
+
+ * uptex—m.ch: Adapt to ptex-base.ch for no re-eval.
+ * tests/test_if.tex: Update.
+
2021-03-23 Karl Berry <karl at tug.org>
* TL'21.
Modified: trunk/Build/source/texk/web2c/uptexdir/tests/test_if.tex
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/tests/test_if.tex 2021-06-25 09:02:22 UTC (rev 59698)
+++ trunk/Build/source/texk/web2c/uptexdir/tests/test_if.tex 2021-06-25 09:14:15 UTC (rev 59699)
@@ -1,29 +1,56 @@
+%#!ptex
\kcatcode`あ=18
\def\xA{あ}\let\yA=あ
\kcatcode`あ=17
\def\xB{あ}\let\yB=あ
\kcatcode`あ=16
+\def\xC{あ}\let\yC=あ
-\message{\ifcat あ\xA Y\else N\fi}
-\message{\ifcat あ\yA Y\else N\fi}
-\message{\ifcat あ\xB Y\else N\fi}
-\message{\ifcat あ\yB Y\else N\fi}
+%% for pTeX
+% * x: macro -> re-eval kcatcode
+% * y: let -> copy kcatcode
+%% for upTeX
+% * x: macro -> reserved kcatcode
+% * y: let -> copy kcatcode
-\message{\if あ\xA Y\else N\fi}
-\message{\if あ\yA Y\else N\fi}
-\message{\if い\xA Y\else N\fi}
-\message{\if い\yA Y\else N\fi}
+\message{ifcat}
+\message{\ifcat あ\xA Y\else N\fi}% pY, uN
+\message{\ifcat あ\yA Y\else N\fi}% pN, uN
+\message{\ifcat あ\xB Y\else N\fi}% pY, uN
+\message{\ifcat あ\yB Y\else N\fi}% pN, uN
+\message{\ifcat あ\xC Y\else N\fi}% pY, uY
+\message{\ifcat あ\yC Y\else N\fi}% pY, uY
+\message{if}
+\message{\if あ\xA Y\else N\fi}% pY, uY
+\message{\if あ\yA Y\else N\fi}% pY, uY
+\message{\if あ\xB Y\else N\fi}% pY, uY
+\message{\if あ\yB Y\else N\fi}% pY, uY
+\message{\if あ\xC Y\else N\fi}% pY, uY
+\message{\if あ\yC Y\else N\fi}% pY, uY
+\message{\if い\xA Y\else N\fi}% pN, uN
+\message{\if い\yA Y\else N\fi}% pN, uN
+
+\message{ifx}
+\message{\ifx あ\xA Y\else N\fi}% pN, uN
+\message{\ifx あ\yA Y\else N\fi}% pN, uN
+\message{\ifx あ\xB Y\else N\fi}% pN, uN
+\message{\ifx あ\yB Y\else N\fi}% pN, uN
+\message{\ifx あ\xC Y\else N\fi}% pN, uN
+\message{\ifx あ\yC Y\else N\fi}% pY, uY
+\message{\ifx \xA\xB Y\else N\fi}% pY, uN
+\message{\ifx \xA\xC Y\else N\fi}% pY, uN
+\message{\ifx \yA\yB Y\else N\fi}% pN, uN
+\message{\ifx \yA\yC Y\else N\fi}% pN, uN
+
\ifx\ucs\undefined\else
\kcatcode"100=16
\message{upTeX}
\def\xA{Ā}% U+0100
\def\xB{ā}% U+0101
- \message{\if \xA\relax Y\else N\fi}
- \message{\if \xB\relax Y\else N\fi}
- \message{\ifcat\xA\relax Y\else N\fi}
- \message{\ifcat\xB\relax Y\else N\fi}
+ \message{\if \xA\relax Y\else N\fi}% uN
+ \message{\if \xB\relax Y\else N\fi}% uN
+ \message{\ifcat\xA\relax Y\else N\fi}% uN
+ \message{\ifcat\xB\relax Y\else N\fi}% uN
\fi
\end
-
-
Modified: trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch 2021-06-25 09:02:22 UTC (rev 59698)
+++ trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch 2021-06-25 09:14:15 UTC (rev 59699)
@@ -704,24 +704,16 @@
@x
if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
- begin n:=cur_chr; m:=kcat_code(kcatcodekey(n));
- end
@y
if (cur_cmd>=kanji)and(cur_cmd<=hangul) then
- begin m:=cur_cmd; n:=cur_chr;
- end
@z
@x
get_x_token_or_active_char;
if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then
- begin cur_cmd:=kcat_code(kcatcodekey(cur_chr));
- end
@y
get_x_token_or_active_char;
if (cur_cmd>=kanji)and(cur_cmd<=hangul) then
- begin cur_cmd:=cur_cmd;
- end {dummy}
@z
@x
More information about the tex-live-commits
mailing list.