LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Joseph Wright <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Sat, 12 May 2018 20:34:06 +0100
text/plain (40 lines)
Hello all,

You'll see in a parallel message that I've just sent an expl3 release to 
CTAN. There are two important changes to highlight, both deprecations.


When expl3 was first written, the only required primitives were from 
TeX90, and all could happily be named \tex_...:D. e-TeX primitives, when 
added, were named \etex_...:D to keep things 'clear'. Subsequently, 
pdfTeX, XeTeX, LuaTeX and (u)pTeX have all added primitives, and some 
have been ported between engines. To date, these have been stored under 
engine names, e.g. \pdftex_...:D, but that is increasingly complex.

The team have decided to move *all* primitives to the \tex_...:D 
namespace, and to deprecate the older names. As direct primitive access 
should only be used where there is no expl3 interface, and should take 
the form of

    \cs_new_eq:NN \__pkg_local_name:w \tex_...:D

the number of public packages impacted is small.

The standard deprecation period (running to the end of 2019) applies to 
the older names.

*Integer constants*

The naming of integer constants has to-date been non-standard: \c_one, 
etc. At the same time, the use of constants is less important than it 
was when expl3 was first developed: the routine application of integer 
expression processing means that termination of numbers is now not an 
issue, whilst performance of modern PCs means that the time saving 
compared to explicit values is *extremely* small.

We have now deprecated most of the constants, and moved those retained 
to the naming \c_<value>_int.