> On 8 Jul 2019, at 17:18, mf <mass...@fastwebnet.it> wrote: > > Hello list, > i've played a bit with interfaces.definecommand, that lets you define TeX > macros from lua (see the "ConTeXt Lua Documents", 7.3 User interfacing). > > I found that the commands defined by interfaces.definecommand fail when you > pass string arguments that contain brackets. > > I think cldf-int.lua needs a patch to support those kind of arguments.
FYI, it fails because definecommand() creates a \myCommand that is equivalent to this: \def\myCommand#1{\ctxlua {_clmm_('myCommand',[[#1]])}} The [[…]] is the lua multi-line string syntax, like /* */ in C. So if the #1 expands into \blank[line], that produces [[\blank[line]]] resulting in a trailing extra ‘]’, which is a lua syntax error. > > In the meantime it's possible to bypass the problem passing arguments with > brackets inside double braces, as in the MWE attached. Adding a space at the end also works, but a core patch makes sense to me. Taco ___________________________________________________________________________________ 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 ___________________________________________________________________________________