Closed aminophen closed 5 years ago
テスト環境は macOS 10.11.6 El Capitan (x86_64-apple-darwin15.6.0) です。ptex, eptex, uptex, euptex いずれも -kanji-internal={euc|sjis} の時に高確率で再現しています。
また,自分でビルドしたバイナリだけでなく,TL2019 公式の x86_64-darwin でも同様です。
(もしかして, [ptex] エラー出力の余分なバイト (#59) とも関係するのだろうか? 和文文字と誤認してバイト数を数え間違っている?)
%#!ptex
\font\x=ec-lmr10\x
% \escapechar
\string\あいう\par
{\escapechar"E3 \string\あいう}\par
% \newlinechar
\message{あああ}
\message{あ^^e3あ}
\newlinechar"E3
\message{あああ}
\message{あ^^e3あ}
\bye
これらは現行の pTeX では変ですが,printkanji_16bit ブランチ (#81) だと解消しました。
ところが,
は printkanji_16bit ブランチでも直りませんでした。
和文文字と誤認してバイト数を数え間違っている?
ファイル名を UTF-8 から内部エンコーディングに戻す際,ファイル名を格納する buffer = buf の長さが足りなくなる(と予想される)ことがあります.その際に
buffer = buf = xrealloc(buffer, len=last+64);
とすべきところを,誤って
buffer = xrealloc(buffer, len=last+64);
と buf を更新し忘れていていました.
せっかくなので,platex/#86 に書いた ptexenc の修正を同時にやってもいいかなと思っていますが,そちらの修正は月曜日に行います.
以下のソースを eptex で処理すると(100% ではないのですが)Abort trap: 6 で落ちました。
\endlinechar=128 から
xout.tex%80
というファイルを open する途中で落ちているような気がするのですが,よくわかっていません。