-
Notifications
You must be signed in to change notification settings - Fork 6
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
[mendex] 大量のエントリで尻切れ #137
Comments
mendex の fwrite.c で また,原理的にはどこかに上限を設けるしかないのは承知の上で,ただその場合でも切れた旨を警告してくれた方が親切なように思います。 |
今回引っかかっているのは↓で導入した文字列出力の上限を設けたところでしょうか?
安直に増やしても問題になることは無いと思いますが、問題にならない上限の値はいくら位でしょうか? |
ソースを見る限りだと,2014年より昔も出力文字列の上限は4096だったように見えます。 mendex の場合,改行文字 \n を含む出力文字列をいったんすべてバッファ lbuff に溜め込んでいる(fwrite.c の linecheck 関数)のが上限に達しやすい根源のようです。 参考:makeindex/genind.c は wrap_line 関数で,改行時にそのつどファイルに吐き出しています。 |
mendex-longbuf ブランチで試しに 564d999 のように「改行の都度ファイルに吐き出す」とすれば,バッファサイズを増やすことなく正常出力されるようです。いかがでしょう? |
ありがとうございます。 |
ありがとうございます。source freeze まで日数がないので r62492 で mendex / upmendex 両方にコミットしました。 |
添付の upldoc-ind.zip において
とすると,1つのエントリが大量出現する場合(この場合は
\xspcode
)にのように出力が途中で途切れます。
参考:これが露呈したのは texjporg/platex#98 に記載の「doc.sty v3 が hyperref 依存になった」に伴い texjporg/platex@98d2da5 及び texjporg/uplatex@eb5f4ce で platex/uplatex のソースコード説明書の PDF 作成ソースを更新しようとしたら
という不思議なエラーで止まったからでした。ここで
\hdcl
というのは\hdclindex{460}{code}{…},
というエントリを出力しようとして尻切れしたもののようです。The text was updated successfully, but these errors were encountered: