LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
Content-Type: text/plain; charset=utf-8; format=flowed
Date: Sat, 12 May 2018 20:34:06 +0100
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
MIME-Version: 1.0
Message-ID: <[log in to unmask]>
Content-Transfer-Encoding: 7bit
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
From: Joseph Wright <[log in to unmask]>
Parts/Attachments: 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.