From bb1d5d5bb3f0deddd2c473b3881cd785b002d768 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 13 Jan 2019 23:32:04 +0000 Subject: l3kernel (13jan19) git-svn-id: svn://tug.org/texlive/trunk@49692 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md | 15 +- Master/texmf-dist/doc/latex/l3kernel/README.md | 4 +- Master/texmf-dist/doc/latex/l3kernel/expl3.pdf | Bin 585341 -> 585342 bytes .../texmf-dist/doc/latex/l3kernel/interface3.pdf | Bin 1546427 -> 1546642 bytes .../texmf-dist/doc/latex/l3kernel/interface3.tex | 2 +- .../texmf-dist/doc/latex/l3kernel/l3docstrip.pdf | Bin 263282 -> 263282 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.pdf | Bin 279987 -> 279987 bytes .../texmf-dist/doc/latex/l3kernel/l3styleguide.tex | 2 +- .../doc/latex/l3kernel/l3syntax-changes.pdf | Bin 227712 -> 227713 bytes .../doc/latex/l3kernel/l3syntax-changes.tex | 2 +- .../doc/latex/l3kernel/l3term-glossary.pdf | Bin 186498 -> 186496 bytes .../doc/latex/l3kernel/l3term-glossary.tex | 2 +- Master/texmf-dist/doc/latex/l3kernel/source3.pdf | Bin 5635485 -> 5641028 bytes Master/texmf-dist/doc/latex/l3kernel/source3.tex | 2 +- Master/texmf-dist/source/latex/l3kernel/expl3.dtx | 4 +- .../texmf-dist/source/latex/l3kernel/l3alloc.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3basics.dtx | 2 +- .../source/latex/l3kernel/l3bootstrap.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3box.dtx | 4 +- .../source/latex/l3kernel/l3candidates.dtx | 41 ++--- .../texmf-dist/source/latex/l3kernel/l3clist.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3coffins.dtx | 4 +- .../source/latex/l3kernel/l3color-base.dtx | 4 +- .../source/latex/l3kernel/l3deprecation.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3doc.dtx | 27 +++- .../source/latex/l3kernel/l3docstrip.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3drivers.dtx | 14 +- .../texmf-dist/source/latex/l3kernel/l3expan.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3file.dtx | 12 +- .../texmf-dist/source/latex/l3kernel/l3final.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3flag.dtx | 2 +- .../source/latex/l3kernel/l3fp-assign.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fp-aux.dtx | 4 +- .../source/latex/l3kernel/l3fp-basics.dtx | 2 +- .../source/latex/l3kernel/l3fp-convert.dtx | 4 +- .../texmf-dist/source/latex/l3kernel/l3fp-expo.dtx | 2 +- .../source/latex/l3kernel/l3fp-extended.dtx | 2 +- .../source/latex/l3kernel/l3fp-logic.dtx | 2 +- .../source/latex/l3kernel/l3fp-parse.dtx | 2 +- .../source/latex/l3kernel/l3fp-random.dtx | 2 +- .../source/latex/l3kernel/l3fp-round.dtx | 4 +- .../source/latex/l3kernel/l3fp-traps.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3fp-trig.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3fp.dtx | 31 ++-- .../texmf-dist/source/latex/l3kernel/l3fparray.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3int.dtx | 8 +- .../source/latex/l3kernel/l3intarray.dtx | 2 +- .../source/latex/l3kernel/l3kernel-functions.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3keys.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3luatex.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3msg.dtx | 6 +- .../texmf-dist/source/latex/l3kernel/l3names.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3prg.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3prop.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3quark.dtx | 2 +- .../texmf-dist/source/latex/l3kernel/l3regex.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3seq.dtx | 6 +- Master/texmf-dist/source/latex/l3kernel/l3skip.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3sort.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3str.dtx | 6 +- Master/texmf-dist/source/latex/l3kernel/l3sys.dtx | 2 +- .../source/latex/l3kernel/l3tl-analysis.dtx | 2 +- Master/texmf-dist/source/latex/l3kernel/l3tl.dtx | 6 +- .../texmf-dist/source/latex/l3kernel/l3token.dtx | 5 +- .../texmf-dist/source/latex/l3kernel/l3unicode.dtx | 140 ++++++++-------- .../texmf-dist/tex/latex/l3kernel/expl3-code.tex | 178 +++++++++++---------- .../tex/latex/l3kernel/expl3-generic.tex | 2 +- Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3doc.cls | 17 +- .../texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def | 4 +- Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | 4 +- Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def | 4 +- Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def | 4 +- .../texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def | 4 +- 74 files changed, 358 insertions(+), 284 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md index 65ef9a5187e..43fab4c3deb 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md @@ -7,6 +7,18 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2019-01-12] + +### Changed + +- Improved `expl3` loading time with LuaTeX and XeTeX +- Improved performance of `\ior_map_inline:Nn` and related functions + +### Fixed + +- Handling of accented characters under mixed case changing in 8-bit engines + (see #514) + ## [2019-01-01] ### Added @@ -218,7 +230,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/2019-01-01...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2019-01-12...HEAD +[2019-01-12]: https://github.com/latex3/latex3/compare/2019-01-01...2019-01-12 [2019-01-01]: https://github.com/latex3/latex3/compare/2018-12-12...2019-01-01 [2018-12-12]: https://github.com/latex3/latex3/compare/2018-12-11...2018-12-12 [2018-12-11]: https://github.com/latex3/latex3/compare/2018-12-06...2018-12-11 diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md index 8329742213c..3d60a73d5c7 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-01 +Release 2019-01-12 Overview -------- @@ -100,6 +100,6 @@ the [LaTeX-L list](#Discussion) should be used. ----- -

