I do not really understand what is the relation with macro packages and _ because it is just raw luatex. ``` \def\test{\directlua{tex.set_synctex_line(421)}} \test \directlua{print('421=',tex.get_synctex_line())} \bye ``` This code expectedly prints "421=421" to the console. If we replace line by tag, this does not work ``` \def\test{\directlua{tex.set_synctex_tag(421)}} \test \directlua{print('421=',tex.get_synctex_tag())} \bye ``` This code unexpectedly prints "421=1" to the console. On the contrary ``` \directlua{tex.set_synctex_tag(421)} \directlua{print('421=',tex.get_synctex_tag())} \bye ``` expectedly prints "421=421" to the console.
If this is a feature it must definitely be documented because it is really special. > Le 27 mars 2022 à 14:54, Hans Hagen <j.ha...@xs4all.nl> a écrit : > > On 3/25/2022 4:51 PM, Jérôme LAURENS wrote: >> We can use >> ``` >> \directlua{tex.set_synctex_tag(421)} >> \directlua{print('421=',tex.get_synctex_tag())} >> \bye >> ``` >> To set and read the synctex tag. >> But if we wrap this into a macro, things get broken and the synctex tag is >> not changed. >> ``` >> \def\test{\directlua{tex.set_synctex_tag(421)}} >> \test >> \directlua{print('421=',tex.get_synctex_tag())} >> \bye >> ``` >> For synctex_line there is no such problem. >> Is this a bug or a feature ? > feature ... but mostly macro package related as that is responsible for the > catcode of _ which is stored in the macro body > > Hans > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > ----------------------------------------------------------------- _______________________________________________ dev-luatex mailing list dev-luatex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/dev-luatex