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
\@[log in to unmask])
I get the following variations; all should check \@ifdefinable without
\@ifundefined, but differ in the other respects:
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,
* Email: Hans Aberg <mailto:[log in to unmask]>
* AMS member listing: <http://www.ams.org/cml/>