On Fri, Jul 01, 2005 at 09:11:13AM +0200, Pawel Jackowski wrote:
Heiko: And what about packages, macros that are not released? Documents are allowed to contain macro definitions. Thus existing documents can break because of added new primitives[...]
Nope, since macros defined in the document will always override the primitive meaning. The document will NOT crash and won't need a primitive meaning of the clashed command, since was prepared before the command was implemented.
Examples with a new primitive: \match
Szenario A: User defines macro:
\newcommand{\match}{Hello World}
==> Error message, \match already defined.
Szenario B:
\def\match!#1!#2!#3{...}
Some package (hyperref, ...) uses the new primitive:
\match{...}{...}
==> Document fails with: Use of \match doesn't match its definition.
Yours sincerely
Heiko