Like this?
Wow, this is quite involved...
\newconditional\MysteriousOne \newconditional\MysteriousTwo
\letempty\MysteriousListOne \letempty\MysteriousListTwo
\definecomplexorsimple\MyMysteriousMacro
\def\complexMyMysteriousMacro[#1]#2#3% {\doifelse{#1}{list} {\appendtocommalist{#2}\MysteriousListOne \appendtocommalist{#3}\MysteriousListTwo}% {\simpleMyMysteriousMacro{#2}{#3}}}
\def\simpleMyMysteriousMacro#1#2% {\setfalse\MysteriousOne \setfalse\MysteriousTwo \ExpandFirstAfter\doifinset{#1}\MysteriousListOne{\settrue \MysteriousOne}% \ExpandFirstAfter\doifinset{#2}\MysteriousListTwo{\settrue \MysteriousTwo}% \ifconditional\MysteriousOne\ifconditional\MysteriousTwo #1, {\it#2}% \fi\fi}
\MyMysteriousMacro[list]{world}{Hello} \MyMysteriousMacro[list]{Wolfgang}{how are you}
\starttext
\MyMysteriousMacro{Hello}{world} \MyMysteriousMacro{Wolfgang}{how are you}
\stoptext
Actually I don't fully grasp what the above code does in detail ... but from the output I would deduce that it checks whether the input was {Wolfgang}{how are you}. If yes, it prints the content of that original sample macro to the page, if no, its output is supressed. That's still not quite what I want. First, if I change the argument to {Wolfgang}{how are you2} then ConTeXt crashes (2009.06.13 13:37 MKIV). Second, I do *not* want to modify the macro itself. I also do *not* want to filter the arguments in the macro and do any conditional processing. I'd rather leave the macro definition as is (perhaps the macro isn't even my idea) and just check whether the text finally output on page is what I expect. This I could do by visual inspection, however, if there are things like unbreakable spaces involved, I wouldn't normally see them in the PDF output unless a line break occurs at the critical position. Now if I could get the output of the macro as a fully expanded stream of TeX commands I could programmatically check for the presence of that unbreakable space that my (or some other) macro is supposed to insert. Perhaps there's no easy solution for this task :-( Many thanks anyway, Oliver