summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-09-21 09:29:37 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-09-21 09:29:37 +0000
commit6a384570995c5b2a72fffe9b6c3401946c308105 (patch)
tree2654b4cf7bf2ac32b62b2dbb80d4b178a0277892
parent1e3265a683665d5fa75bccb1d534d3c248340094 (diff)
{,p}tex: Fix a bug in initialization of inhibit_xsp/kinsoku tables
git-svn-id: svn://tug.org/texlive/trunk@72333 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/Makefile.in31
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog10
-rw-r--r--Build/source/texk/web2c/ptexdir/am/ptex.am8
-rw-r--r--Build/source/texk/web2c/ptexdir/ptex-base.ch5
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/ptex-ctrlsym.test20
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chartoken.log41
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/p-lineenda.typ295
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptexlineendmode.tex10
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ucs-e.log3
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ucs-s.log3
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ucs.tex6
-rw-r--r--Build/source/texk/web2c/uptexdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/uptexdir/ptex-base.ch5
-rw-r--r--Build/source/texk/web2c/uptexdir/uptex-m.ch2
14 files changed, 422 insertions, 23 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 4900db0663f..f18c95b0a6e 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -3274,6 +3274,8 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
ptexdir/tests/endlinechar.tex ptexdir/tests/endline.log \
ptexdir/tests/control-symbol.tex ptexdir/tests/jctrlsym.log \
ptexdir/tests/p-endlinea.typ ptexdir/tests/p-jctrlsyma.typ \
+ ptexdir/tests/let_char_token.tex ptexdir/tests/chartoken.log \
+ ptexdir/tests/ptexlineendmode.tex ptexdir/tests/p-lineenda.typ \
ptexdir/tests/printkanji.tex ptexdir/tests/pknj-s.log \
ptexdir/tests/pknj-e.log ptexdir/tests/p-pknj-sa.typ \
ptexdir/tests/p-pknj-ea.typ ptexdir/tests/ucs.tex \
@@ -3619,20 +3621,21 @@ DISTCLEANFILES = CXXLD.sh tangle.c tangle.h tangle.p tangle-web2c \
ptests/xcmr10.pl ptests/xsample*.typ ptests/x*min10.* \
ptests/xchcode*.* ptests/xskipjfmp.* ptrip.diffs p-ctrlsym.log \
p-ctrlsym.out p-ctrlsym.tex p-endline*.* p-jctrlsym*.* \
- p-pknj-*.* p-ucs*.* $(nodist_uptex_SOURCES) uptex.web uptex.ch \
- uptex-web2c uptex.p uptex.pool uptex-tangle \
- $(upweb_programs:=.c) $(upweb_programs:=.h) \
- $(upweb_programs:=.p) $(upweb_programs:=-web2c) \
- $(upweb_programs:=.web) uptests/nissya_bib.* \
- uptests/xexampl.aux uptests/xexampl.bbl uptests/xexampl.blg \
- uptests/xenc*.* uptests/fn*.* uptests/memtest.bib \
- uptests/memtest?.* uptests/xstory.dvityp uptests/xpagenum.typ \
- uptests/x*ptex[345]*.typ uptests/xcmr10.tfm uptests/xcmr10.pl \
- uptests/xsample*.typ uptests/x*min10.* uptests/xchcode*.* \
- uptests/xtestnewu*.* uptests/xuparse.* uptests/yuparse.* \
- uptests/ygkhuge*.* uptests/ygk256*.* uptests/xskipjfmp.* \
- uptrip.diffs $(nodist_euptex_SOURCES) euptex.web euptex.ch \
- euptex-web2c euptex.p euptex.pool euptex-tangle euptrip.diffs \
+ p-chartoken.* p-lineend.* p-pknj-*.* p-ucs*.* \
+ $(nodist_uptex_SOURCES) uptex.web uptex.ch uptex-web2c uptex.p \
+ uptex.pool uptex-tangle $(upweb_programs:=.c) \
+ $(upweb_programs:=.h) $(upweb_programs:=.p) \
+ $(upweb_programs:=-web2c) $(upweb_programs:=.web) \
+ uptests/nissya_bib.* uptests/xexampl.aux uptests/xexampl.bbl \
+ uptests/xexampl.blg uptests/xenc*.* uptests/fn*.* \
+ uptests/memtest.bib uptests/memtest?.* uptests/xstory.dvityp \
+ uptests/xpagenum.typ uptests/x*ptex[345]*.typ \
+ uptests/xcmr10.tfm uptests/xcmr10.pl uptests/xsample*.typ \
+ uptests/x*min10.* uptests/xchcode*.* uptests/xtestnewu*.* \
+ uptests/xuparse.* uptests/yuparse.* uptests/ygkhuge*.* \
+ uptests/ygk256*.* uptests/xskipjfmp.* uptrip.diffs \
+ $(nodist_euptex_SOURCES) euptex.web euptex.ch euptex-web2c \
+ euptex.p euptex.pool euptex-tangle euptrip.diffs \
pdfprimitive-euptex.* eup-ctrlsym.fmt eup-ctrlsym.log \
eup-ctrlsym.out eup-ctrlsym.tex $(nodist_hitex_SOURCES) \
$(nodist_hishrink_SOURCES) $(nodist_histretch_SOURCES) \
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index afa4807a662..e73b4abebfa 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -1,3 +1,13 @@
+2024-09-21 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * ptex-base.ch:
+ Fix a bug in initialization of inhibit_xsp/kinsoku tables
+ (Bug introduced on commit 2022-12-12 r65248).
+ * ptex-ctrlsym.test, tests/{ptexlineendmode,ucs}.tex,
+ (chartoken,ucs-{e,s}}.log, p-lineenda.typ:
+ Add more regression tests.
+ * am/ptex.am: Adjust.
+
2024-09-16 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* ptex-base.ch: Use constants enc_jis and enc_ucs.
diff --git a/Build/source/texk/web2c/ptexdir/am/ptex.am b/Build/source/texk/web2c/ptexdir/am/ptex.am
index ce807ade2cd..caf30c2f986 100644
--- a/Build/source/texk/web2c/ptexdir/am/ptex.am
+++ b/Build/source/texk/web2c/ptexdir/am/ptex.am
@@ -177,10 +177,12 @@ DISTCLEANFILES += ptrip.diffs
EXTRA_DIST += ptexdir/tests/ctrlsym.tex ptexdir/tests/ctrlsym.log \
ptexdir/tests/endlinechar.tex ptexdir/tests/endline.log \
ptexdir/tests/control-symbol.tex ptexdir/tests/jctrlsym.log \
- ptexdir/tests/p-endlinea.typ ptexdir/tests/p-jctrlsyma.typ
+ ptexdir/tests/p-endlinea.typ ptexdir/tests/p-jctrlsyma.typ \
+ ptexdir/tests/let_char_token.tex ptexdir/tests/chartoken.log \
+ ptexdir/tests/ptexlineendmode.tex ptexdir/tests/p-lineenda.typ
DISTCLEANFILES += p-ctrlsym.log p-ctrlsym.out p-ctrlsym.tex \
- p-endline*.* p-jctrlsym*.*
-## ptexdir/ptex-prntknj.test
+ p-endline*.* p-jctrlsym*.* p-chartoken.* p-lineend.*
+## ptex-prntknj.test
EXTRA_DIST += ptexdir/tests/printkanji.tex \
ptexdir/tests/pknj-s.log ptexdir/tests/pknj-e.log \
ptexdir/tests/p-pknj-sa.typ ptexdir/tests/p-pknj-ea.typ
diff --git a/Build/source/texk/web2c/ptexdir/ptex-base.ch b/Build/source/texk/web2c/ptexdir/ptex-base.ch
index 528a7b7ae23..5e20ff889cc 100644
--- a/Build/source/texk/web2c/ptexdir/ptex-base.ch
+++ b/Build/source/texk/web2c/ptexdir/ptex-base.ch
@@ -1305,10 +1305,11 @@ for k:=0 to 255 do
begin cat_code(k):=other_char; kcat_code(k):=other_kchar;
math_code(k):=hi(k); sf_code(k):=1000;
auto_xsp_code(k):=0;
+ inhibit_xsp_type(k):=0; kinsoku_type(k):=0;
end;
for k:=0 to 1023 do
- begin inhibit_xsp_code(k):=0; inhibit_xsp_type(k):=0;
- kinsoku_code(k):=0; kinsoku_type(k):=0;
+ begin inhibit_xsp_code(k):=0;
+ kinsoku_code(k):=0;
end;
@z
@x [17.232] l.4971 - pTeX: initialize cat_code, cur_jfont, cur_tfont
diff --git a/Build/source/texk/web2c/ptexdir/ptex-ctrlsym.test b/Build/source/texk/web2c/ptexdir/ptex-ctrlsym.test
index 0b84032af6d..ee0c5b88e8a 100755
--- a/Build/source/texk/web2c/ptexdir/ptex-ctrlsym.test
+++ b/Build/source/texk/web2c/ptexdir/ptex-ctrlsym.test
@@ -14,7 +14,7 @@ TEXINPUTS=".;$srcdir/tests"; export TEXINPUTS
TEXFONTS=".;$srcdir//tests"; export TEXFONTS
TEXFORMATS=.; export TEXFORMATS
-rm -f p-ctrlsym.tex p-endline*.* p-jctrlsym*.*
+rm -f p-ctrlsym.tex p-endline*.* p-jctrlsym*.* p-chartoken.* p-lineend.*
if test ! -f ./p-basic.tex; then
cp $srcdir/tests/dump-basic.tex ./p-basic.tex
@@ -57,3 +57,21 @@ $_updvitype ./p-jctrlsym.dvi >ptests/xp-jctrlsym.typ
sed "1d;s/TeX output 20[23].\...\...:.*'/TeX output 20XX.XX.XX'/" ptests/xp-jctrlsym.typ >ptests/xp-jctrlsyma.typ
diff $srcdir/ptexdir/tests/p-jctrlsyma.typ ptests/xp-jctrlsyma.typ || exit 7
+
+# let_char_token.tex
+$LN_S $srcdir/ptexdir/tests/let_char_token.tex ./p-chartoken.tex
+$_ptex -fmt=p-basic-euc -interaction=batchmode p-chartoken.tex || :
+
+sed 1d p-chartoken.log >p-chartoken.out
+
+diff $srcdir/ptexdir/tests/chartoken.log p-chartoken.out || exit 8
+
+
+# ptexlineendmode.tex
+$LN_S $srcdir/ptexdir/tests/ptexlineendmode.tex ./p-lineend.tex
+$_ptex -fmt=p-basic-euc -kanji=utf8 -interaction=batchmode p-lineend.tex || :
+
+$_updvitype -kanji=utf8 ./p-lineend.dvi >ptests/xp-lineend.typ
+sed "1d;s/TeX output 20[23].\...\...:.*'/TeX output 20XX.XX.XX'/" ptests/xp-lineend.typ >ptests/xp-lineenda.typ
+diff $srcdir/ptexdir/tests/p-lineenda.typ ptests/xp-lineenda.typ || exit 9
+
diff --git a/Build/source/texk/web2c/ptexdir/tests/chartoken.log b/Build/source/texk/web2c/ptexdir/tests/chartoken.log
new file mode 100644
index 00000000000..e834c9cf8a3
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chartoken.log
@@ -0,0 +1,41 @@
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**p-chartoken.tex
+(./p-chartoken.tex
+\x=\count26
+
+! Improper alphabetic or KANJI constant.
+<to be read again>
+ \aaa
+\T #1->\x =`#1
+ \message {\the \x }
+l.6 \def\aaa{西}\T{\aaa}
+ % err
+A one-character control sequence belongs after a ` mark.
+So I'm essentially inserting \0 here.
+
+48
+! Improper alphabetic or KANJI constant.
+<to be read again>
+ \AAA
+\T #1->\x =`#1
+ \message {\the \x }
+l.7 \def\AAA{s}\T{\AAA}
+ % err
+A one-character control sequence belongs after a ` mark.
+So I'm essentially inserting \0 here.
+
+Missing character: There is no s in font nullfont!
+48
+! Improper alphabetic or KANJI constant.
+<to be read again>
+ \ccc
+\T #1->\x =`#1
+ \message {\the \x }
+l.8 \let\ccc=西\relax\T{\ccc}
+ % err
+A one-character control sequence belongs after a ` mark.
+So I'm essentially inserting \0 here.
+
+48 126 97 46273 46273 [1] )
+Output written on p-chartoken.dvi (1 page, 152 bytes).
diff --git a/Build/source/texk/web2c/ptexdir/tests/p-lineenda.typ b/Build/source/texk/web2c/ptexdir/tests/p-lineenda.typ
new file mode 100644
index 00000000000..368a57272ae
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/p-lineenda.typ
@@ -0,0 +1,295 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 20XX.XX.XX'
+Postamble starts at byte 635.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 1: min10 (JFM)---loaded at size 655360 DVI units
+Font 0: ec-lmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-58
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=2670
+98: push
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+99: down4 -41497562 v:=42152922-41497562=655360, vv:=42
+104: push
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+105: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+109: fntdef1 0: ec-lmr10
+133: fntnum0 current font is ec-lmr10
+134: setchar48 ("30) h:=1310720+327680=1638400, hh:=104
+[0]
+135: fntdef1 1: min10
+156: fntnum1 current font is min10
+157: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+160: set2 8737("2221) type=0 h:=2268998+630598=2899596, hh:=184
+163: set2 8574("217E) type=0 h:=2899596+630598=3530194, hh:=224
+166: set2 9250("2422) type=0 h:=3530194+630598=4160792, hh:=264
+169: set2 8574("217E) type=0 h:=4160792+630598=4791390, hh:=304
+172: set2 9252("2424) type=0 h:=4791390+630598=5421988, hh:=344
+175: set2 8737("2221) type=0 h:=5421988+630598=6052586, hh:=384
+178: set2 8574("217E) type=0 h:=6052586+630598=6683184, hh:=424
+181: set2 8737("2221) type=0 h:=6683184+630598=7313782, hh:=464
+184: set2 8574("217E) type=0 h:=7313782+630598=7944380, hh:=504
+187: set2 13377("3441) type=0 h:=7944380+630598=8574978, hh:=544
+190: set2 15226("3B7A) type=0 h:=8574978+630598=9205576, hh:=584
+[◆◆◇あ◇い◆◇◆◇漢字]
+193: fntnum0 current font is ec-lmr10
+194: setchar83 ("53) h:=9205576+364085=9569661, hh:=607
+195: setchar97 ("61) h:=9569661+327680=9897341, hh:=628
+196: right3 655360 h:=9897341+655360=10552701, hh:=668
+200: setchar112 ("70) h:=10552701+364085=10916786, hh:=691
+201: setchar52 ("34) h:=10916786+327680=11244466, hh:=712
+202: setchar46 ("2E) h:=11244466+182043=11426509, hh:=724
+203: setchar48 ("30) h:=11426509+327680=11754189, hh:=745
+204: setchar46 ("2E) h:=11754189+182043=11936232, hh:=757
+205: setchar48 ("30) h:=11936232+327680=12263912, hh:=778
+[Sa p4.0.0]
+206: fntnum1 current font is min10
+207: set2 12362("304A) type=0 h:=12263912+630598=12894510, hh:=818
+210: set2 14687("395F) type=0 h:=12894510+630598=13525108, hh:=858
+[以降]
+213: pop
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+214: y3 786432 v:=655360+786432=1441792, vv:=91
+218: push
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+219: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+223: fntnum0 current font is ec-lmr10
+224: setchar49 ("31) h:=1310720+327680=1638400, hh:=104
+[1]
+225: fntnum1 current font is min10
+226: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+229: set2 8737("2221) type=0 h:=2268998+630598=2899596, hh:=184
+232: set2 8574("217E) type=0 h:=2899596+630598=3530194, hh:=224
+235: set2 9250("2422) type=0 h:=3530194+630598=4160792, hh:=264
+238: set2 8574("217E) type=0 h:=4160792+630598=4791390, hh:=304
+241: set2 9252("2424) type=0 h:=4791390+630598=5421988, hh:=344
+244: set2 8737("2221) type=0 h:=5421988+630598=6052586, hh:=384
+247: set2 8574("217E) type=0 h:=6052586+630598=6683184, hh:=424
+250: right3 218453 h:=6683184+218453=6901637, hh:=437
+254: set2 8737("2221) type=0 h:=6901637+630598=7532235, hh:=477
+257: set2 8574("217E) type=0 h:=7532235+630598=8162833, hh:=517
+260: set2 13377("3441) type=0 h:=8162833+630598=8793431, hh:=557
+263: set2 15226("3B7A) type=0 h:=8793431+630598=9424029, hh:=597
+[◆◆◇あ◇い◆◇ ◆◇漢字]
+266: fntnum0 current font is ec-lmr10
+267: setchar83 ("53) h:=9424029+364085=9788114, hh:=620
+268: setchar97 ("61) h:=9788114+327680=10115794, hh:=641
+269: right3 655360 h:=10115794+655360=10771154, hh:=682
+273: setchar112 ("70) h:=10771154+364085=11135239, hh:=705
+274: setchar51 ("33) h:=11135239+327680=11462919, hh:=726
+275: setchar46 ("2E) h:=11462919+182043=11644962, hh:=738
+276: setchar56 ("38) h:=11644962+327680=11972642, hh:=759
+277: setchar46 ("2E) h:=11972642+182043=12154685, hh:=771
+278: setchar50 ("32) h:=12154685+327680=12482365, hh:=792
+[Sa p3.8.2]
+279: fntnum1 current font is min10
+280: set2 12362("304A) type=0 h:=12482365+630598=13112963, hh:=832
+283: set2 14687("395F) type=0 h:=13112963+630598=13743561, hh:=872
+[以降]
+286: pop
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+287: y0 786432 v:=1441792+786432=2228224, vv:=141
+288: push
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+289: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+293: fntnum0 current font is ec-lmr10
+294: setchar50 ("32) h:=1310720+327680=1638400, hh:=104
+[2]
+295: fntnum1 current font is min10
+296: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+299: set2 8737("2221) type=0 h:=2268998+630598=2899596, hh:=184
+302: set2 8574("217E) type=0 h:=2899596+630598=3530194, hh:=224
+305: w3 218453 h:=3530194+218453=3748647, hh:=237
+309: set2 9250("2422) type=0 h:=3748647+630598=4379245, hh:=277
+312: set2 8574("217E) type=0 h:=4379245+630598=5009843, hh:=317
+315: w0 218453 h:=5009843+218453=5228296, hh:=331
+316: set2 9252("2424) type=0 h:=5228296+630598=5858894, hh:=371
+319: set2 8737("2221) type=0 h:=5858894+630598=6489492, hh:=411
+322: set2 8574("217E) type=0 h:=6489492+630598=7120090, hh:=451
+325: set2 8737("2221) type=0 h:=7120090+630598=7750688, hh:=491
+328: set2 8574("217E) type=0 h:=7750688+630598=8381286, hh:=531
+331: set2 13377("3441) type=0 h:=8381286+630598=9011884, hh:=571
+334: set2 15226("3B7A) type=0 h:=9011884+630598=9642482, hh:=611
+[◆◆◇ あ◇ い◆◇◆◇漢字]
+337: fntnum0 current font is ec-lmr10
+338: setchar83 ("53) h:=9642482+364085=10006567, hh:=634
+339: setchar97 ("61) h:=10006567+327680=10334247, hh:=655
+[Sa]
+340: pop
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+341: y0 786432 v:=2228224+786432=3014656, vv:=191
+342: push
+level 1:(h=0,v=3014656,w=0,x=0,y=786432,z=0,hh=0,vv=191)
+343: right3 1310720 h:=0+1310720=1310720, hh:=83
+347: setchar51 ("33) h:=1310720+327680=1638400, hh:=104
+[ 3]
+348: fntnum1 current font is min10
+349: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+352: set2 8737("2221) type=0 h:=2268998+630598=2899596, hh:=184
+355: set2 8574("217E) type=0 h:=2899596+630598=3530194, hh:=224
+358: w3 218453 h:=3530194+218453=3748647, hh:=237
+362: set2 9250("2422) type=0 h:=3748647+630598=4379245, hh:=277
+365: set2 8574("217E) type=0 h:=4379245+630598=5009843, hh:=317
+368: w0 218453 h:=5009843+218453=5228296, hh:=331
+369: set2 9252("2424) type=0 h:=5228296+630598=5858894, hh:=371
+372: set2 8737("2221) type=0 h:=5858894+630598=6489492, hh:=411
+375: set2 8574("217E) type=0 h:=6489492+630598=7120090, hh:=451
+378: w0 218453 h:=7120090+218453=7338543, hh:=465
+379: set2 8737("2221) type=0 h:=7338543+630598=7969141, hh:=505
+382: set2 8574("217E) type=0 h:=7969141+630598=8599739, hh:=545
+385: set2 13377("3441) type=0 h:=8599739+630598=9230337, hh:=585
+388: set2 15226("3B7A) type=0 h:=9230337+630598=9860935, hh:=625
+[◆◆◇ あ◇ い◆◇ ◆◇漢字]
+391: fntnum0 current font is ec-lmr10
+392: setchar83 ("53) h:=9860935+364085=10225020, hh:=648
+393: setchar97 ("61) h:=10225020+327680=10552700, hh:=669
+394: right3 655360 h:=10552700+655360=11208060, hh:=710
+398: setchar112 ("70) h:=11208060+364085=11572145, hh:=733
+399: setchar51 ("33) h:=11572145+327680=11899825, hh:=754
+400: setchar46 ("2E) h:=11899825+182043=12081868, hh:=766
+401: setchar56 ("38) h:=12081868+327680=12409548, hh:=787
+402: setchar46 ("2E) h:=12409548+182043=12591591, hh:=799
+403: setchar49 ("31) h:=12591591+327680=12919271, hh:=820
+[Sa p3.8.1]
+404: fntnum1 current font is min10
+405: set2 12362("304A) type=0 h:=12919271+630598=13549869, hh:=860
+408: set2 16688("4130) type=0 h:=13549869+630598=14180467, hh:=900
+[以前]
+411: pop
+level 1:(h=0,v=3014656,w=0,x=0,y=786432,z=0,hh=0,vv=191)
+412: y0 786432 v:=3014656+786432=3801088, vv:=241
+413: push
+level 1:(h=0,v=3801088,w=0,x=0,y=786432,z=0,hh=0,vv=241)
+414: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+418: fntnum0 current font is ec-lmr10
+419: setchar52 ("34) h:=1310720+327680=1638400, hh:=104
+[4]
+420: fntnum1 current font is min10
+421: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+424: w3 218453 h:=2268998+218453=2487451, hh:=158
+428: set2 8737("2221) type=0 h:=2487451+630598=3118049, hh:=198
+431: set2 8574("217E) type=0 h:=3118049+630598=3748647, hh:=238
+434: set2 9250("2422) type=0 h:=3748647+630598=4379245, hh:=278
+437: set2 8574("217E) type=0 h:=4379245+630598=5009843, hh:=318
+440: w0 218453 h:=5009843+218453=5228296, hh:=331
+441: set2 9252("2424) type=0 h:=5228296+630598=5858894, hh:=371
+444: set2 8737("2221) type=0 h:=5858894+630598=6489492, hh:=411
+447: set2 8574("217E) type=0 h:=6489492+630598=7120090, hh:=451
+450: set2 8737("2221) type=0 h:=7120090+630598=7750688, hh:=491
+453: set2 8574("217E) type=0 h:=7750688+630598=8381286, hh:=531
+456: set2 13377("3441) type=0 h:=8381286+630598=9011884, hh:=571
+459: set2 15226("3B7A) type=0 h:=9011884+630598=9642482, hh:=611
+[◆ ◆◇あ◇ い◆◇◆◇漢字]
+462: fntnum0 current font is ec-lmr10
+463: setchar83 ("53) h:=9642482+364085=10006567, hh:=634
+464: setchar97 ("61) h:=10006567+327680=10334247, hh:=655
+[Sa]
+465: pop
+level 1:(h=0,v=3801088,w=0,x=0,y=786432,z=0,hh=0,vv=241)
+466: y0 786432 v:=3801088+786432=4587520, vv:=291
+467: push
+level 1:(h=0,v=4587520,w=0,x=0,y=786432,z=0,hh=0,vv=291)
+468: right3 1310720 h:=0+1310720=1310720, hh:=83
+472: setchar53 ("35) h:=1310720+327680=1638400, hh:=104
+[ 5]
+473: fntnum1 current font is min10
+474: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+477: w3 218453 h:=2268998+218453=2487451, hh:=158
+481: set2 8737("2221) type=0 h:=2487451+630598=3118049, hh:=198
+484: set2 8574("217E) type=0 h:=3118049+630598=3748647, hh:=238
+487: set2 9250("2422) type=0 h:=3748647+630598=4379245, hh:=278
+490: set2 8574("217E) type=0 h:=4379245+630598=5009843, hh:=318
+493: w0 218453 h:=5009843+218453=5228296, hh:=331
+494: set2 9252("2424) type=0 h:=5228296+630598=5858894, hh:=371
+497: set2 8737("2221) type=0 h:=5858894+630598=6489492, hh:=411
+500: set2 8574("217E) type=0 h:=6489492+630598=7120090, hh:=451
+503: w0 218453 h:=7120090+218453=7338543, hh:=465
+504: set2 8737("2221) type=0 h:=7338543+630598=7969141, hh:=505
+507: set2 8574("217E) type=0 h:=7969141+630598=8599739, hh:=545
+510: set2 13377("3441) type=0 h:=8599739+630598=9230337, hh:=585
+513: set2 15226("3B7A) type=0 h:=9230337+630598=9860935, hh:=625
+[◆ ◆◇あ◇ い◆◇ ◆◇漢字]
+516: fntnum0 current font is ec-lmr10
+517: setchar83 ("53) h:=9860935+364085=10225020, hh:=648
+518: setchar97 ("61) h:=10225020+327680=10552700, hh:=669
+[Sa]
+519: pop
+level 1:(h=0,v=4587520,w=0,x=0,y=786432,z=0,hh=0,vv=291)
+520: y0 786432 v:=4587520+786432=5373952, vv:=340
+521: push
+level 1:(h=0,v=5373952,w=0,x=0,y=786432,z=0,hh=0,vv=340)
+522: right3 1310720 h:=0+1310720=1310720, hh:=83
+526: setchar54 ("36) h:=1310720+327680=1638400, hh:=104
+[ 6]
+527: fntnum1 current font is min10
+528: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+531: w3 218453 h:=2268998+218453=2487451, hh:=158
+535: set2 8737("2221) type=0 h:=2487451+630598=3118049, hh:=198
+538: set2 8574("217E) type=0 h:=3118049+630598=3748647, hh:=238
+541: w0 218453 h:=3748647+218453=3967100, hh:=251
+542: set2 9250("2422) type=0 h:=3967100+630598=4597698, hh:=291
+545: set2 8574("217E) type=0 h:=4597698+630598=5228296, hh:=331
+548: w0 218453 h:=5228296+218453=5446749, hh:=345
+549: set2 9252("2424) type=0 h:=5446749+630598=6077347, hh:=385
+552: set2 8737("2221) type=0 h:=6077347+630598=6707945, hh:=425
+555: set2 8574("217E) type=0 h:=6707945+630598=7338543, hh:=465
+558: set2 8737("2221) type=0 h:=7338543+630598=7969141, hh:=505
+561: set2 8574("217E) type=0 h:=7969141+630598=8599739, hh:=545
+564: set2 13377("3441) type=0 h:=8599739+630598=9230337, hh:=585
+567: set2 15226("3B7A) type=0 h:=9230337+630598=9860935, hh:=625
+[◆ ◆◇ あ◇ い◆◇◆◇漢字]
+570: fntnum0 current font is ec-lmr10
+571: setchar83 ("53) h:=9860935+364085=10225020, hh:=648
+572: setchar97 ("61) h:=10225020+327680=10552700, hh:=669
+[Sa]
+573: pop
+level 1:(h=0,v=5373952,w=0,x=0,y=786432,z=0,hh=0,vv=340)
+574: y0 786432 v:=5373952+786432=6160384, vv:=390
+575: push
+level 1:(h=0,v=6160384,w=0,x=0,y=786432,z=0,hh=0,vv=390)
+576: right3 1310720 h:=0+1310720=1310720, hh:=83
+580: setchar55 ("37) h:=1310720+327680=1638400, hh:=104
+[ 7]
+581: fntnum1 current font is min10
+582: set2 8737("2221) type=0 h:=1638400+630598=2268998, hh:=144
+585: w3 218453 h:=2268998+218453=2487451, hh:=158
+589: set2 8737("2221) type=0 h:=2487451+630598=3118049, hh:=198
+592: set2 8574("217E) type=0 h:=3118049+630598=3748647, hh:=238
+595: w0 218453 h:=3748647+218453=3967100, hh:=251
+596: set2 9250("2422) type=0 h:=3967100+630598=4597698, hh:=291
+599: set2 8574("217E) type=0 h:=4597698+630598=5228296, hh:=331
+602: w0 218453 h:=5228296+218453=5446749, hh:=345
+603: set2 9252("2424) type=0 h:=5446749+630598=6077347, hh:=385
+606: set2 8737("2221) type=0 h:=6077347+630598=6707945, hh:=425
+609: set2 8574("217E) type=0 h:=6707945+630598=7338543, hh:=465
+612: w0 218453 h:=7338543+218453=7556996, hh:=479
+613: set2 8737("2221) type=0 h:=7556996+630598=8187594, hh:=519
+616: set2 8574("217E) type=0 h:=8187594+630598=8818192, hh:=559
+619: set2 13377("3441) type=0 h:=8818192+630598=9448790, hh:=599
+622: set2 15226("3B7A) type=0 h:=9448790+630598=10079388, hh:=639
+[◆ ◆◇ あ◇ い◆◇ ◆◇漢字]
+625: fntnum0 current font is ec-lmr10
+626: setchar83 ("53) h:=10079388+364085=10443473, hh:=662
+627: setchar97 ("61) h:=10443473+327680=10771153, hh:=683
+[Sa]
+628: pop
+level 1:(h=0,v=6160384,w=0,x=0,y=786432,z=0,hh=0,vv=390)
+629: pop
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+630: down3 1572864 v:=42152922+1572864=43725786, vv:=2770
+634: eop
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptexlineendmode.tex b/Build/source/texk/web2c/ptexdir/tests/ptexlineendmode.tex
index 5dce40d2e12..cf38ff5e8d6 100644
--- a/Build/source/texk/web2c/ptexdir/tests/ptexlineendmode.tex
+++ b/Build/source/texk/web2c/ptexdir/tests/ptexlineendmode.tex
@@ -1,4 +1,12 @@
-\font\fn=ec-lmr10\fn\catcode`\^^9f=11
+\font\fn=ec-lmr10\fn
+\ifx\kanjiskip\undefined\else
+ \ifnum\jis"2121="3000
+ \jfont\jpy=umin10 at 10pt\jpy
+ \else
+ \jfont\jpy=min10 at 10pt\jpy
+ \fi
+\fi
+\catcode`\^^9f=11
\def\◆{◇}\def\漢{◇}\def\^^9f{S}
\ptexlineendmode=0 % p4.0.0標準
diff --git a/Build/source/texk/web2c/ptexdir/tests/ucs-e.log b/Build/source/texk/web2c/ptexdir/tests/ucs-e.log
index 2e34c2ee9b8..33428e2db9e 100644
--- a/Build/source/texk/web2c/ptexdir/tests/ucs-e.log
+++ b/Build/source/texk/web2c/ptexdir/tests/ucs-e.log
@@ -21,5 +21,8 @@
-1, -1, -1, -1, -1
-1, 34821, 34722
12354, 29081, -1
+41393, 41405, 41409, 41410, 41412, 41437, 41455, 41457, 41458, 41676
+41393, 41405, 41409, 41410, 41412, 41437, 41455, 41457, 41458, 41676
+41393, 41405, 41409, 41410, 41412, 41437, 41455, 41457, 41458, 41676
)
No pages of output.
diff --git a/Build/source/texk/web2c/ptexdir/tests/ucs-s.log b/Build/source/texk/web2c/ptexdir/tests/ucs-s.log
index 6ca6314c440..576b027e823 100644
--- a/Build/source/texk/web2c/ptexdir/tests/ucs-s.log
+++ b/Build/source/texk/web2c/ptexdir/tests/ucs-s.log
@@ -21,5 +21,8 @@
-1, -1, -1, -1, -1
12450, 29081, -1
-1, -1, -1
+33104, 33116, 33120, 33121, 33123, 33148, 33167, 33169, 33170, 33226
+33104, 33116, 33120, 33121, 33123, 33148, 33167, 33169, 33170, 33226
+33104, 33116, 33120, 33121, 33123, 33148, 33167, 33169, 33170, 33226
)
No pages of output.
diff --git a/Build/source/texk/web2c/ptexdir/tests/ucs.tex b/Build/source/texk/web2c/ptexdir/tests/ucs.tex
index f4976ad7045..520a7485d57 100644
--- a/Build/source/texk/web2c/ptexdir/tests/ucs.tex
+++ b/Build/source/texk/web2c/ptexdir/tests/ucs.tex
@@ -24,6 +24,12 @@
\typeout{\toucs"0, \toucs"80, \toucs"D7, \toucs"A7, \toucs"10000}
\typeout{\toucs"8341, \toucs"EAA4, \toucs"EAA5}
\typeout{\toucs"A4A2, \toucs"F4A6, \toucs"F4A7}
+\typeout{\jis"2131, \jis"213D, \jis"2141, \jis"2142, \jis"2144,
+ \jis"215D, \jis"216F, \jis"2171, \jis"2172, \jis"224C}
+\typeout{\ucs"203E, \ucs"2014, \ucs"301C, \ucs"2016, \ucs"2026,
+ \ucs"2212, \ucs"00A5, \ucs"00A2, \ucs"00A3, \ucs"00AC}
+\typeout{\ucs"FFE3, \ucs"2015, \ucs"FF5E, \ucs"2225, \ucs"22EF,
+ \ucs"FF0D, \ucs"FFE5, \ucs"FFE0, \ucs"FFE1, \ucs"FFE2}
\bye
diff --git a/Build/source/texk/web2c/uptexdir/ChangeLog b/Build/source/texk/web2c/uptexdir/ChangeLog
index 961ecff4390..010daf21ba0 100644
--- a/Build/source/texk/web2c/uptexdir/ChangeLog
+++ b/Build/source/texk/web2c/uptexdir/ChangeLog
@@ -1,3 +1,9 @@
+2024-09-21 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * ptex-base.ch, uptex-m.ch:
+ Fix a bug in initialization of inhibit_xsp/kinsoku tables
+ (Bug introduced on commit 2022-12-12 r65248).
+
2024-09-16 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* ptex-base.ch: Use constants enc_jis and enc_ucs.
diff --git a/Build/source/texk/web2c/uptexdir/ptex-base.ch b/Build/source/texk/web2c/uptexdir/ptex-base.ch
index 528a7b7ae23..5e20ff889cc 100644
--- a/Build/source/texk/web2c/uptexdir/ptex-base.ch
+++ b/Build/source/texk/web2c/uptexdir/ptex-base.ch
@@ -1305,10 +1305,11 @@ for k:=0 to 255 do
begin cat_code(k):=other_char; kcat_code(k):=other_kchar;
math_code(k):=hi(k); sf_code(k):=1000;
auto_xsp_code(k):=0;
+ inhibit_xsp_type(k):=0; kinsoku_type(k):=0;
end;
for k:=0 to 1023 do
- begin inhibit_xsp_code(k):=0; inhibit_xsp_type(k):=0;
- kinsoku_code(k):=0; kinsoku_type(k):=0;
+ begin inhibit_xsp_code(k):=0;
+ kinsoku_code(k):=0;
end;
@z
@x [17.232] l.4971 - pTeX: initialize cat_code, cur_jfont, cur_tfont
diff --git a/Build/source/texk/web2c/uptexdir/uptex-m.ch b/Build/source/texk/web2c/uptexdir/uptex-m.ch
index f4b7c7272d9..0a79a0d7fff 100644
--- a/Build/source/texk/web2c/uptexdir/uptex-m.ch
+++ b/Build/source/texk/web2c/uptexdir/uptex-m.ch
@@ -239,6 +239,7 @@ for k:=0 to 255 do
begin cat_code(k):=other_char; kcat_code(k):=other_kchar;
math_code(k):=hi(k); sf_code(k):=1000;
auto_xsp_code(k):=0;
+ inhibit_xsp_type(k):=0; kinsoku_type(k):=0;
end;
@y
eqtb[auto_xspacing_code]:=eqtb[cat_code_base];
@@ -247,6 +248,7 @@ for k:=0 to 255 do
begin cat_code(k):=other_char;
math_code(k):=hi(k); sf_code(k):=1000;
auto_xsp_code(k):=0;
+ inhibit_xsp_type(k):=0; kinsoku_type(k):=0;
end;
for k:=0 to 511 do
begin kcat_code(k):=other_kchar;