LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

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
Subject:
From:
Bruno Le Floch <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Sat, 12 May 2018 15:40:29 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (65 lines)
Hello all,

Just two additional comments on Joseph's announcement.  (See inline below.)

On 05/12/2018 03:34 PM, Joseph Wright wrote:
> 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.
> 
> *Primitives*
> 
> 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.

I encourage all package authors to have a test of the form

\RequirePackage{expl3}
\ExplSyntaxOn
\debug_on:n { deprecated }
\ExplSyntaxOff

\documentclass { your class }
\usepackage { your package }
\begin{document}
your tests
\end{document}

to make it easier to spot situations where deprecated
commands/interfaces are used in your class or package.

> *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.
> 
> Joseph

Specifically, \c_zero_int and \c_one_int remain.

Bruno

ATOM RSS1 RSS2