Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for texjporg/tex-jp-build#113 and texjporg/ptex-manual#4 #120

Merged
merged 3 commits into from
Jun 25, 2021

Conversation

aminophen
Copy link
Member

pTeX の挙動について

に対する修正案を TeX Live svn に入れたいと思います。


前者(ハッシュ検索バグ)

#26, #57 で導入されたロジックに穴があることが露呈したものです。forum での元の報告者に「開発版 win32 バイナリ」を渡し,正常に動くことを確認していただいています。

後者(和文文字トークンの kcatcode)

2019-05-06 付けの「pTeX (非upTeX) では和文文字トークンが kcatcode を持たないので,制御綴に \let されたものを再計算する」を意図したコードを revert するものです。意図は,この再計算が \ifcat には効いているものの \ifx には効いておらず,結果的に不整合を起こしていたため,元の挙動に戻したいということです。

「和文文字トークンは kcatcode を持たない」という仕様/挙動の一貫性については,\let された制御綴からは再計算しない(見た目も「和文文字トークン」に見えないし…)としても大して損なわれないと考え直しました。むしろ \let で kcatcode が保持される方が使い勝手は良い気がしますし,upTeX とのコード差分も減らす方向です。

@t-tk
Copy link
Collaborator

t-tk commented Jun 20, 2021

将来の方向性として、「pTeX (非upTeX) では和文文字トークンが kcatcode を持たない」という仕様をやめて「pTeXも(upTeXと同じように)和文文字トークンが kcatcode を持つ」ように改造する方向はいかがでしょうか。
現行pTeXエンジンとの差分は大きいというデメリットがある一方、upTeXエンジンとの差分を減らす方向ですし、既存のpTeX向けに書いたソースコードの動作には影響ないはずです。

@aminophen
Copy link
Member Author

将来の方向性

個人的には好ましい方向だと思います。一方で

  • pTeX (非upTeX) では和文文字トークンが kcatcode を持たない
  • upTeX では CJK 文字トークンが kcatcode を持つ

この差を取り除けば,もはや pTeX が独立して存在する意義はなくなると思います。ですので,いろいろな方面から意見を聞きたいです。

pTeX の仕様変更に合意された場合は,もはや実際には upTeX-1.25 の

Set default internal encoding EUC/SJIS if a command name is with prefix of "p" or "ep", intending to be compatible with pTeX family (ptex, eptex, pbibtex, pdvitype, ppltotf, (experimental).

という機能を活用して「内部コードが euc/sjis の upTeX」を pTeX の代わりに起動すれば十分であると思います。 #32 とも近い話で,バイナリを減らす方向ならメンテナンス性は上がりそうです。

@aminophen
Copy link
Member Author

「pTeX (非upTeX) では和文文字トークンが kcatcode を持たない」という仕様をやめて「pTeXも(upTeXと同じように)和文文字トークンが kcatcode を持つ」ように改造する方向
「内部コードが euc/sjis の upTeX」を pTeX の代わりに起動すれば十分であると思います。 #32 とも近い話で,バイナリを減らす方向ならメンテナンス性は上がりそうです。

この件は texjporg/ptex-manual#4 に一括します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants