summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-01-24 03:00:54 +0000
committerNorbert Preining <norbert@preining.info>2020-01-24 03:00:54 +0000
commite1192611f0655a1ccaff0dff2f53c7c65fa5db07 (patch)
tree232f5be17a2221a57cc6515bfe8692772b3a3e89 /macros/latex/contrib/l3kernel
parentf7e5d81fe9880913485f7f8c541eeca7adf4c195 (diff)
CTAN sync 202001240300
Diffstat (limited to 'macros/latex/contrib/l3kernel')
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md14
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin584331 -> 584331 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1538470 -> 1539597 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3alloc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3color-base.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx34
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin263041 -> 263041 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3final.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx84
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin413933 -> 413933 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin113527 -> 113527 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin140776 -> 140776 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin144780 -> 144780 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin107119 -> 107119 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin105092 -> 105092 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin140796 -> 140796 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin118976 -> 118976 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin152413 -> 152413 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin235323 -> 235323 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin147099 -> 147099 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin174241 -> 174241 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin244282 -> 244282 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.csv1
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin59384 -> 59390 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin279782 -> 279782 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin227512 -> 227512 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin186295 -> 186295 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx92
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin5757322 -> 5763116 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
84 files changed, 226 insertions, 119 deletions
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index 00a7689a9a..43b95da870 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-01-22]
+
+### Added
+- Support for command replacement in text expansion
+
+### Changed
+- Require key values for numerical key types (dim, int, etc.) (see #661)
+
+### Fixed
+- Issue with keys where some leading spaces could be left in key names
+
## [2020-01-12]
### Added
@@ -557,7 +568,8 @@ 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/2020-01-12...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-01-22...HEAD
+[2020-01-22]: https://github.com/latex3/latex3/compare/2020-01-12...2020-01-22
[2020-01-12]: https://github.com/latex3/latex3/compare/2019-11-07...2020-01-12
[2019-11-07]: https://github.com/latex3/latex3/compare/2019-10-28...2019-11-07
[2019-10-28]: https://github.com/latex3/latex3/compare/2019-10-27...2019-10-28
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index d42a602ff8..fad299d966 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2020-01-12
+Release 2020-01-22
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index 7295b770db..5f2037485e 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/contrib/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2020-01-12}%
+\def\ExplFileDate{2020-01-22}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 2cb019c335..fa571903fd 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index e1ad66bb50..6d4189bdd3 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex
index c8daecbd24..d20c01ebf0 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-01-12}
+\date{Released 2020-01-22}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3alloc.dtx b/macros/latex/contrib/l3kernel/l3alloc.dtx
index e3f88dfc94..158b56887f 100644
--- a/macros/latex/contrib/l3kernel/l3alloc.dtx
+++ b/macros/latex/contrib/l3kernel/l3alloc.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index 7814fd3089..51f183ce33 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index c503774a49..fa7c56b27d 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 16f74edd99..d055974c3b 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index adb399f9da..072b1f0be8 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index ab7cc6cca4..2639575a65 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index 0b27eddfdb..3e06884256 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color-base.dtx b/macros/latex/contrib/l3kernel/l3color-base.dtx
index f4fc3498f4..da0d56fdde 100644
--- a/macros/latex/contrib/l3kernel/l3color-base.dtx
+++ b/macros/latex/contrib/l3kernel/l3color-base.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 337fddffd7..25273f5c07 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index 32c5050d87..4cce22b241 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
@@ -873,24 +873,24 @@
%
% \subsection{Deprecated \pkg{l3str} functions}
%
-% \begin{macro}[EXP, deprecated = 2021-07-01]
+% \begin{macro}[EXP, deprecated = 2022-07-01]
% {
% \str_lower_case:n, \str_lower_case:f,
% \str_upper_case:n, \str_upper_case:f,
% \str_fold_case:n, \str_fold_case:V
% }
% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_lower_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_lowercase:n }
\cs_gset:Npn \str_lower_case:n { \str_lowercase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_lower_case:f }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_lowercase:f }
\cs_gset:Npn \str_lower_case:f { \str_lowercase:f }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_upper_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_uppercase:n }
\cs_gset:Npn \str_upper_case:n { \str_uppercase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_upper_case:f }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_uppercase:f }
\cs_gset:Npn \str_upper_case:f { \str_uppercase:f }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_fold_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_foldcase:n }
\cs_gset:Npn \str_fold_case:n { \str_foldcase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_fold_case:V }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_foldcase:V }
\cs_gset:Npn \str_fold_case:V { \str_foldcase:V }
% \end{macrocode}
% \end{macro}
@@ -1028,7 +1028,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP, deprecated = 2021-07-01]
+% \begin{macro}[EXP, deprecated = 2022-07-01]
% {
% \char_lower_case:N, \char_upper_case:N,
% \char_mixed_case:Nn, \char_fold_case:N,
@@ -1036,21 +1036,21 @@
% \char_str_mixed_case:Nn, \char_str_fold_case:N,
% }
% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_lower_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_lowercase:N }
\cs_gset:Npn \char_lower_case:N { \char_lowercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_upper_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_uppercase:N }
\cs_gset:Npn \char_upper_case:N { \char_uppercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_mixed_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_titlecase:N }
\cs_gset:Npn \char_mixed_case:N { \char_titlecase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_fold_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_foldcase:N }
\cs_gset:Npn \char_fold_case:N { \char_foldcase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_lower_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_lowercase:N }
\cs_gset:Npn \char_str_lower_case:N { \char_str_lowercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_upper_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_uppercase:N }
\cs_gset:Npn \char_str_upper_case:N { \char_str_uppercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_mixed_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_titlecase:N }
\cs_gset:Npn \char_str_mixed_case:N { \char_str_titlecase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_fold_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_foldcase:N }
\cs_gset:Npn \char_str_fold_case:N { \char_str_foldcase:N }
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index c294944482..c2333adb50 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index 3f64b98edf..bc7bd712ed 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index 5f2bda13ce..ca54cad98b 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx
index a2767d9692..2adec11ca7 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index 274d5da8ec..65a4d8e247 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3final.dtx b/macros/latex/contrib/l3kernel/l3final.dtx
index a8677aeb68..14b8affe91 100644
--- a/macros/latex/contrib/l3kernel/l3final.dtx
+++ b/macros/latex/contrib/l3kernel/l3final.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index 2f8b6dcc77..e0ce156f1e 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index ee6abd5f55..529f5e966b 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index f306cc12c1..6b43074618 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index bf0afbf7c4..89ee175a51 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index b6b9e0d7c9..f596ece141 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index d830b74036..a8fb4bc929 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index 961655d05a..3134edee74 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index e6aab8c394..fd841bf44e 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 4c4c31c95e..6c9228aa92 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index e56642bd6d..8ed7387fd2 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index 672bfd9c8a..545a67194f 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index 74809e6385..d47a70452a 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index fced52d759..61ef2f4250 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 44530a1518..56a9238cc2 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index e7f0675fc9..748a705b3d 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index bc68230b3f..c0d70864a5 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index 6fc43aad65..9a957da913 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index 98f588a53e..0aa6beaab8 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index 54167b15c2..8045b98036 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
@@ -270,22 +270,26 @@
% does not trigger an error.
% \end{function}
%
-% \begin{function}{.dim_set:N, .dim_set:c, .dim_gset:N, .dim_gset:c}
+% \begin{function}[updated = 2020-01-17]
+% {.dim_set:N, .dim_set:c, .dim_gset:N, .dim_gset:c}
% \begin{syntax}
% \meta{key} .dim_set:N = \meta{dimension}
% \end{syntax}
% Defines \meta{key} to set \meta{dimension} to \meta{value} (which
% must a dimension expression). If the variable does not exist, it
-% is created globally at the point that the key is set up.
+% is created globally at the point that the key is set up. The key will
+% require a value at point-of-use unless a default is set.
% \end{function}
%
-% \begin{function}{.fp_set:N, .fp_set:c, .fp_gset:N, .fp_gset:c}
+% \begin{function}[updated = 2020-01-17]
+% {.fp_set:N, .fp_set:c, .fp_gset:N, .fp_gset:c}
% \begin{syntax}
% \meta{key} .fp_set:N = \meta{floating point}
% \end{syntax}
% Defines \meta{key} to set \meta{floating point} to \meta{value}
% (which must a floating point expression). If the variable does not exist,
-% it is created globally at the point that the key is set up.
+% it is created globally at the point that the key is set up. The key will
+% require a value at point-of-use unless a default is set.
% \end{function}
%
% \begin{function}[added = 2013-07-14]
@@ -329,13 +333,15 @@
% \end{quote}
% \end{function}
%
-% \begin{function}{.int_set:N, .int_set:c, .int_gset:N, .int_gset:c}
+% \begin{function}[updated = 2020-01-17]
+% {.int_set:N, .int_set:c, .int_gset:N, .int_gset:c}
% \begin{syntax}
% \meta{key} .int_set:N = \meta{integer}
% \end{syntax}
% Defines \meta{key} to set \meta{integer} to \meta{value} (which
% must be an integer expression). If the variable does not exist, it
-% is created globally at the point that the key is set up.
+% is created globally at the point that the key is set up. The key will
+% require a value at point-of-use unless a default is set.
% \end{function}
%
% \begin{function}[updated = 2013-07-10]{.meta:n}
@@ -382,14 +388,15 @@
% Choices are discussed in detail in section~\ref{sec:l3keys:choice}.
% \end{function}
%
-% \begin{function}[added = 2019-05-05]
+% \begin{function}[added = 2019-05-05, updated = 2020-01-17]
% {.muskip_set:N, .muskip_set:c, .muskip_gset:N, .muskip_gset:c}
% \begin{syntax}
% \meta{key} .muskip_set:N = \meta{muskip}
% \end{syntax}
% Defines \meta{key} to set \meta{muskip} to \meta{value} (which
% must be a muskip expression). If the variable does not exist, it
-% is created globally at the point that the key is set up.
+% is created globally at the point that the key is set up. The key will
+% require a value at point-of-use unless a default is set.
% \end{function}
%
% \begin{function}[added = 2019-01-31]
@@ -403,13 +410,15 @@
% is created globally at the point that the key is set up.
% \end{function}
%
-% \begin{function}{.skip_set:N, .skip_set:c, .skip_gset:N, .skip_gset:c}
+% \begin{function}[updated = 2020-01-17]
+% {.skip_set:N, .skip_set:c, .skip_gset:N, .skip_gset:c}
% \begin{syntax}
% \meta{key} .skip_set:N = \meta{skip}
% \end{syntax}
% Defines \meta{key} to set \meta{skip} to \meta{value} (which
% must be a skip expression). If the variable does not exist, it
-% is created globally at the point that the key is set up.
+% is created globally at the point that the key is set up. The key will
+% require a value at point-of-use unless a default is set.
% \end{function}
%
% \begin{function}{.tl_set:N, .tl_set:c, .tl_gset:N, .tl_gset:c}
@@ -1145,7 +1154,7 @@
% One message for the low level parsing system.
% \begin{macrocode}
\__kernel_msg_new:nnnn { kernel } { misplaced-equals-sign }
- { Misplaced~equals~sign~in~key-value~input~\msg_line_number: }
+ { Misplaced~equals~sign~in~key-value~input~\msg_line_context: }
{
LaTeX~is~attempting~to~parse~some~key-value~input~but~found~
two~equals~signs~not~separated~by~a~comma.
@@ -1591,6 +1600,7 @@
\cs_set_nopar:cpx
{ \c_@@_default_root_tl \l_keys_path_tl }
{ \exp_not:n {#1} }
+ \@@_value_requirement:nn { required } { false }
}
}
% \end{macrocode}
@@ -1766,6 +1776,7 @@
% \end{macro}
%
% \begin{macro}{\@@_variable_set:NnnN, \@@_variable_set:cnnN}
+% \begin{macro}{\@@_variable_set_required:NnnN, \@@_variable_set_required:cnnN}
% Setting a variable takes the type and scope separately so that
% it is easy to make a new variable if needed.
% \begin{macrocode}
@@ -1780,8 +1791,15 @@
}
}
\cs_generate_variant:Nn \@@_variable_set:NnnN { c }
+\cs_new_protected:Npn \@@_variable_set_required:NnnN #1#2#3#4
+ {
+ \@@_variable_set:NnnN #1 {#2} {#3} #4
+ \@@_value_requirement:nn { required } { true }
+ }
+\cs_generate_variant:Nn \@@_variable_set_required:NnnN { c }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \subsection{Creating key properties}
%
@@ -1895,13 +1913,13 @@
% Setting a variable is very easy: just pass the data along.
% \begin{macrocode}
\cs_new_protected:cpn { \c_@@_props_root_tl .dim_set:N } #1
- { \@@_variable_set:NnnN #1 { dim } { } n }
+ { \@@_variable_set_required:NnnN #1 { dim } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .dim_set:c } #1
- { \@@_variable_set:cnnN {#1} { dim } { } n }
+ { \@@_variable_set_required:cnnN {#1} { dim } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .dim_gset:N } #1
- { \@@_variable_set:NnnN #1 { dim } { g } n }
+ { \@@_variable_set_required:NnnN #1 { dim } { g } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .dim_gset:c } #1
- { \@@_variable_set:cnnN {#1} { dim } { g } n }
+ { \@@_variable_set_required:cnnN {#1} { dim } { g } n }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1911,13 +1929,13 @@
% Setting a variable is very easy: just pass the data along.
% \begin{macrocode}
\cs_new_protected:cpn { \c_@@_props_root_tl .fp_set:N } #1
- { \@@_variable_set:NnnN #1 { fp } { } n }
+ { \@@_variable_set_required:NnnN #1 { fp } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .fp_set:c } #1
- { \@@_variable_set:cnnN {#1} { fp } { } n }
+ { \@@_variable_set_required:cnnN {#1} { fp } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .fp_gset:N } #1
- { \@@_variable_set:NnnN #1 { fp } { g } n }
+ { \@@_variable_set_required:NnnN #1 { fp } { g } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .fp_gset:c } #1
- { \@@_variable_set:cnnN {#1} { fp } { g } n }
+ { \@@_variable_set_required:cnnN {#1} { fp } { g } n }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1957,13 +1975,13 @@
% Setting a variable is very easy: just pass the data along.
% \begin{macrocode}
\cs_new_protected:cpn { \c_@@_props_root_tl .int_set:N } #1
- { \@@_variable_set:NnnN #1 { int } { } n }
+ { \@@_variable_set_required:NnnN #1 { int } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .int_set:c } #1
- { \@@_variable_set:cnnN {#1} { int } { } n }
+ { \@@_variable_set_required:cnnN {#1} { int } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .int_gset:N } #1
- { \@@_variable_set:NnnN #1 { int } { g } n }
+ { \@@_variable_set_required:NnnN #1 { int } { g } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .int_gset:c } #1
- { \@@_variable_set:cnnN {#1} { int } { g } n }
+ { \@@_variable_set_required:cnnN {#1} { int } { g } n }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2012,13 +2030,13 @@
% Setting a variable is very easy: just pass the data along.
% \begin{macrocode}
\cs_new_protected:cpn { \c_@@_props_root_tl .muskip_set:N } #1
- { \@@_variable_set:NnnN #1 { muskip } { } n }
+ { \@@_variable_set_required:NnnN #1 { muskip } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .muskip_set:c } #1
- { \@@_variable_set:cnnN {#1} { muskip } { } n }
+ { \@@_variable_set_required:cnnN {#1} { muskip } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .muskip_gset:N } #1
- { \@@_variable_set:NnnN #1 { muskip } { g } n }
+ { \@@_variable_set_required:NnnN #1 { muskip } { g } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .muskip_gset:c } #1
- { \@@_variable_set:cnnN {#1} { muskip } { g } n }
+ { \@@_variable_set_required:cnnN {#1} { muskip } { g } n }
% \end{macrocode}
% \end{macro}
%
@@ -2041,13 +2059,13 @@
% Setting a variable is very easy: just pass the data along.
% \begin{macrocode}
\cs_new_protected:cpn { \c_@@_props_root_tl .skip_set:N } #1
- { \@@_variable_set:NnnN #1 { skip } { } n }
+ { \@@_variable_set_required:NnnN #1 { skip } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .skip_set:c } #1
- { \@@_variable_set:cnnN {#1} { skip } { } n }
+ { \@@_variable_set_required:cnnN {#1} { skip } { } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .skip_gset:N } #1
- { \@@_variable_set:NnnN #1 { skip } { g } n }
+ { \@@_variable_set_required:NnnN #1 { skip } { g } n }
\cs_new_protected:cpn { \c_@@_props_root_tl .skip_gset:c } #1
- { \@@_variable_set:cnnN {#1} { skip } { g } n }
+ { \@@_variable_set_required:cnnN {#1} { skip } { g } n }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2711,7 +2729,7 @@
\cs_set:Npn \@@_trim_spaces_auxiii:w #1 /
{
\quark_if_recursion_tail_stop:n {#1}
- \tl_trim_spaces:n { / #1 }
+ / \tl_trim_spaces:n { #1 }
\@@_trim_spaces_auxiii:w
}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index 21d6fe5146..5fe0f559ca 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index a9f1f0c0a3..76e8fbf106 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index 3b52246c27..508b11101f 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index cce95b9866..b5794158df 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -2,7 +2,7 @@
%
%% File: l3names.dtx
%
-% Copyright (C) 1990-2019 The LaTeX3 project
+% Copyright (C) 1990-2020 The LaTeX3 Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index 404b6e0e82..b0d0767acf 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index 580bd304a1..a86e4201d6 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index 7b184b9e94..7669c66d8c 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index 801fed2917..79a1b131a1 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index 28a8779ab6..d5b02c562e 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index 3fa6010bab..f7b1ec59a0 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index a3c20b9140..60be4341bc 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index 7904107be8..8bc8bff460 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index 7a076e7bef..5ad9a56908 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index 4f6b2ca8f3..dc5d035cfe 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 5f866c8906..5e4c0178d3 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index 2094a11805..6d283e11c7 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index c64dcda56c..617d9b6e28 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/contrib/l3kernel/l3prefixes.csv
index c43913c283..24cf6cd80b 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -160,6 +160,7 @@ tl,"l3kernel,l3tl-analysis,l3tl-build",The LaTeX3 Project,https://www.latex-proj
tmpa,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tmpb,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tag,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2019-06-02,2019-06-02,
+text,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
token,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
uftag,tagpdf,Ulrike Fischer,,,,2018-07-15,2018-07-15,
um,unicode-math,Will Robertson,https://github.com/wspr/unicode-math,https://github.com/wspr/unicode-math.git,https://github.com/wspr/unicode-math/issues,2013-03-16,2013-03-16,
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 8117582c19..6b786e49c9 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx
index 6a503a97f6..00d03322d6 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index 445695ac0f..5149bccfc2 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index d3ee404a2f..b299651b81 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index f096c3e65d..a52cc40cbb 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index bc21d02688..915f118057 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index cbb2345e78..28606e8c4c 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 1cb084742b..b16baf2834 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index 07343492cd..78216f7359 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index 9947592862..ddcffc9a0a 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index c8be704965..f55eade362 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex
index 9b48213e4a..82f13348de 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/contrib/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-01-12}
+\date{Released 2020-01-22}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index 5d9e1b7053..0380eb1dac 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
index 26c5850c23..44e99ca1a3 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/contrib/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 2020-01-12}
+\date{Released 2020-01-22}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 12ebc542a5..df4921bdf6 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 60440afea3..17cab8ffc9 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex
index e982eb5761..bdf40005a3 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/contrib/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 2020-01-12}
+\date{Released 2020-01-22}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index 3c608eacb9..06d6e54135 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index 0efc072cf8..ba97945154 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
@@ -77,6 +77,19 @@
% expansion
% \end{function}
%
+% \begin{function}[added = 2020-01-22]
+% {
+% \text_declare_expand_equivalent:Nn ,
+% \text_declare_expand_equivalent:cn
+% }
+% \begin{syntax}
+% \cs{text_declare_expand_equivalent:Nn} \meta{cmd} \Arg{replacement}
+% \end{syntax}
+% Declares that the \meta{replacement} tokens should be used whenever the
+% \meta{cmd} (a single token) is encountered. The \meta{replacement} tokens
+% should be expandable.
+% \end{function}
+%
% \subsection{Case changing}
%
% \begin{function}[EXP, added = 2019-11-20]
@@ -189,8 +202,7 @@
% \end{variable}
%
% \begin{variable}{\l_text_expand_exclude_tl}
-% Lists commands which are excluded from expansion. (Defined only for the
-% \LaTeXe{} package.)
+% Lists commands which are excluded from expansion.
% \end{variable}
%
% \end{documentation}
@@ -426,7 +438,7 @@
% Non-text arguments.
% \begin{macrocode}
\tl_new:N \l_text_case_exclude_arg_tl
-\tl_set:Nn \l_text_case_exclude_arg_tl { \cite \label \ref }
+\tl_set:Nn \l_text_case_exclude_arg_tl { \begin \cite \end \label \ref }
% \end{macrocode}
% \end{variable}
%
@@ -449,8 +461,8 @@
% \begin{variable}{\l_text_expand_exclude_tl}
% Commands which need not to expand.
% \begin{macrocode}
-%<*package>
\tl_new:N \l_text_expand_exclude_tl
+%<*package>
\tl_set:Nn \l_text_expand_exclude_tl
{ \cite \label \ref }
%</package>
@@ -523,7 +535,10 @@
% }
% \begin{macro}[EXP]{\@@_expand_protect:nN}
% \begin{macro}[EXP]{\@@_expand_protect:Nw}
+% \begin{macro}[EXP]{\@@_expand_replace:N}
+% \begin{macro}[EXP]{\@@_expand_replace:n}
% \begin{macro}[EXP]{\@@_expand_cs_expand:N}
+% \begin{macro}[EXP]{\@@_expand_noexpand:n}
% After precautions against |&| tokens, start a simple loop: that of
% course means that \enquote{text} cannot contain the two recursion
% quarks. The loop here must be \texttt{f}-type expandable; we have
@@ -835,7 +850,7 @@
{
\str_if_eq:nnTF {#1} { \protect }
{ \@@_expand_protect:N }
- { \@@_expand_cs_expand:N #1 }
+ { \@@_expand_replace:N #1 }
}
\cs_new:Npn \@@_expand_protect:N #1
{
@@ -856,18 +871,47 @@
\@@_expand_loop:w
}
% \end{macrocode}
+% See if there is a dedicated replacement, and if there is, insert it.
+% \begin{macrocode}
+\cs_new:Npn \@@_expand_replace:N #1
+ {
+ \bool_lazy_and:nnTF
+ { \cs_if_exist_p:c { l_@@_expand_ \token_to_str:N #1 _tl } }
+ {
+ \bool_lazy_or_p:nn
+ { \token_if_cs_p:N #1 }
+ { \token_if_active_p:N #1 }
+ }
+ {
+ \exp_args:Nv \@@_expand_replace:n
+ { l_@@_expand_ \token_to_str:N #1 _tl }
+ }
+ { \@@_expand_cs_expand:N #1 }
+ }
+\cs_new:Npn \@@_expand_replace:n #1 { \@@_expand_loop:w #1 }
+% \end{macrocode}
% Finally, expand any macros which can be: this then loops back around to
-% deal with what they produce.
+% deal with what they produce. The only issue is if the token is
+% \cs{exp_not:n}, as that must apply to the following balanced text.
% \begin{macrocode}
\cs_new:Npn \@@_expand_cs_expand:N #1
{
\@@_if_expandable:NTF #1
- { \exp_after:wN \@@_expand_loop:w #1 }
+ {
+ \str_if_eq:nnTF {#1} { \exp_not:n }
+ { \@@_expand_noexpand:n }
+ { \exp_after:wN \@@_expand_loop:w #1 }
+ }
{
\@@_expand_store:n {#1}
\@@_expand_loop:w
}
}
+\cs_new:Npn \@@_expand_noexpand:n #1
+ {
+ \@@_expand_store:n {#1}
+ \@@_expand_loop:w
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -893,6 +937,38 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}
+% {
+% \text_declare_expand_equivalent:Nn ,
+% \text_declare_expand_equivalent:cn
+% }
+% Create equivalents to allow replacement.
+% \begin{macrocode}
+\cs_new_protected:Npn \text_declare_expand_equivalent:Nn #1#2
+ {
+ \tl_clear_new:c { l_@@_expand_ \token_to_str:N #1 _tl }
+ \tl_set:cn { l_@@_expand_ \token_to_str:N #1 _tl } {#2}
+ }
+\cs_generate_variant:Nn \text_declare_expand_equivalent:Nn { c }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\@@_expand_textcomp:NN}
+% Filter out \pkg{textcomp}-like commands.
+% \begin{macrocode}
+%<*package>
+\cs_new:Npn \@@_expand_textcomp:NN #1#2 { \exp_not:n {#1} }
+\text_declare_expand_equivalent:cn { ?-cmd } { \@@_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { T1-cmd } { \@@_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { TS1-cmd } { \@@_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { TU-cmd } { \@@_expand_textcomp:NN }
+%</package>
+% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%</initex|package>
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index e9f36e03b8..f744c4be17 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index a564e6eca3..21998dae31 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index 93b1e6ffc5..68f849ae54 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index 383826eaeb..c02f0d5592 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-01-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index d630d86daf..cbd12bf75e 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex
index 76a9c01fea..0d282c451f 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/contrib/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-01-12}
+\date{Released 2020-01-22}
\pagenumbering{roman}
\maketitle