LuaTeX 0.74.0, LuaJITTeX への対応
応急処置としてはそれぐらいでよいみたいですが,LuaTeX-ja 自体の Lua 5.2 への対応が今後は必要でしょうか. table.maxn(), string.explode(), package.searcher と,module() 絡みの対応だけでよいのかな.
LuaJITTeX (0.75.0, r24) で以下のソース:
\input luatexja.sty \directlua{require("profiler"); profiler:start("log")} \endを走らせてみると,
! LuaTeX error ...012/../texmf-local/tex/generic/luatexja/ltj-inputbuf.lua:24: bad argument #3 to 'byte' (number expected, got userdata). l.3 ...require("profiler"); profiler:start("log")} ? xというエラーが出ます.通常の LuaTeX 0.75.0 (r4591) ではこのエラーは生じません.
LuaJITTeX 内の luaprofiler が変なのかなあ.
%#!luajittex \directlua{ require("profiler") profiler:start('log') print() } \endを実行すると,
This is LuajitTeX, Version beta-0.75.0-2013031106 (rev 24) restricted \write18 enabled. (./b.texuserdata: 0x02da0e30 ) No pages of output. Transcript written on b.log.と不要な出力 userdata: ... があります. profiler:start("log") を削除するとこの症状は出ません.
LuaTeX-ja 自体の Lua 5.2 への対応が今後は必要でしょうか.
遅くなりましたがコメントしますと,
ぐらいですね.
別チケット #31302 を作ったのでこっちは完了とします.
便宜上「サポートリクエスト」にしていますが,インフォメーションです.
遅ればせながら,Lua 5.2 が導入された LuaTeX (r4569) を導入してみました. LuaTeX-ja 日本語マニュアルで実験してみましたが, Lua 5.2 で削除/名称変更された関数を適宜補うだけで動作するようです.
具体的には,lualatex.ini 最後の \dump の前に,以下の内容を入れました(luatex.ini も同様):
まだビット演算 (bit32) などについては試していません.