On Thu, 23 Jul 2009, luigi scarso wrote:
On Thu, Jul 23, 2009 at 4:37 PM, Hans Hagen
wrote: Xan wrote:
Really, I did not know that. It's a messy thing that we could not define
what we like ;-)
it's the nature of a tex macro package; ok, i can add some strict testing for in in mkiv but even then it might just be that someone who knows th einternals (like wolfgang or wolfgang or wolfgang) wants to overload something built in by something better
why not discipline ?
I mean something like 0) context macro are ok 1) \usemodule[foo] are ok (no collision with macros in 0) 2) define your macros inside \startPrivate[namespace] ... \stopPrivate 3) explicit redefinition of macros in 0,1
by 3) should be no collision between 0,1,2
I think an easier thing to do will be to follow latex's style of \newcommand and \renewcommand. That is, all \definecommands should check if the macro is previously defined or not. If it is defined, issue a warning or an error. And maybe have some hook to disable the warning/error for those who know what they are doing. Aditya