On 12/11/19 12:23 PM, luigi scarso wrote:
On Wed, Dec 11, 2019 at 12:10 AM Hans Hagen
wrote: On 12/11/2019 12:03 AM, luigi scarso wrote:
On Tue, Dec 10, 2019 at 9:27 PM Henri Menke
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...
In this case I wanted to generate the thin space (\,). My expectation (which worked elsewhere) was that full expansion will turn "\string\\," into "\\," where the two backslashes have catcode 12 and will not be expanded further. Then the Lua string will turn the escape sequence \\ into a single backslash, therefore ending up with \, in the Lua string. Demo below. Cheers, Henri $ luatex <(echo '\relax\directlua{print("\string\\,")}\bye') This is LuaTeX, Version 1.11.2 (TeX Live 2020/dev) restricted system commands enabled. (/dev/fd/63\, ) warning (pdf backend): no pages of output. Transcript written on 63.log.
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________