diff options
author | Karl Berry <karl@freefriends.org> | 2018-04-30 22:39:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-04-30 22:39:09 +0000 |
commit | a28e1bfccd6fe522fcd296426e4d89c7fb4f19b6 (patch) | |
tree | b72347e08575b56fcfed87c4d837b48dcfd1e02a /Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex | |
parent | b40c37a9e22b8235ff9c0bc256d00f7af94304c3 (diff) |
l3 (30apr18)
git-svn-id: svn://tug.org/texlive/trunk@47516 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex | 86 |
1 files changed, 83 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex index 7476cbdb68d..d3eb59a1fd9 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex @@ -30,7 +30,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2018/03/05} +\date{Released 2018-04-30} \newcommand{\TF}{\textit{(TF)}} @@ -38,8 +38,13 @@ The released version of this bundle is available from CTAN. \maketitle -This file lists functions whose syntax has changed after August 2011, -with an approximate date. +This file describes functions that were expected to be completely +stable, but whose syntax has changed in ways that may potentially +require code relying on them to be changed. This file does not include +bug-fixes, nor backward-compatible extensions of the syntax, nor changes +to functions in \pkg{l3candidates}, nor functions that were completely +deprecated: the latter are listed in \texttt{l3obsolete.txt}. Only +changes after August 2011 are listed, with an approximate date. \section{August 2011} @@ -68,6 +73,16 @@ with an approximate date. now trim spaces from each item in the argument. \end{itemize} +\section{May 2012} + +\begin{itemize} + \item The \pkg{l3fp} code has been completely rewritten with a new + expandable interface. + \item Getting/popping from a comma list or sequence or property list + that is empty (or missing the given key) now gives the quark + \cs{q_no_value}. +\end{itemize} + \section{June 2012} \begin{itemize} @@ -97,5 +112,70 @@ with an approximate date. same way as for example \cs{str_if_eq_x:nn(TF)}. \end{itemize} +\section{December 2013} + +\begin{itemize} + \item In \pkg{l3fp} expressions, the badly named functions |round0|, + |round-|, |round+| are now named |trunc|, |floor|, |ceil|. +\end{itemize} + +\section{May 2014} + +\begin{itemize} + \item Now \cs{int_step_function:nnnN} evaluates its first three + arguments (start, step, stop) up front, rather than evaluating them + at each step in the loop. The same holds for the related mappings + \cs{int_step_inline:nnnn}, \cs{int_step_variable:nnnNn}, and their + analogues for \texttt{dim} and \texttt{fp} datatypes. +\end{itemize} + +\section{July 2014} + +\begin{itemize} + \item In \pkg{l3fp} expressions, juxtaposition is interpreted as + multiplication. Now the precedence of juxtaposition is set to be + the same as if there was an explicit multiplication + sign~\texttt{*}. Previously, juxtaposition would bound more tightly + than any other operation. +\end{itemize} + +\section{August 2015} + +\begin{itemize} + \item The \cs{hbox:n} and related \pkg{l3box} commands now take an + \texttt{n}-type argument and provide it braced to the underlying + \TeX{} primitive. The functions \cs{hbox:w} and \cs{hbox_end:} in + contrast do not read the contents of the box as a macro argument. +\end{itemize} + +\section{2016} + +No change. + +\section{July 2017} + +\begin{itemize} + \item Boolean expressions are now evaluated eagerly, namely both + operands of logical \texttt{and} (|&&|) and \texttt{or} (\verb"||") + are evaluated even when the result of the logical operation is fixed + after determining the first operand. For lazy evaluation, + \cs{bool_lazy_and_p:nn} and related functions are provided. +\end{itemize} + +\section{November 2017} + +\begin{itemize} + \item Spaces are now preserved inside keys in \pkg{l3keys}, and + trimmed at both ends. + \item \cs{cs_generate_variant:Nn} is now stricter: it only allows to + change \texttt{N}-type arguments to \texttt{c}, and \texttt{n} to + \texttt{o}, \texttt{V}, \texttt{v}, \texttt{f}, \texttt{x}. On the + one hand the latter argument types typically give rise to more than + one token, not suitable for use by an \texttt{N}-type base function. + On the other hand, \texttt{c} variants of \texttt{n} arguments + should often be \texttt{v} variants (when the argument is eventually + evaluated) or mistakes where the programmer thought the base + function was \texttt{N}-type. +\end{itemize} \end{document} |