Should not \@ifdefinable be changed so that it does not check \@ifundefined? This will make the implementation of different defining command simpler and clearer. (As I would rather not get into the LaTeX trickery of temporarily canceling \@ifundefined in \@ifdefinable, I would prefer making my own version of \@ifdefinable which do not check \@ifundefined.) I get the following variations; all should check \@ifdefinable without \@ifundefined, but differ in the other respects: define new If undefined, then define, else error. renew If defined, then define, else error. provide If undefined, then define, else do nothing. override If define, then define, else do nothing. (I do not want to go much into the context, but the problem shows up when trying to do new variations of \newcommand, \newenvironment, \newobject, etc.) Hans Aberg * Email: Hans Aberg <mailto:[log in to unmask]> * AMS member listing: <http://www.ams.org/cml/>