>>>>> "Enrico" == Enrico Forestieri <[EMAIL PROTECTED]> writes:
Enrico> Now, when \csname is used to define a command for the first Enrico> time, this command is made equivalent to \relax until it is Enrico> redefined. Ahh, I did not know that \csname...\endcsname could define the macro if it did not exist... Enrico> For example, one could define such a thing: Enrico> \def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax} Enrico> to do something like \ifundefined{foo}...\else...\fi (This is Enrico> exercise 7.7 in the TeXbook). But in this case \ifundefined is non-const (in the c++ sense), isn't it? Enrico> Moral is that you have to define \endXXX only if you have to Enrico> actually do something when the environment XXX ends. OK. JMarc