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