On 12/11/2019 12:03 AM, luigi scarso wrote:
>
>
> On Tue, Dec 10, 2019 at 9:27 PM Henri Menke <henrimenke@gmail.com
> <mailto:henrimenke@gmail.com>> wrote:
>
> Dear devs,
>
> The example below crashes LuaTeX with a segmentation fault. It is
> reproducible
> with LuaTeX 1.10.1 7143 and LuaTeX 1.11.2 7226. To this end I built
> 7226 from
> source with --debugopt to get a backtrace, which can be found below
> as well.
>
> Cheers, Henri
>
> ---
>
> \directlua{token.set_macro(-1, "foo","\string\\,")}
> \show\foo
> \foo
> \bye
>
>
> I guess that we have to check if catcodetable -1 is already defined...
i already sent you a patch, probbaly also ok for trunk
yes, seen
but one needs to be careful as fo rinstance \string\foo is seen as
<formfeed>oo so often one also needs to escape properly
I always start with [==[ ... ]==] ie
\directlua{token.set_macro(-1, [==[foo]==],[==[\string\\,]==])}
gdb reports this [==[\string\\,]==] string as
"\\\\,"
which is an array of char of length 3 ie {'\\','\\',','}
With \directlua{token.set_macro(-1, [==[foo]==],"\string\\,")}
gdb reports "\\,"
ie {'\\','\,'}
I always check which one is the correct one...
--
luigi