Hi Hans,
the \orelse branch can't be used because \c_symb_found still has the
same value.
Wolfgang
\permanent\protected\def\doifelsesymboldefined#1%
{\begingroup
\edef\currentsymbol{#1}%
\let\symb_fetch\symb_fetch_first
\setfalse\c_symb_found
\the\t_symb_setups
\ifconditional\c_symb_found
\endgroup\expandafter\firstoftwoarguments
- \orelse\ifconditional\c_symb_found
- \symb_fetch_second\currentsymbol
- \endgroup\expandafter\firstoftwoarguments
- \else
- \symb_fetch_second\currentsymbol
- \endgroup\expandafter\secondoftwoarguments
+ \else
+ \symb_fetch_second\currentsymbol
+ \ifconditional\c_symb_found
+ \endgroup\doubleexpandafter\firstoftwoarguments
+ \else
+ \endgroup\doubleexpandafter\secondoftwoarguments
+ \fi
\fi}