Hello, good people-- I've encountered what appears to be a bug in either the TeX->Lua interface or the documentation thereof (I have the latest stable ConTeXt standalone from contextgarden.net).
I'm trying to create a macro that will insert different text depending on whether one of the arguments is empty or not. My initial test implementation (following the wiki section entitled "Passing arguments and buffers: ConTeXt commands that hook into Lua") looked like this: \startluacode userdata = userdata or {} function userdata.empty_or_not(str) if str == "" or str == nil then context("{\\sc Empty}") else context(str) end end \stopluacode \def\emptyOrNot#1{% \ctxlua{userdata.empty_or_not(#1)}% } \starttext \emptyOrNot{Amazing Text!} \emptyOrNot{} \stoptext This did not work. I determined that even when I passed a non-empty string, the Lua interpreter detected it as nil. It turns out the fix was simple--I had to quote the string, as follows. \def\emptyOrNot#1{% \ctxlua{userdata.empty_or_not("#1")}% } It took me a while to figure that out, though, since the wiki example does not show quotes. -- Matt Gushee ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________