[luatex] Bytecode architecture-independence

Taco Hoekwater taco at elvenkind.com
Fri Nov 20 21:56:30 CET 2009


Manuel Pégourié-Gonnard wrote:
> Taco Hoekwater a écrit :
>> Yes (if your receiver has an approximately correct luatex version,
>> otherwise you can get runtime errors due to inferface changes)
>>
> Can we expect bytecode compatibility at some point? (No problem if the
> answer is "no" or "not before long"; just asking.)

Not for long periods of time. As long as we stick with the same
lua version and the same lua vm, the bytecodes are unlikely to
change, but we may switch to a newer lua (5.2?) or a new vm
(luajit2?) and while this would likely not break any .lua scripts,
it would definitely break bytecode compiled files.

But my original point was more about the modules inside luatex:
if you have a bytecode file for luatex 0.43 that uses (say)
node.dimensions(), then that file won't run with luatex 0.40
(which does not have that function at all).

>>> If so, since which version of LuaTeX (I seem to remember that it has not
>>> been always true)?
>> Since version 0.38.0
>>
> Ok.
> 
> Btw, is there some "standard" extension for texlua bytecode files? (Just
> like tlu is the usual extension for texlua scripts.)

Replacing the a with a c is a more or less standard convention that
also kpsewhich understands. Allowed extensions for kpathsea are:

     .luc .luctex .texluc .lua .luatex .texlua

the first 3 are bytecode, the last 3 source.

Best wishes,
Taco





More information about the luatex mailing list