# [luatex] macros to invoke lua in LaTeX

Hans Hagen pragma at wxs.nl
Thu Mar 5 09:01:57 CET 2009

Karl Berry wrote:
>       If I remember correctly, the original idea was to add "pdf" in front
>     of all the primitives that were particular to pdfTeX, and it thus meant
>     "pdfTeX" and not "PDF", at least originally (am I right?)  But it is
>     indeed not the most intuitive naming convention.
>
> Maybe not intuitive in all cases, but very very useful for preventing
> clashes.  The LuaTeX practice of choosing names for primitives that are
> meaningful, but without any such prefix, seems quite problematic to me.
> Not just right now, but at any time in the future: if a new primitive
> \foo is introduced, any existing package that happens to use \foo is
> potentially affected.  Sure, it can be worked around, but it introduces
> unnecessary instability and incompatibility, it seems to me.
>
> Sorry to be such a drag.

no package is infected at all as the package redefined the new primitives

however, the macro package that loads the package should provide an
alternative name for the new functionality then (or use the \primitive
prefix)

\let\originalwhatever=\whatever

and then use \originalwhatever instead consistently; the \original
prefix then could be made a 'norm' in the macro package (e.g. context
users know that they should not mess around with \normalwhatever)

when etex came around, its new primitives clashes with several of
context's and even recently there was a new primitive (\expanded) that
clashed again but it's no big deal (well, i've learned to live with it)

concerning a prefix ... pdf backends were possible before pdftex came
around so \pdfsomething can also clash with existing macros; the same is
true for many systematically prefixed primitives

so ... whatever solution is choses, it always can fail at some point
which is why we didn't do it

Hans

-----------------------------------------------------------------