[Dev-luatex] multiple interpreters
Taco Hoekwater
taco at elvenkind.com
Fri May 26 11:30:04 CEST 2006
Hans Hagen wrote:
>
> we need indeed a way to clean up (i.e kill pending processes/clear
> related mem)
I was bored a bit, so I've committed a version with an initial
version of \closelua:
\directlua1{a="hello";}
\directlua1{print(a);} % => hello
\immediate\closelua1
\directlua1{print(a);} % => nil
\latelua2{a="late";}
\latelua2{print(a);} % => late
\closelua2
\latelua2{print(a);} % => nil
Some things are perhaps strange: \closelua is not expandable,
even though \directlua is. So: do not attempt to close a lua
interpreter inside an \edef.
(The non-immediate form of \closelua cannot be expandable,
because it has to insert a node, and that implies that the
other form cannot be either. For that, we would need separate
\closedirectlua and \closelatelua commands, which is a bit weird).
Also, the non-immediate form of \closelua is illegal in
dvi mode, just like \latelua, but the \immediate form is
allowed, just like \directlua. This could be easily fixed
by disallowing \directlua in DVI mode as well :-)
Cheers, Taco
More information about the dev-luatex
mailing list