texlive[64494] Build/source/texk: ptexenc: skip guessing file
commits+takuji at tug.org
commits+takuji at tug.org
Sat Sep 24 04:01:36 CEST 2022
Revision: 64494
http://tug.org/svn/texlive?view=revision&revision=64494
Author: takuji
Date: 2022-09-24 04:01:36 +0200 (Sat, 24 Sep 2022)
Log Message:
-----------
ptexenc: skip guessing file encoding if from pipe
Modified Paths:
--------------
trunk/Build/source/texk/mendexk/ChangeLog
trunk/Build/source/texk/mendexk/Makefile.am
trunk/Build/source/texk/mendexk/Makefile.in
trunk/Build/source/texk/mendexk/tests/mendex.test
trunk/Build/source/texk/ptexenc/ChangeLog
trunk/Build/source/texk/ptexenc/ptexenc.c
Added Paths:
-----------
trunk/Build/source/texk/mendexk/tests/enc-e.idx
trunk/Build/source/texk/mendexk/tests/enc-j.idx
trunk/Build/source/texk/mendexk/tests/enc-s.idx
trunk/Build/source/texk/mendexk/tests/enc-u.idx
trunk/Build/source/texk/mendexk/tests/enc-x.ind
trunk/Build/source/texk/mendexk/tests/enc.dic
trunk/Build/source/texk/mendexk/tests/jis.ist
Modified: trunk/Build/source/texk/mendexk/ChangeLog
===================================================================
--- trunk/Build/source/texk/mendexk/ChangeLog 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/mendexk/ChangeLog 2022-09-24 02:01:36 UTC (rev 64494)
@@ -1,3 +1,9 @@
+2022-09-24 TANAKA Takuji <ttk at t-lab.opal.ne.jp>
+
+ * tests/mendex.test, tests/enc-{e,j,s,u}.idx, tests/enc.dic,
+ tests/jis.ist, tests/enc-x.ind, Makefile.am:
+ Add tests for guessing file encodings.
+
2022-09-01 Hironori Kitagawa <h_kitagawa2001 at yahoo.co.jp>
* main.c:
Modified: trunk/Build/source/texk/mendexk/Makefile.am
===================================================================
--- trunk/Build/source/texk/mendexk/Makefile.am 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/mendexk/Makefile.am 2022-09-24 02:01:36 UTC (rev 64494)
@@ -59,7 +59,7 @@
EXTRA_DIST += tests/foo.idx tests/foo.ind \
tests/uni.idx tests/uni.dict tests/uni.ist \
tests/uni1.ist tests/uni2.ist tests/uni.ind \
- tests/sjis.ist tests/euc.ist \
+ tests/sjis.ist tests/euc.ist tests/jis.ist \
tests/range.idx tests/range2.ist tests/range2.ist tests/range3.ist \
tests/range1.ind tests/range2.ind tests/range3.ind \
tests/pprec0.ist tests/pprec1.ist tests/pprec2.ist tests/pprec3.ist \
@@ -69,6 +69,8 @@
tests/romalpA.idx tests/romalpA-5.ind tests/romalpA-6.ind \
tests/romalpB.idx tests/romalpB-5.ind tests/romalpB-6.ind tests/romalpB-7.ind \
tests/romalpC.idx tests/romalpC-5.ind \
- tests/romalpD.idx tests/romalpD-5.ind tests/romalpD-6.ind tests/romalpD-7.ind
-DISTCLEANFILES = foo.* uni.* range*.* pprec*.* romalp*.*
+ tests/romalpD.idx tests/romalpD-5.ind tests/romalpD-6.ind tests/romalpD-7.ind \
+ tests/enc-e.idx tests/enc-j.idx tests/enc-s.idx tests/enc-u.idx \
+ tests/enc-x.ind tests/enc.dic
+DISTCLEANFILES = foo.* uni.* range*.* pprec*.* romalp*.* enc*.*
Modified: trunk/Build/source/texk/mendexk/Makefile.in
===================================================================
--- trunk/Build/source/texk/mendexk/Makefile.in 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/mendexk/Makefile.in 2022-09-24 02:01:36 UTC (rev 64494)
@@ -583,7 +583,7 @@
mendex.ja.txt mendex.1 mendex.1.ja $(TESTS) tests/foo.idx \
tests/foo.ind tests/uni.idx tests/uni.dict tests/uni.ist \
tests/uni1.ist tests/uni2.ist tests/uni.ind tests/sjis.ist \
- tests/euc.ist tests/range.idx tests/range2.ist \
+ tests/euc.ist tests/jis.ist tests/range.idx tests/range2.ist \
tests/range2.ist tests/range3.ist tests/range1.ind \
tests/range2.ind tests/range3.ind tests/pprec0.ist \
tests/pprec1.ist tests/pprec2.ist tests/pprec3.ist \
@@ -595,9 +595,10 @@
tests/romalpB.idx tests/romalpB-5.ind tests/romalpB-6.ind \
tests/romalpB-7.ind tests/romalpC.idx tests/romalpC-5.ind \
tests/romalpD.idx tests/romalpD-5.ind tests/romalpD-6.ind \
- tests/romalpD-7.ind
+ tests/romalpD-7.ind tests/enc-e.idx tests/enc-j.idx \
+ tests/enc-s.idx tests/enc-u.idx tests/enc-x.ind tests/enc.dic
TESTS = tests/mendex.test
-DISTCLEANFILES = foo.* uni.* range*.* pprec*.* romalp*.*
+DISTCLEANFILES = foo.* uni.* range*.* pprec*.* romalp*.* enc*.*
all: c-auto.h
$(MAKE) $(AM_MAKEFLAGS) all-am
Added: trunk/Build/source/texk/mendexk/tests/enc-e.idx
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc-e.idx (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc-e.idx 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1 @@
+\indexentry{\xC0\xE3\xB7\xEE\xB2\xD6}{1}
Added: trunk/Build/source/texk/mendexk/tests/enc-j.idx
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc-j.idx (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc-j.idx 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1 @@
+\indexentry{$B at c7n2V(B}{1}
Added: trunk/Build/source/texk/mendexk/tests/enc-s.idx
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc-s.idx (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc-s.idx 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1 @@
+\indexentry{\x90ጎ\x89\xD4}{1}
Added: trunk/Build/source/texk/mendexk/tests/enc-u.idx
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc-u.idx (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc-u.idx 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1 @@
+\indexentry{雪月花}{1}
Added: trunk/Build/source/texk/mendexk/tests/enc-x.ind
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc-x.ind (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc-x.ind 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1,6 @@
+\begin{theindex}
+
+\centerline{\bfseries ◆◆◆ セ ◆◆◆}\par\nobreak
+ \item 雪月花\leaders\hbox{$\cdot$}\hfill 1
+
+\end{theindex}
Added: trunk/Build/source/texk/mendexk/tests/enc.dic
===================================================================
--- trunk/Build/source/texk/mendexk/tests/enc.dic (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/enc.dic 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1 @@
+$B at c7n2V(B $B$;$D$2$D$+(B
Added: trunk/Build/source/texk/mendexk/tests/jis.ist
===================================================================
--- trunk/Build/source/texk/mendexk/tests/jis.ist (rev 0)
+++ trunk/Build/source/texk/mendexk/tests/jis.ist 2022-09-24 02:01:36 UTC (rev 64494)
@@ -0,0 +1,10 @@
+% -*- coding: iso-2022-jp -*-
+
+delim_0 "\\leaders\\hbox{$\\cdot$}\\hfill "
+delim_1 "\\leaders\\hbox{$\\cdot$}\\hfill "
+delim_2 "\\leaders\\hbox{$\\cdot$}\\hfill "
+
+lethead_flag 1
+lethead_prefix "\n\\centerline{\\bfseries $B"!"!"!(B "
+lethead_suffix " $B"!"!"!(B}\\par\\nobreak"
+
Modified: trunk/Build/source/texk/mendexk/tests/mendex.test
===================================================================
--- trunk/Build/source/texk/mendexk/tests/mendex.test 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/mendexk/tests/mendex.test 2022-09-24 02:01:36 UTC (rev 64494)
@@ -7,7 +7,7 @@
TEXMFCNF=$srcdir/../kpathsea
export TEXMFCNF
-rm -f foo.* uni.* range*.* pprec*.* romalp*.* sjis.* euc.*
+rm -f foo.* uni.* range*.* pprec*.* romalp*.* sjis.* euc.* enc*.*
rc=0
./mendex $srcdir/tests/foo.idx -o foo.ind1 -t foo.ilg1 \
@@ -89,5 +89,34 @@
&& diff $srcdir/tests/romalp$sfx-$num.ind romalp$sfx-$num.ind1 || rc=12
done
+# guess file encoding
+# input from file
+for enc in j e s u; do
+./mendex --guess-input-enc -s $srcdir/tests/jis.ist -d $srcdir/tests/enc.dic $srcdir/tests/enc-$enc.idx \
+ -o enc-$enc.ind1 -t enc-$enc.ilg \
+ && diff $srcdir/tests/enc-x.ind enc-$enc.ind1 || rc=101
+done
+for enc in j u; do
+./mendex --no-guess-input-enc -s $srcdir/tests/uni.ist -d $srcdir/tests/enc.dic $srcdir/tests/enc-$enc.idx \
+ -o enc-$enc.ind1 -t enc-$enc.ilg \
+ && diff $srcdir/tests/enc-x.ind enc-$enc.ind1 || rc=102
+done
+
+# input from pipe
+for enc in j u; do
+cat $srcdir/tests/enc-$enc.idx | \
+ ./mendex --guess-input-enc -i -s $srcdir/tests/euc.ist -d $srcdir/tests/enc.dic \
+ -o enc-p-$enc.ind1 -t enc-p-$enc.ilg \
+ && diff $srcdir/tests/enc-x.ind enc-p-$enc.ind1 || rc=103
+done
+
+# imput from redirect
+for enc in j u; do
+./mendex --guess-input-enc -i -s $srcdir/tests/sjis.ist -d $srcdir/tests/enc.dic < $srcdir/tests/enc-$enc.idx \
+ -o enc-r-$enc.ind1 -t enc-r-$enc.ilg \
+ && diff $srcdir/tests/enc-x.ind enc-r-$enc.ind1 || rc=104
+done
+
+
exit $rc
Modified: trunk/Build/source/texk/ptexenc/ChangeLog
===================================================================
--- trunk/Build/source/texk/ptexenc/ChangeLog 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/ptexenc/ChangeLog 2022-09-24 02:01:36 UTC (rev 64494)
@@ -1,3 +1,8 @@
+2022-09-24 TANAKA Takuji <ttk at t-lab.opal.ne.jp>
+
+ * ptexenc.c: Skip guessing file encoding if input is from pipe.
+ https://github.com/texjporg/tex-jp-build/issues/148
+
2022-09-01 Hironori Kitagawa <h_kitagawa2001 at yahoo.co.jp>
* ptexenc.c: Initialize infile_enc_auto only when this variable
Modified: trunk/Build/source/texk/ptexenc/ptexenc.c
===================================================================
--- trunk/Build/source/texk/ptexenc/ptexenc.c 2022-09-23 23:50:33 UTC (rev 64493)
+++ trunk/Build/source/texk/ptexenc/ptexenc.c 2022-09-24 02:01:36 UTC (rev 64494)
@@ -16,6 +16,7 @@
#include <ptexenc/unicode-jp.h>
#include <ctype.h>
+#include <sys/stat.h>
#define ENC_UNKNOWN 0
#define ENC_JIS 1
@@ -1024,8 +1025,16 @@
#endif /* DEBUG */
}
else {
+ struct stat st;
if (infile_enc_auto == 2) ptenc_set_infile_enc_auto();
- if (infile_enc_auto && fd != fileno(stdin)) {
+#ifdef DEBUG
+ if (infile_enc_auto) {
+ fprintf(stderr, "\nInput fd: %d, stdin?: %d, pipe?: %d\n", fd,
+ fd==fileno(stdin), (fstat(fd, &st)==0 && S_ISFIFO(st.st_mode)));
+ }
+#endif /* DEBUG */
+ if (infile_enc_auto && fd != fileno(stdin)
+ && !(fstat(fd, &st)==0 && S_ISFIFO(st.st_mode))) {
char *enc;
getc4(fp);
getc4(fp);
More information about the tex-live-commits
mailing list.