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