From 0d6184fa42ed741f956e55a1c6e7d48ab0cac9d8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 16 Feb 2019 22:39:34 +0000 Subject: l3kernel (16feb19) git-svn-id: svn://tug.org/texlive/trunk@50036 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md | 29 ++++++++++- Master/texmf-dist/doc/latex/l3kernel/README.md | 2 +- Master/texmf-dist/doc/latex/l3kernel/expl3.pdf | Bin 585638 -> 585673 bytes .../texmf-dist/doc/latex/l3kernel/interface3.pdf | Bin 1553882 -> 1556695 bytes .../texmf-dist/doc/latex/l3kernel/interface3.tex | 2 +- .../texmf-dist/doc/latex/l3kernel/l3docstrip.pdf | Bin 263475 -> 263564 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.pdf | Bin 280265 -> 280304 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.tex | 2 +- .../doc/latex/l3kernel/l3syntax-changes.pdf | Bin 228008 -> 228031 bytes .../doc/latex/l3kernel/l3syntax-changes.tex | 2 +- .../doc/latex/l3kernel/l3term-glossary.pdf | Bin 186792 -> 186814 bytes .../doc/latex/l3kernel/l3term-glossary.tex | 2 +- Master/texmf-dist/doc/latex/l3kernel/source3.pdf | Bin 5673002 -> 5692276 bytes Master/texmf-dist/doc/latex/l3kernel/source3.tex | 2 +- .../texmf-dist/doc/latex/l3kernel/source3body.tex | 56 ++++++++++++++------- 15 files changed, 72 insertions(+), 25 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md index 542ba4d4775..156321c2af9 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md @@ -7,6 +7,31 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2019-02-15] + +### Changed + +- Defensive code for redefinition of `\time`, `\day`, `\month` and `\year` + +### Fixed + +- Resetting of key inheritance (see #535) +- Issue in deprecated command `\tl_set_from_file:Nnn` + (see https://tex.stackexchange.com/q/474813/) + +## [2019-02-03] + +### Added + +- Support for return of whole path by \cs{keys_set_known:nnN}-like + function \cs{keys_set_known:nnnN} (see #508) +- `.prop_(g)put:N` key property (see #444) + +### Fixed + +- Handling of nested key setting when filtering, _etc._ (see #526) +- Inheritance of default values (see #504) + ## [2019-01-28] ### Added @@ -273,7 +298,9 @@ this project uses date-based 'snapshot' version identifiers. - Step func­tions have been added for dim vari­ables, e.g. `\dim_step_in­line:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2019-01-28...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2019-02-15...HEAD +[2019-02-15]: https://github.com/latex3/latex3/compare/2019-02-03...2019-02-15 +[2019-02-03]: https://github.com/latex3/latex3/compare/2019-01-28...2019-02-03 [2019-01-28]: https://github.com/latex3/latex3/compare/2019-01-13...2019-01-28 [2019-01-13]: https://github.com/latex3/latex3/compare/2019-01-12...2019-01-13 [2019-01-12]: https://github.com/latex3/latex3/compare/2019-01-01...2019-01-12 diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md index e2922689838..facab4dfd7d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/README.md +++ b/Master/texmf-dist/doc/latex/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2019-01-28 +Release 2019-02-15 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf index 998675cf11e..376b01def49 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf index 7a806df027a..5da530e5ff1 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex index b0e86ea5451..83ae543ff3c 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-28} +\date{Released 2019-02-15} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf index 3c4d4a5f5d6..8fd8fa988cf 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf index 80e8ec14c51..43daecc9045 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex index 5f1af43ab76..fc232cb4282 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-28} +\date{Released 2019-02-15} \begin{document} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf index fc133822c87..cc5f0ee5307 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex index e615c89d3fe..9b801740f0f 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-28} +\date{Released 2019-02-15} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf index 663636f1a91..a2a947862c7 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf and b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex index 7d08ce163f9..0cd8d9f92d3 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-28} +\date{Released 2019-02-15} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf index 6203aa958a4..1d1af41d8cd 100644 Binary files a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf and b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex index 774aa0b1d65..f14e2d14a9b 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-28} +\date{Released 2019-02-15} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex index 2776b79af65..51f95429a75 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex @@ -134,10 +134,6 @@ take no arguments, this will be blank and the function name will end \texttt{:}. Most functions take one or more arguments, and use the following argument specifiers: \begin{description} - \item[\texttt{D}] The \texttt{D} specifier means \emph{do not use}. - All of the \TeX{} primitives are initially \cs{let} to a \texttt{D} - name, and some are then given a second name. Only the kernel - team should use anything with a \texttt{D} specifier! \item[\texttt{N} and \texttt{n}] These mean \emph{no manipulation}, of a single token for \texttt{N} and of a set of tokens given in braces for \texttt{n}. Both pass the argument through exactly as @@ -163,8 +159,13 @@ following argument specifiers: expansion}: every token in the argument is fully expanded until only unexpandable ones remain. The \TeX{} \tn{edef} primitive carries out this type of expansion. Functions which feature an \texttt{x}-type - argument are in general \emph{not} expandable, unless specifically - noted. + argument are \emph{not} expandable. + \item[\texttt{e}] The \texttt{e} specifier is in many respects + identical to \texttt{x}, but with a very different implementation. + Functions which feature an \texttt{e}-type argument may be + expandable. The drawback is that \texttt{e} is extremely slow + (often more than $200$ times slower) in older engines, more + precisely in non-\LuaTeX{} engines older than 2019. \item[\texttt{f}] The \texttt{f} specifier stands for \emph{full expansion}, and in contrast to \texttt{x} stops at the first non-expandable item (reading the argument from left to right) without @@ -188,7 +189,11 @@ following argument specifiers: \item[\texttt{w}] Finally, there is the \texttt{w} specifier for \emph{weird} arguments. This covers everything else, but mainly applies to delimited values (where the argument must be terminated - by some arbitrary string). + by some specified string). + \item[\texttt{D}] The \texttt{D} specifier means \emph{do not use}. + All of the \TeX{} primitives are initially \cs{let} to a \texttt{D} + name, and some are then given a second name. Only the kernel + team should use anything with a \texttt{D} specifier! \end{description} Notice that the argument specifier describes how the argument is processed prior to being passed to the underlying function. For example, @@ -215,22 +220,35 @@ function, typically starting with the module\footnote{The module names are and then a descriptive part. Variables end with a short identifier to show the variable type: \begin{description} - \item[\texttt{bool}] Either true or false. - \item[\texttt{box}] Box register. \item[\texttt{clist}] Comma separated list. - \item[\texttt{coffin}] a \enquote{box with handles} --- a higher-level data - type for carrying out |box| alignment operations. \item[\texttt{dim}] \enquote{Rigid} lengths. - \item[\texttt{fp}] floating-point values; + \item[\texttt{fp}] Floating-point values; \item[\texttt{int}] Integer-valued count register. - \item[\texttt{prop}] Property list. - \item[\texttt{seq}] \enquote{Sequence}: a data-type used to implement lists - (with access at both ends) and stacks. + \item[\texttt{muskip}] \enquote{Rubber} lengths for use in + mathematics. + \item[\texttt{seq}] \enquote{Sequence}: a data-type used to implement + lists (with access at both ends) and stacks. \item[\texttt{skip}] \enquote{Rubber} lengths. - \item[\texttt{stream}] An input or output stream (for reading from or - writing to, respectively). + \item[\texttt{str}] String variables: contain character data. \item[\texttt{tl}] Token list variables: placeholder for a token list. \end{description} +Applying \texttt{V}-type or \texttt{v}-type expansion to variables of +one of the above types is supported, while it is not supported for the +following variable types: +\begin{description} + \item[\texttt{bool}] Either true or false. + \item[\texttt{box}] Box register. + \item[\texttt{coffin}] A \enquote{box with handles} --- a higher-level + data type for carrying out \texttt{box} alignment operations. + \item[\texttt{flag}] Integer that can be incremented expandably. + \item[\texttt{fparray}] Fixed-size array of floating point values. + \item[\texttt{intarray}] Fixed-size array of integers. + \item[\texttt{ior}/\texttt{iow}] An input or output stream, for + reading from or writing to, respectively. + \item[\texttt{prop}] Property list: analogue of dictionary or + associative arrays in other languages. + \item[\texttt{regex}] Regular expression. +\end{description} \subsection{Terminological inexactitude} @@ -242,7 +260,9 @@ is a macro processor, and functions are simply macros that may or may not take arguments and expand to their replacement text. Many of the common variables are \emph{also} macros, and if placed into the input stream will simply expand to their definition as well~--- a \enquote{function} with no arguments and a -\enquote{token list variable} are in truth one and the same. On the other +\enquote{token list variable} are almost the same.\footnote{\TeX{}nically, +functions with no arguments are \tn{long} while token list variables are not.} +On the other hand, some \enquote{variables} are actually registers that must be initialised and their values set and retrieved with specific functions. -- cgit v1.2.3