Copyright (C) 1998-2012,2015-2018 The LaTeX3 Project
+

Copyright (C) 1998-2012,2015-2019 The LaTeX3 Project
http://latex-project.org/
All rights reserved.

diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf index 22b2f839aa9..2efd8f15a13 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 95013a203fa..0bbdb240f56 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 415d3b1cf0b..064d3a13924 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex @@ -52,7 +52,7 @@ {latex-team@latex-project.org}% }% } -\date{Released 2019-01-01} +\date{Released 2019-01-12} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf index fd64de89f3f..c6f1929538a 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 fe3f5821961..8337aef5478 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 2471247cdec..39371eea515 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex @@ -30,7 +30,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-01} +\date{Released 2019-01-12} \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 9f7a2bd50ea..db36d532135 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 ff60e89c2de..ad7728ce9db 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 2019-01-01} +\date{Released 2019-01-12} \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 15d3f1ffd35..878eba8154a 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 e4ddf2cbfac..729f06bab61 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex @@ -30,7 +30,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2019-01-01} +\date{Released 2019-01-12} \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 12efdc47746..629a661fb15 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 a1bd10b08f2..a7ade309819 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex @@ -51,7 +51,7 @@ {latex-team@latex-project.org}% }% } -\date{Released 2019-01-01} +\date{Released 2019-01-12} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx index 010acc2ef42..615f179bb16 100644 --- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx @@ -21,7 +21,7 @@ % for those people who are interested. % %<*driver|generic|package> -\def\ExplFileDate{2019-01-01}% +\def\ExplFileDate{2019-01-12}% % %<*driver> \documentclass[full]{l3doc} @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx index 46d67b00d5e..94e523ea661 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx index 44e0968f05b..03bd6180794 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx index 5b6c4aa23eb..2ce2f3b2e11 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx @@ -138,7 +138,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx index 39a4ab8c754..ef4a9b2d763 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -583,7 +583,7 @@ % \vbox_gset_to_ht:Nnw, \vbox_gset_to_ht:cnw % } % \begin{syntax} -% \cs{vbox_set_to_wd:Nnw} \meta{box} \Arg{dimexpr} \meta{contents} \cs{vbox_set_end:} +% \cs{vbox_set_to_ht:Nnw} \meta{box} \Arg{dimexpr} \meta{contents} \cs{vbox_set_end:} % \end{syntax} % Typesets the \meta{contents} to the height given by the \meta{dimexpr} % and then stores the result inside the \meta{box}. In contrast diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx index 780b8ac6b03..c23a8825320 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -353,9 +353,7 @@ % path and the additional paths controlled by \cs{file_path_include:n}. % If found, sets the \meta{str var} to the size of the file in bytes. % Where the file is not found, the \meta{str var} will be empty. -% \begin{texnote} -% Currently this is not available with \XeTeX{}. -% \end{texnote} +% This is not available in older versions of \XeTeX{}. % \end{function} % % \begin{function}[added = 2017-07-09]{\file_get_timestamp:nN} @@ -369,9 +367,7 @@ % \meta{minute}\meta{second}\meta{offset}, where the latter may be |Z| % (UTC) or \meta{plus-minus}\meta{hours}|'|\meta{minutes}|'|. % Where the file is not found, the \meta{str var} will be empty. -% \begin{texnote} -% Currently this is not available with \XeTeX{}. -% \end{texnote} +% This is not available in older versions of \XeTeX{}. % \end{function} % % \begin{function}[added = 2014-07-02]{\file_if_exist_input:n, \file_if_exist_input:nF} @@ -451,8 +447,9 @@ % $2^{30}-1$, an error occurs. Entries are generated in the same way % as repeated calls to \cs{int_rand:nn} or \cs{int_rand:n} % respectively, in particular for the second function the -% \meta{minimum} is $1$. This is not yet available in \XeTeX{}. +% \meta{minimum} is $1$. % Assignments are always global. +% This is not available in older versions of \XeTeX{}. % \end{function} % % \subsection{Working with contents of integer arrays} @@ -632,7 +629,8 @@ % \end{syntax} % Selects a pseudo-random key--value pair from the \meta{property list} % and returns \Arg{key} and \Arg{value}. If the \meta{property list} is -% empty the result is empty. This is not yet available in \XeTeX{}. +% empty the result is empty. +% This is not available in older versions of \XeTeX{}. % \begin{texnote} % The result is returned within the \tn{unexpanded} % primitive (\cs{exp_not:n}), which means that the \meta{value} @@ -4443,34 +4441,39 @@ \exp_after:wN \@@_tmp:w \l_@@_internal_a_tl \@@_loop:nn } - \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8 + \cs_set_protected:Npn \@@_tmp:nnnn #1#2#3#4#5 { \tl_const:cx { - c_@@_lower_case_ - \char_generate:nn {#1} { 12 } + c_@@_ #1 _case_ \char_generate:nn {#2} { 12 } + \char_generate:nn {#3} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#5} { 13 } + \exp_not:N \char_generate:nn {#4} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#6} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } } + } + \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8 + { \tl_const:cx { - c_@@_upper_case_ - \char_generate:nn {#5} { 12 } - \char_generate:nn {#6} { 12 } + c_@@_lower_case_ + \char_generate:nn {#1} { 12 } + \char_generate:nn {#2} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#1} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#2} { 13 } + \exp_not:N \char_generate:nn {#6} { 13 } } + \@@_tmp:nnnn { upper } {#5} {#6} {#1} {#2} + \@@_tmp:nnnn { mixed } {#5} {#6} {#1} {#2} } \@@_loop:nn { 00C0 } { 00E0 } diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx index 3ed242d1809..2972346e50b 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx index 2f9429c6d12..59cf147c27b 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3coffins.dtx Copyright(C) 2010-2019 The LaTeX3 Project +%% File: l3coffins.dtx Copyright (C) 2010-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx index aa5b6a1d2ec..1946a9a269e 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2019 The LaTeX3 Project +%% File: l3color-base.dtx Copyright (C) 2011,2012,2014,2016-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx index 37860cf2cb3..5015598e4d6 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx index 43a05058002..01bc02e5e31 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx @@ -29,7 +29,7 @@ \askforoverwritefalse \preamble -Copyright (C) 1990-2017 The LaTeX3 Project +Copyright (C) 1990-2017,2019 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 @@ -77,7 +77,7 @@ and all files in that bundle must be distributed together. % % \title{The \cls{l3doc} class} % \author{\Team} -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % \maketitle % \tableofcontents % @@ -1351,6 +1351,8 @@ and all files in that bundle must be distributed together. { The~deprecated~function(s)~'#1'~should~have~been~removed~on~#2. } \msg_new:nnn { l3doc } { date-format } { The~date~'#1'~should~be~given~in~YYYY-MM-DD~format. } +\msg_new:nnn { l3doc } { future-date } + { The~added/updated~date~'#2'~of~'#1'~is~in~the~future. } \msg_new:nnn { l3doc } { syntax-nested-function } { The~'syntax'~environment~should~be~used~in~the~ @@ -2370,8 +2372,8 @@ and all files in that bundle must be distributed together. \bool_set_true:N \l_@@_macro_noTF_bool \bool_set_true:N \l_@@_macro_TF_bool } , - added .code:n = { \@@_date_set:Nn \l_@@_date_added_tl {#1} }, - updated .code:n = { \@@_date_set:Nn \l_@@_date_updated_tl {#1} } , + added .code:n = { \@@_date_set_past:Nn \l_@@_date_added_tl {#1} }, + updated .code:n = { \@@_date_set_past:Nn \l_@@_date_updated_tl {#1} } , deprecated .code:n = { \@@_deprecated_on:n {#1} } , tested .code:n = { } , label .code:n = @@ -2385,9 +2387,11 @@ and all files in that bundle must be distributed together. } % \end{macrocode} % -% \begin{macro}{\@@_date_set:Nn} +% \begin{macro}{\@@_date_set:Nn,\@@_date_set_past:Nn} % Normalize the date into the format \texttt{YYYY-MM-DD}; more -% precisely month and day are allowed to be single digits. +% precisely month and day are allowed to be single digits. The +% \cs{@@_date_set_past:Nn} function only allows dates in the past (or +% same day). % \begin{macrocode} \cs_new_protected:Npn \@@_date_set:Nn #1#2 { @@ -2399,6 +2403,17 @@ and all files in that bundle must be distributed together. \tl_set:Nn #1 { 1970-01-01 } } } +\cs_new_protected:Npn \@@_date_set_past:Nn #1#2 + { + \@@_date_set:Nn #1 {#2} + \exp_args:No \@@_date_compare:nNnT + {#1} > { \tex_year:D - \tex_month:D - \tex_day:D } + { + \msg_error:nnxx { l3doc } { future-date } + { \tl_to_str:N \l_@@_macro_argument_tl } + {#1} + } + } % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx index 96633a2f925..175b865f832 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx @@ -61,7 +61,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx index 340af23602f..4028ef36d1c 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3drivers.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -554,23 +554,23 @@ %<*package> \ProvidesExplFile %<*dvipdfmx> - {l3dvidpfmx.def}{2019-01-01}{} + {l3dvidpfmx.def}{2019-01-12}{} {L3 Experimental driver: dvipdfmx} % %<*dvips> - {l3dvips.def}{2019-01-01}{} + {l3dvips.def}{2019-01-12}{} {L3 Experimental driver: dvips} % %<*dvisvgm> - {l3dvisvgm.def}{2019-01-01}{} + {l3dvisvgm.def}{2019-01-12}{} {L3 Experimental driver: dvisvgm} % %<*pdfmode> - {l3pdfmode.def}{2019-01-01}{} + {l3pdfmode.def}{2019-01-12}{} {L3 Experimental driver: PDF mode} % %<*xdvipdfmx> - {l3xdvidpfmx.def}{2019-01-01}{} + {l3xdvidpfmx.def}{2019-01-12}{} {L3 Experimental driver: xdvipdfmx} % % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx index 7d5d2bf5d22..e6794c011d3 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx index 1b1248f2484..c6edd31bf4e 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -1002,11 +1002,11 @@ \cs_new_protected:Npn \@@_map_inline_loop:NNN #1#2#3 { #2 #3 \l_@@_internal_tl - \ior_if_eof:NF #3 - { - \exp_args:No #1 \l_@@_internal_tl - \@@_map_inline_loop:NNN #1#2#3 - } + \if_eof:w #3 + \exp_after:wN \use_none:nnnnnnn + \fi: + \exp_args:No #1 \l_@@_internal_tl + \@@_map_inline_loop:NNN #1#2#3 } % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx index 36809a81885..3909edc9159 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3final.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3final.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx index 2a5e284ecd8..f8c2d33457d 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx index d5527679b62..32c94b8f302 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % \maketitle % % \begin{documentation} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx index 785c6693069..fc59a450269 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3fp-aux.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-aux.dtx Copyright (C) 2011-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx index 1cb866748b6..7c2ee489d77 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx index 2eaf34da4ca..c1de61c7a8a 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3fp-convert.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-convert.dtx Copyright (C) 2011-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx index d1c3adfdbab..31e59bd0fef 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx index d6c897f4ce2..13e93ca1ea8 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx index d28685e956e..60d6921182f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx index a35c9ed97bb..1e7f9f81b96 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx index c38d03b584a..2167fbaf477 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx index 2c612568e5b..9ab4fb5c80d 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -%% File: l3fp-round.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-round.dtx Copyright (C) 2011-2019 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 @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx index efeaeaf1b56..74bce8be725 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % \maketitle % % \begin{documentation} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx index af79954fe77..5e49a6eca0f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx @@ -38,7 +38,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx index b3f9a5801ea..8de76e43c29 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -91,18 +91,21 @@ % $\operatorname{asinh} x$, $\operatorname{acosh} x$, % $\operatorname{atanh} x$, $\operatorname{acoth} x$, % $\operatorname{asech} x$, $\operatorname{acsch} x$. -% \item Extrema: $\max(x,y,\ldots)$, $\min(x,y,\ldots)$, +% \item Extrema: $\max(x_{1},x_{2},\ldots)$, $\min(x_{1},x_{2},\ldots)$, % $\operatorname{abs}(x)$. -% \item Rounding functions ($n=0$ by default, $t=\nan$ by default): -% $\operatorname{trunc}(x,n)$ rounds towards zero, -% $\operatorname{floor}(x,n)$ rounds towards~$-\infty$, -% $\operatorname{ceil}(x,n)$ rounds towards~$+\infty$, -% $\operatorname{round}(x,n,t)$ rounds to the closest value, with +% \item Rouning functions, controlled by two optional +% values, $n$ (number of places, $0$ by default) and +% $t$ (behavior on a tie, $\nan$ by default): +% \begin{itemize} +% \item $\operatorname{trunc}(x,n)$ rounds towards zero, +% \item $\operatorname{floor}(x,n)$ rounds towards~$-\infty$, +% \item $\operatorname{ceil}(x,n)$ rounds towards~$+\infty$, +% \item $\operatorname{round}(x,n,t)$ rounds to the closest value, with % ties rounded to an even value by default, towards zero if $t=0$, -% towards $+\infty$ if $t>0$ and towards $-\infty$ if $t<0$. And -% \emph{(not yet)} modulo, and \enquote{quantize}. -% \item Random numbers: $\mathop{rand}()$, $\mathop{randint}(m,n)$ in -% all engines except \XeTeX{}. +% towards $+\infty$ if $t>0$ and towards $-\infty$ if $t<0$. +% \end{itemize} +% And \emph{(not yet)} modulo, and \enquote{quantize}. +% \item Random numbers: $\mathop{rand}()$, $\mathop{randint}(m,n)$. % \item Constants: \texttt{pi}, \texttt{deg} (one degree in radians). % \item Dimensions, automatically expressed in points, \emph{e.g.}, % \texttt{pc} is~$12$. @@ -1263,13 +1266,13 @@ % \cs{fp_eval:n} \{ |rand()| \} % \end{syntax} % Produces a pseudo-random floating-point number (multiple of -% $10^{-16}$) between $0$~included and $1$~excluded. This is not yet -% available in \XeTeX{}. The random seed can be queried using +% $10^{-16}$) between $0$~included and $1$~excluded. This is not available +% in older versions of \XeTeX{}. The random seed can be queried using % \cs{sys_rand_seed:} and set using \cs{sys_gset_rand_seed:n}. % \begin{texnote} % This is based on pseudo-random numbers provided by the engine's % primitive \tn{pdfuniformdeviate} in \pdfTeX{}, \pTeX{}, \upTeX{} -% and \tn{uniformdeviate} in \LuaTeX{}. The underlying code is +% and \tn{uniformdeviate} in \LuaTeX{} and \XeTeX{}. The underlying code is % based on Metapost, which follows an additive scheme recommended in % Section 3.6 of \enquote{The Art of Computer Programming, % Volume~2}. diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx index 645c9106276..29f4f0c18fc 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx index 30e5841cc26..7e187b3317f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -791,8 +791,8 @@ % \cs{int_rand:nn} \Arg{intexpr_1} \Arg{intexpr_2} % \end{syntax} % Evaluates the two \meta{integer expressions} and produces a -% pseudo-random number between the two (with bounds included). This -% is not yet available in \XeTeX{}. +% pseudo-random number between the two (with bounds included). +% This is not available in older versions of \XeTeX{}. % \end{function} % % \begin{function}[EXP, added = 2018-05-05]{\int_rand:n} @@ -801,7 +801,7 @@ % \end{syntax} % Evaluates the \meta{integer expression} then produces a % pseudo-random number between $1$ and the \meta{intexpr} (included). -% This is not yet available in \XeTeX{}. +% This is not available in older versions of \XeTeX{}. % \end{function} % % \section{Viewing integers} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx index df0086a304b..19cc4701f72 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx index bfa72d34198..d44e2b3f7d6 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx index 99872d40ada..131d1a2ebab 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx index 6c37f960f78..22c09709aac 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx index 504419ac23d..5ee6fdf4a06 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -213,7 +213,7 @@ % |Package| is the standard outcome: see \cs{msg_module_type:n}. % \end{function} % -% \begin{function}[EXP, added = 2019-10-10]{\msg_module_name:n} +% \begin{function}[EXP, added = 2018-10-10]{\msg_module_name:n} % \begin{syntax} % \cs{msg_module_name:n} \Arg{module} % \end{syntax} @@ -222,7 +222,7 @@ % unchanged). % \end{function} % -% \begin{function}[EXP, added = 2019-10-10]{\msg_module_type:n} +% \begin{function}[EXP, added = 2018-10-10]{\msg_module_type:n} % \begin{syntax} % \cs{msg_module_type:n} \Arg{module} % \end{syntax} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx index bc8ebd43ed2..a3a72edd0d8 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx index e2d840e61bd..2fec4a8a024 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx index dabb81ef207..286596b432c 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx index a14c8a2a0d1..eb3a7e1ea61 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx index a7c8f1db9e8..d4a4a296ced 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx index 5cf035feca5..7bf9b87c8b1 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -294,8 +294,8 @@ % \cs{seq_rand_item:N} \meta{seq~var} % \end{syntax} % Selects a pseudo-random item of the \meta{sequence}. If the -% \meta{sequence} is empty the result is empty. This is not yet -% available in \XeTeX{}. +% \meta{sequence} is empty the result is empty. +% This is not available in older versions of \XeTeX{}. % \begin{texnote} % The result is returned within the \tn{unexpanded} % primitive (\cs{exp_not:n}), which means that the \meta{item} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx index 4b74e4e4e0c..7139235e963 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx index a3e71fbdf6f..a69607a88e5 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx index 4b8ea892e4c..c9e4f4ed138 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -731,9 +731,7 @@ % \emph{only} the Latin alphabet characters A--Z are case-folded % (\emph{i.e.}~the \textsc{ascii} range which coincides with % \textsc{utf-8}). Full \textsc{utf-8} support is available with both -% \XeTeX{} and \LuaTeX{}, subject only to the fact that \XeTeX{} in -% particular has issues with characters of code above hexadecimal -% $0\mathrm{xFFFF}$ when interacting with \cs{tl_to_str:n}. +% \XeTeX{} and \LuaTeX{}. % \end{texnote} % \end{function} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx index 557739569f1..c188ce7fc7a 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx index 1d2527dc041..f3025067d07 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx index 1d44094605b..6bd75f94949 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -1016,8 +1016,8 @@ % \cs{tl_rand_item:n} \Arg{token list} % \end{syntax} % Selects a pseudo-random item of the \meta{token list}. If the -% \meta{token list} is blank, the result is empty. This is not yet -% available in \XeTeX{}. +% \meta{token list} is blank, the result is empty. +% This is not available in older versions of \XeTeX{}. % \begin{texnote} % The result is returned within the \tn{unexpanded} % primitive (\cs{exp_not:n}), which means that the \meta{item} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx index e2046695e6f..7a84c08c24d 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -139,10 +139,11 @@ % \item $8$ (math subscript) % \item $11$ (letter) % \item $12$ (other) -% \item $13$ (active) (not \XeTeX{}) +% \item $13$ (active) % \end{itemize} % and other values raise an error. The \meta{charcode} may be any one valid % for the engine in use. +% Active characters cannot be generated in older versions of \XeTeX{}. % \end{function} % % \begin{variable}[added = 2011-09-05]{\c_catcode_other_space_tl} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx index ef39b6e3dc1..23a471d1a48 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2019-01-01} +% \date{Released 2019-01-12} % % \maketitle % @@ -73,7 +73,9 @@ % As only the data needs to remain at the end of this process, everything % is set up inside a group. The only thing that is outside is creating a % stream: they are global anyway and it is best to force a stream for -% all engines. +% all engines. For performance reasons, some of the code here is very +% low-level: the material is read during loading \pkg{expl3} in package +% mode. % \begin{macrocode} \ior_new:N \g_@@_data_ior \bool_lazy_or:nnTF { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } @@ -84,6 +86,29 @@ % \begin{macrocode} \cs_set_eq:NN \@@_generate:w \tex_Uchar:D % \end{macrocode} +% A fast local implementation for generating characters. +% \begin{macrocode} + \cs_set:Npx \@@_generate:n #1 + { + \sys_if_engine_luatex:TF + { + \exp_not:N \lua_now:e + { + l3kernel.charcat + ( + \exp_not:N \tex_number:D #1 , + \exp_not:N \tex_the:D \tex_catcode:D #1 + ) + } + } + { + \exp_not:N \tex_Ucharcat:D + \exp_not:N \tex_number:D #1 ~ + \c_space_tl + \exp_not:N \tex_the:D \tex_catcode:D #1 ~ + } + } +% \end{macrocode} % Parse the main Unicode data file for title case exceptions (the one-to-one % lower and upper case mappings it contains are all be covered by the \TeX{} % data). There are no comments in the main data file so this can be done using @@ -96,23 +121,22 @@ \cs_set_protected:Npn \@@_data_auxii:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 \q_stop { - \tl_if_blank:nF {#7} - { - \str_if_eq:nnF {#5} {#7} - { - \tl_const:cx - { c_@@_mixed_case_ \@@_generate:w "#1 _tl } - { - \char_generate:nn { "#7 } - { \char_value_catcode:n { "#7 } } - } - } - } + \cs_set_nopar:Npn \l_@@_tmpa_tl {#7} + \reverse_if:N \if_meaning:w \l_@@_tmpa_tl \c_empty_tl + \cs_set_nopar:Npn \l_@@_tmpb_tl {#5} + \reverse_if:N \if_meaning:w \l_@@_tmpa_tl \l_@@_tmpb_tl + \tl_const:cx + { c_@@_mixed_case_ \@@_generate:w "#1 _tl } + { \@@_generate:n { "#7 } } + \fi: + \fi: } \ior_map_inline:Nn \g_@@_data_ior { - \tl_if_blank:nF {#1} - { \@@_data_auxi:w #1 \q_stop } + \cs_set_nopar:Npn \l_@@_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l_@@_tmpa_tl \c_space_tl + \@@_data_auxi:w #1 \q_stop + \fi: } \ior_close:N \g_@@_data_ior % \end{macrocode} @@ -126,46 +150,37 @@ \ior_open:Nn \g_@@_data_ior { CaseFolding.txt } \cs_set_protected:Npn \@@_data_auxi:w #1 ;~ #2 ;~ #3 ; #4 \q_stop { - \str_if_eq:nnTF {#2} { C } - { - \int_compare:nNnF - { \char_value_lccode:n {"#1} } = {"#3} - { - \tl_const:cx - { c_@@_fold_case_ \@@_generate:w "#1 _tl } - { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - } - } - } - { - \str_if_eq:nnT {#2} { F } - { \@@_data_auxii:w #1 ~ #3 ~ \q_stop } - } + \if:w \tl_head:n { #2 ? } C + \reverse_if:N \if_int_compare:w + \char_value_lccode:n {"#1} = "#3 ~ + \tl_const:cx + { c_@@_fold_case_ \@@_generate:w "#1 _tl } + { \@@_generate:n { "#3 } } + \fi: + \else: + \if:w \tl_head:n { #2 ? } F + \@@_data_auxii:w #1 ~ #3 ~ \q_stop + \fi: + \fi: } \cs_set_protected:Npn \@@_data_auxii:w #1 ~ #2 ~ #3 ~ #4 \q_stop { \tl_const:cx { c_@@_fold_case_ \@@_generate:w "#1 _tl } { - \char_generate:nn { "#2 } - { \char_value_catcode:n { "#2 } } - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } + \@@_generate:n { "#2 } + \@@_generate:n { "#3 } \tl_if_blank:nF {#4} - { - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } - } + { \@@_generate:n { "#4 } } } } \ior_str_map_inline:Nn \g_@@_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeF { \tl_head:n {#1} } { \c_hash_str } - { \@@_data_auxi:w #1 \q_stop } - } + \cs_set_nopar:Npn \l_@@_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l_@@_tmpa_tl \c_empty_tl + \reverse_if:N \if:w \tl_head:n { #1 ? } \c_hash_str + \@@_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g_@@_data_ior % \end{macrocode} @@ -189,31 +204,30 @@ { \tl_const:cx { c_@@_ #2 _case_ \@@_generate:w "#1 _tl } { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } + \@@_generate:n { "#3 } + \@@_generate:n { "#4 } \tl_if_blank:nF {#5} - { - \char_generate:nn { "#5 } - { \char_value_catcode:n { "#5 } } - } + { \@@_generate:n { "#5 } } } } } \ior_str_map_inline:Nn \g_@@_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeTF { \tl_head:n {#1} } { \c_hash_str } + \cs_set_nopar:Npn \l_@@_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l_@@_tmpa_tl \c_empty_tl + \if:w \tl_head:n { #1 ? } \c_hash_str + \cs_set_nopar:Npx \l_@@_tmpb_tl { - \str_if_eq:eeT - {#1} - { \c_hash_str \c_space_tl Conditional~Mappings } - { \ior_map_break: } + \c_hash_str \c_space_tl + \tl_to_str:n { Conditional~Mappings } } - { \@@_data_auxi:w #1 \q_stop } - } + \if_meaning:w \l_@@_tmpa_tl \l_@@_tmpb_tl + \exp_after:wN \exp_after:wN \exp_after:wN \ior_map_break: + \fi: + \else: + \@@_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g_@@_data_ior \group_end: diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 79b6ec56e25..86c7aecf56b 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -63,7 +63,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-01}% +\def\ExplFileDate{2019-01-12}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -10514,11 +10514,11 @@ \cs_new_protected:Npn \__ior_map_inline_loop:NNN #1#2#3 { #2 #3 \l__ior_internal_tl - \ior_if_eof:NF #3 - { - \exp_args:No #1 \l__ior_internal_tl - \__ior_map_inline_loop:NNN #1#2#3 - } + \if_eof:w #3 + \exp_after:wN \use_none:nnnnnnn + \fi: + \exp_args:No #1 \l__ior_internal_tl + \__ior_map_inline_loop:NNN #1#2#3 } \int_const:Nn \c_log_iow { -1 } \int_const:Nn \c_term_iow @@ -13017,7 +13017,7 @@ } } %% File: l3fp.dtx Copyright (C) 2011-2019 The LaTeX3 Project -%% File: l3fp-aux.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-aux.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new_eq:NN \__fp_int_eval:w \tex_numexpr:D \cs_new_eq:NN \__fp_int_eval_end: \scan_stop: \cs_new_eq:NN \__fp_int_to_roman:w \tex_romannumeral:D @@ -13596,7 +13596,7 @@ { Invalid~operation~ (#1) #3 (#2) } \__kernel_msg_new:nnn { kernel } { fp-unknown-type } { Unknown~type~for~'#1' } -%% File: l3fp-round.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-round.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new:Npn \__fp_parse_word_trunc:N { \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_zero:NNN } \cs_new:Npn \__fp_parse_word_floor:N @@ -18482,7 +18482,7 @@ { \__fp_asin_auxi_o:NnNww #1 {#3} #4 } } } -%% File: l3fp-convert.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-convert.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new:Npn \__fp_tuple_convert:Nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ; { \int_case:nnF { \__fp_array_count:n {#2} } @@ -24014,7 +24014,7 @@ } } } -%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2019 The LaTeX3 Project +%% File: l3color-base.dtx Copyright (C) 2011,2012,2014,2016-2019 The LaTeX3 Project \cs_new_eq:NN \color_group_begin: \group_begin: \cs_new_eq:NN \color_group_end: \group_end: \cs_new_protected:Npn \color_ensure_current: @@ -24037,7 +24037,7 @@ { \driver_color_spot:nn {#1} {#2} } \tl_new:N \l__color_current_tl \tl_set:Nn \l__color_current_tl { gray~0 } -%% File: l3coffins.dtx Copyright(C) 2010-2019 The LaTeX3 Project +%% File: l3coffins.dtx Copyright (C) 2010-2019 The LaTeX3 Project \box_new:N \l__coffin_internal_box \dim_new:N \l__coffin_internal_dim \tl_new:N \l__coffin_internal_tl @@ -24919,6 +24919,26 @@ { \group_begin: \cs_set_eq:NN \__char_generate:w \tex_Uchar:D + \cs_set:Npx \__char_generate:n #1 + { + \sys_if_engine_luatex:TF + { + \exp_not:N \lua_now:e + { + l3kernel.charcat + ( + \exp_not:N \tex_number:D #1 , + \exp_not:N \tex_the:D \tex_catcode:D #1 + ) + } + } + { + \exp_not:N \tex_Ucharcat:D + \exp_not:N \tex_number:D #1 ~ + \c_space_tl + \exp_not:N \tex_the:D \tex_catcode:D #1 ~ + } + } \ior_open:Nn \g__char_data_ior { UnicodeData.txt } \cs_set_protected:Npn \__char_data_auxi:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 ; #8 ; #9 ; @@ -24926,68 +24946,58 @@ \cs_set_protected:Npn \__char_data_auxii:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 \q_stop { - \tl_if_blank:nF {#7} - { - \str_if_eq:nnF {#5} {#7} - { - \tl_const:cx - { c__char_mixed_case_ \__char_generate:w "#1 _tl } - { - \char_generate:nn { "#7 } - { \char_value_catcode:n { "#7 } } - } - } - } + \cs_set_nopar:Npn \l__char_tmpa_tl {#7} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \cs_set_nopar:Npn \l__char_tmpb_tl {#5} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \l__char_tmpb_tl + \tl_const:cx + { c__char_mixed_case_ \__char_generate:w "#1 _tl } + { \__char_generate:n { "#7 } } + \fi: + \fi: } \ior_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { \__char_data_auxi:w #1 \q_stop } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_space_tl + \__char_data_auxi:w #1 \q_stop + \fi: } \ior_close:N \g__char_data_ior \ior_open:Nn \g__char_data_ior { CaseFolding.txt } \cs_set_protected:Npn \__char_data_auxi:w #1 ;~ #2 ;~ #3 ; #4 \q_stop { - \str_if_eq:nnTF {#2} { C } - { - \int_compare:nNnF - { \char_value_lccode:n {"#1} } = {"#3} - { - \tl_const:cx - { c__char_fold_case_ \__char_generate:w "#1 _tl } - { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - } - } - } - { - \str_if_eq:nnT {#2} { F } - { \__char_data_auxii:w #1 ~ #3 ~ \q_stop } - } + \if:w \tl_head:n { #2 ? } C + \reverse_if:N \if_int_compare:w + \char_value_lccode:n {"#1} = "#3 ~ + \tl_const:cx + { c__char_fold_case_ \__char_generate:w "#1 _tl } + { \__char_generate:n { "#3 } } + \fi: + \else: + \if:w \tl_head:n { #2 ? } F + \__char_data_auxii:w #1 ~ #3 ~ \q_stop + \fi: + \fi: } \cs_set_protected:Npn \__char_data_auxii:w #1 ~ #2 ~ #3 ~ #4 \q_stop { \tl_const:cx { c__char_fold_case_ \__char_generate:w "#1 _tl } { - \char_generate:nn { "#2 } - { \char_value_catcode:n { "#2 } } - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } + \__char_generate:n { "#2 } + \__char_generate:n { "#3 } \tl_if_blank:nF {#4} - { - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } - } + { \__char_generate:n { "#4 } } } } \ior_str_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeF { \tl_head:n {#1} } { \c_hash_str } - { \__char_data_auxi:w #1 \q_stop } - } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \reverse_if:N \if:w \tl_head:n { #1 ? } \c_hash_str + \__char_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g__char_data_ior \ior_open:Nn \g__char_data_ior { SpecialCasing.txt } @@ -25006,31 +25016,30 @@ { \tl_const:cx { c__char_ #2 _case_ \__char_generate:w "#1 _tl } { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } + \__char_generate:n { "#3 } + \__char_generate:n { "#4 } \tl_if_blank:nF {#5} - { - \char_generate:nn { "#5 } - { \char_value_catcode:n { "#5 } } - } + { \__char_generate:n { "#5 } } } } } \ior_str_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeTF { \tl_head:n {#1} } { \c_hash_str } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \if:w \tl_head:n { #1 ? } \c_hash_str + \cs_set_nopar:Npx \l__char_tmpb_tl { - \str_if_eq:eeT - {#1} - { \c_hash_str \c_space_tl Conditional~Mappings } - { \ior_map_break: } + \c_hash_str \c_space_tl + \tl_to_str:n { Conditional~Mappings } } - { \__char_data_auxi:w #1 \q_stop } - } + \if_meaning:w \l__char_tmpa_tl \l__char_tmpb_tl + \exp_after:wN \exp_after:wN \exp_after:wN \ior_map_break: + \fi: + \else: + \__char_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g__char_data_ior \group_end: @@ -26810,34 +26819,39 @@ \exp_after:wN \__tl_tmp:w \l__tl_internal_a_tl \__tl_loop:nn } - \cs_set_protected:Npn \__tl_tmp:w #1#2#3#4#5#6#7#8 + \cs_set_protected:Npn \__tl_tmp:nnnn #1#2#3#4#5 { \tl_const:cx { - c__tl_lower_case_ - \char_generate:nn {#1} { 12 } + c__tl_ #1 _case_ \char_generate:nn {#2} { 12 } + \char_generate:nn {#3} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#5} { 13 } + \exp_not:N \char_generate:nn {#4} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#6} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } } + } + \cs_set_protected:Npn \__tl_tmp:w #1#2#3#4#5#6#7#8 + { \tl_const:cx { - c__tl_upper_case_ - \char_generate:nn {#5} { 12 } - \char_generate:nn {#6} { 12 } + c__tl_lower_case_ + \char_generate:nn {#1} { 12 } + \char_generate:nn {#2} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#1} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#2} { 13 } + \exp_not:N \char_generate:nn {#6} { 13 } } + \__tl_tmp:nnnn { upper } {#5} {#6} {#1} {#2} + \__tl_tmp:nnnn { mixed } {#5} {#6} {#1} {#2} } \__tl_loop:nn { 00C0 } { 00E0 } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index bd13fee69db..055504a318f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-01}% +\def\ExplFileDate{2019-01-12}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 0f612fabb66..916b6f9dc7c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-01}% +\def\ExplFileDate{2019-01-12}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index 06c6ecfe292..5544bd831be 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -373,6 +373,8 @@ { The~deprecated~function(s)~'#1'~should~have~been~removed~on~#2. } \msg_new:nnn { l3doc } { date-format } { The~date~'#1'~should~be~given~in~YYYY-MM-DD~format. } +\msg_new:nnn { l3doc } { future-date } + { The~added/updated~date~'#2'~of~'#1'~is~in~the~future. } \msg_new:nnn { l3doc } { syntax-nested-function } { The~'syntax'~environment~should~be~used~in~the~ @@ -968,8 +970,8 @@ \bool_set_true:N \l__codedoc_macro_noTF_bool \bool_set_true:N \l__codedoc_macro_TF_bool } , - added .code:n = { \__codedoc_date_set:Nn \l__codedoc_date_added_tl {#1} }, - updated .code:n = { \__codedoc_date_set:Nn \l__codedoc_date_updated_tl {#1} } , + added .code:n = { \__codedoc_date_set_past:Nn \l__codedoc_date_added_tl {#1} }, + updated .code:n = { \__codedoc_date_set_past:Nn \l__codedoc_date_updated_tl {#1} } , deprecated .code:n = { \__codedoc_deprecated_on:n {#1} } , tested .code:n = { } , label .code:n = @@ -991,6 +993,17 @@ \tl_set:Nn #1 { 1970-01-01 } } } +\cs_new_protected:Npn \__codedoc_date_set_past:Nn #1#2 + { + \__codedoc_date_set:Nn #1 {#2} + \exp_args:No \__codedoc_date_compare:nNnT + {#1} > { \tex_year:D - \tex_month:D - \tex_day:D } + { + \msg_error:nnxx { l3doc } { future-date } + { \tl_to_str:N \l__codedoc_macro_argument_tl } + {#1} + } + } \cs_new_protected:Npn \__codedoc_deprecated_on:n #1 { \__codedoc_date_set:Nn \l__codedoc_tmpa_tl {#1} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index 819dd25cd80..0758d9633dc 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project \ProvidesExplFile - {l3dvidpfmx.def}{2019-01-01}{} + {l3dvidpfmx.def}{2019-01-12}{} {L3 Experimental driver: dvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 3ef9fbce6e9..b139b5bd720 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project \ProvidesExplFile - {l3dvips.def}{2019-01-01}{} + {l3dvips.def}{2019-01-12}{} {L3 Experimental driver: dvips} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index d700de61c2f..972201ec9f6 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project \ProvidesExplFile - {l3dvisvgm.def}{2019-01-01}{} + {l3dvisvgm.def}{2019-01-12}{} {L3 Experimental driver: dvisvgm} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index fae4aa68443..9531b22f3fe 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project \ProvidesExplFile - {l3pdfmode.def}{2019-01-01}{} + {l3pdfmode.def}{2019-01-12}{} {L3 Experimental driver: PDF mode} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index 3065d039387..a78664e5f89 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project \ProvidesExplFile - {l3xdvidpfmx.def}{2019-01-01}{} + {l3xdvidpfmx.def}{2019-01-12}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 -- cgit v1.2.3