[NTG-context] Re: \luaescapestring in proper Lua
On 4/11/24 18:56, Hans Hagen via ntg-context wrote: > [...] >>> \protected\def\PrintTheThing{\ctxlua{document.print_the_thing()}} >> >> Sorry, but why \protected is required or recommended here? > > depends if you want it to be expandable I see now that "still.pdf" has a full chapter (#3, titled “Scanning Input”) and page 79 explains exactly this. Many thanks for your help, Pablo ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: \luaescapestring in proper Lua
On 4/11/2024 5:07 PM, Pablo Rodriguez via ntg-context wrote: On 4/10/24 21:48, Hans Hagen via ntg-context wrote: On 4/10/2024 7:49 PM, Pablo Rodriguez via ntg-context wrote: [...] I wonder whether there is a proper way in the Lua code to avoid [[\luaescapestring{}]] in \ctxlua. [...] context(tokens.scanners.string()) Many thanks for your reply, Hans. \protected\def\PrintTheThing{\ctxlua{document.print_the_thing()}} Sorry, but why \protected is required or recommended here? depends if you want it to be expandable - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: \luaescapestring in proper Lua
On 4/10/24 21:48, Hans Hagen via ntg-context wrote: > On 4/10/2024 7:49 PM, Pablo Rodriguez via ntg-context wrote: >> [...] >> I wonder whether there is a proper way in the Lua code to avoid >> [[\luaescapestring{}]] in \ctxlua. >> [...] > context(tokens.scanners.string()) Many thanks for your reply, Hans. > \protected\def\PrintTheThing{\ctxlua{document.print_the_thing()}} Sorry, but why \protected is required or recommended here? Many thanks for your help, Pablo ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: \luaescapestring in proper Lua
On 4/10/2024 7:49 PM, Pablo Rodriguez via ntg-context wrote: Dear list, I have the following sample: \starttext \startluacode function document.print_the_thing(str) context(str) end \stopluacode \unexpanded\def\PrintTheThing#1{% \ctxlua{document.print_the_thing([[\luaescapestring{#1}]])}} \PrintTheThing{a \em b {c}} \stoptext I wonder whether there is a proper way in the Lua code to avoid [[\luaescapestring{}]] in \ctxlua. BTW, [[\luaescapestring{}]] in \ctxlua works better for me, since in my real world document, I’m using str:match() to check whether the string ends with interrogation or exclamation marks ("%?!$"). \starttext \startluacode function document.print_the_thing() context(tokens.scanners.string()) end \stopluacode \protected\def\PrintTheThing{\ctxlua{document.print_the_thing()}} \PrintTheThing{a \em b {\bf c} d} \stoptext bonus: test!\removepunctuation ? 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 - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___