Why can you not simply use one of the doifundefined macro's? Something for example: \doifundefined{ExitStatus}{\gdef\ExitStatus{0}} % default to ok as in UNIX dr. Hans van der Meer
On 18 Jun 2020, at 10:27, Lukas/ConTeXt
wrote: Hello, I'm using Hans' macro suggested some time before. I've just updated Ctx MkIV and my sample code:
---- \starttext \def\MyMacro{Ahoj}
\def\MyMacWithPars#1#2{Something}
\def\Undefined{} \let\Undefined\undefined
\def\DoNothing{} \let\DoNothing\donothing
\startluacode if CONTEXTLMTXMODE == 0 then local d = tokens.defined local c = tokens.create
function tokens.defined(s,b) if b then return d(s) else return c(s).cmd_name == "undefined_cmd" end end end
--
local defined = tokens.defined
for _, v in ipairs{ "MyMacro", "MyMacWithPars", "Undefined", "DoNothing", "NonExisting" } do print(string.format("\letterpercent-12s", v), defined(v), defined(v, true), defined(v, false)) end \stopluacode
Aaa \stoptext ----
gives: " MyMacro false false false MyMacWithPars false false false Undefined false false false DoNothing false false false NonExisting false false false "
IOW, I'm not able to determine whether a control sequence has not been defined (or has \undefined value) or not.
Am I doing a trivial mistake or has anything changed?
Thank you for patience...
Lukas
___________________________________________________________________________________ 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 ___________________________________________________________________________________