summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex')
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex86
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}