summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-02-07 22:42:51 +0000
committerKarl Berry <karl@freefriends.org>2017-02-07 22:42:51 +0000
commit2ebe2779edac8cb53ee6d49d058c3ce1aac3f685 (patch)
tree60806fc290c7ef473dedac9542f8d1102b300bd7 /Master
parentc975ac33f4ddaf23604aec21ee67fcc4fbc820aa (diff)
l3 (7feb17)
git-svn-id: svn://tug.org/texlive/trunk@43162 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md12
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdfbin400977 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdfbin320395 -> 319954 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdfbin455756 -> 455319 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdfbin447055 -> 447064 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin379864 -> 379870 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdfbin354542 -> 354548 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdfbin387199 -> 386837 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin395864 -> 395870 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin395527 -> 395084 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin291069 -> 291075 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin587086 -> 586848 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1505447 -> 1512774 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin268221 -> 268790 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin279980 -> 279987 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin220223 -> 220230 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin4541860 -> 4621383 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3body.tex3
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdfbin333356 -> 332773 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdfbin482113 -> 481508 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdfbin462758 -> 462154 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdfbin426498 -> 425888 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.ins56
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3.ins6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx40
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx20
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx17
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx21
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3format.ins5
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx3
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx20
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx (renamed from Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx)165
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx36
-rw-r--r--Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx8
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty429
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex424
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex8
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3box.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3color.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls17
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex12
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3expan.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3keys.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3quark.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3sort.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3token.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty8
88 files changed, 771 insertions, 815 deletions
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index b444994584f..c0b90c420c8 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/README.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2017/01/28 (r6834)
+Release 2017/02/07 (r6846)
Overview
--------
@@ -21,20 +21,10 @@ updated at the same time.
Currently included in the CTAN release of l3experimental are the following
bundles:
-* `l3sort`
* `l3str`
* `xcoffins`
* `xgalley`
-`l3sort`
---------
-
-Ordered variables content (in `tl`, `clist` or `seq` variables) may be sorted
-in a flexible manner using the `l3sort` module. The definition of how to sort
-two items is provided by the programmer at the point at which the sort is
-carried out. Internally, the sorting algorithm is designed to take advantage
-of TeX token registers to allow a high performance and scalable sort.
-
`l3str`
-------
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
deleted file mode 100644
index e40f3e8e2f7..00000000000
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf
index 8e77a2ec41b..890fa416819 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf
index 143e83146eb..a89eaf9df2f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
index b37eed74c7c..2e74603d026 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index 8f777dea40e..467356ff332 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf
index 8df5247c288..0f110ea7d78 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf
index b7910e516b9..d7d6b07dade 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index 02deec679fd..1cef66fc542 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index e7e822bbfdf..c85bd75001b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index 52818f71512..29cd279be9c 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 33ce3e2eebd..6513329fddc 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 2017/01/28 (r6834)
+Release 2017/02/07 (r6846)
Overview
--------
@@ -81,7 +81,6 @@ the team members are
* Robin Fairbairns
* Morten Høgholm
* Bruno Le Floch
-* Thomas Lotze
* Frank Mittelbach
* Will Robertson
* Chris Rowley
@@ -93,6 +92,7 @@ Former members of The LaTeX3 Project team were
* Michael Downes
* Denys Duchier
* Alan Jeffrey
+* Thomas Lotze
* Martin Schröder
The development team can be contacted
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index d18f426c4d5..24528b337c0 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index 07386a4f0b5..41d2ef99c2e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index b3832583a6b..37b70c7dd20 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
index 7127ef23720..6798fbbcf88 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
@@ -16,6 +16,8 @@ They will be removed from the sources at the end of the given year.
Function Expires end
--------------------------------------
\iow_get_str:NN 2017
+\sort_ordered: 2018
+\sort_reversed: 2018
\tl_to_lowercase:n 2017
\tl_to_uppercase:n 2017
---------------------------------------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 237cc36e074..3de9ac4b8c4 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index f2cac87f870..fb890db9f52 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index c46c5f5ca5d..9ec9ac5d7ab 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
index f80c669d096..03a9a144e9d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3body.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: source3body.tex Copyright (C) 1990-2015 The LaTeX3 Project
+%% File: source3body.tex Copyright (C) 1990-2015,2017 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
@@ -453,6 +453,7 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
}
\ExplSyntaxOff
+\DocInput{l3sort.dtx}
\DocInput{l3candidates.dtx}
\DocInput{l3sys.dtx}
\DocInput{l3luatex.dtx}
diff --git a/Master/texmf-dist/doc/latex/l3packages/README.md b/Master/texmf-dist/doc/latex/l3packages/README.md
index 9be9a120aae..70c73e0fc22 100644
--- a/Master/texmf-dist/doc/latex/l3packages/README.md
+++ b/Master/texmf-dist/doc/latex/l3packages/README.md
@@ -1,7 +1,7 @@
LaTeX3 High-Level Concepts
==========================
-Release 2017/01/28 (r6834)
+Release 2017/02/07 (r6846)
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
index 29ff085c8a1..97f483b9445 100644
--- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
index 99e8885ca98..c768dacf95e 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
index ec4b64c6e16..4d5799c1edd 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
index 5ed8596e392..d2e9d029ff1 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.ins b/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.ins
deleted file mode 100644
index b6165791b96..00000000000
--- a/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.ins
+++ /dev/null
@@ -1,56 +0,0 @@
-\iffalse meta-comment
-
-File l3sort.ins Copyright (C) 2012,2106 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
-license or (at your option) any later version. The latest version
-of this license is in the file
-
- http://www.latex-project.org/lppl.txt
-
-This file is part of the "l3experimental bundle" (The Work in LPPL)
-and all files in that bundle must be distributed together.
-
------------------------------------------------------------------------
-
-The development version of the bundle can be found at
-
- https://github.com/latex3/latex3
-
-for those people who are interested.
-
------------------------------------------------------------------------
-
-Any modification of this file should ensure that the copyright and
-license information is placed in the derived files.
-
-\fi
-
-\input l3docstrip.tex
-\askforoverwritefalse
-
-\preamble
-
-Copyright (C) 2012-2016 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 license or (at your option) any later version. The latest
-version of this license is in the file:
-
- http://www.latex-project.org/lppl.txt
-
-This file is part of the "l3experimental bundle" (The Work in LPPL)
-and all files in that bundle must be distributed together.
-
-\endpreamble
-% stop docstrip adding \endinput
-\postamble
-\endpostamble
-
-\keepsilent
-
-\generate{\file{l3sort.sty}{\from{l3sort.dtx}{package}}}
-
-\endbatchfile
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
index 4fc1e4ad543..441a5be48d1 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
@@ -23,8 +23,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{l3flag}{Support package l3kernel too old}
@@ -36,7 +36,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3flag.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3flag.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental flags}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
index 18b0be30f7e..b1711cbd47f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
@@ -23,8 +23,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{l3regex}{Support package l3kernel too old}
@@ -36,7 +36,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3regex.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3regex.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental regular expressions}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
index 7b566c75df3..ccf2b6d3705 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
@@ -23,8 +23,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{l3tl-build}{Support package l3kernel too old}
@@ -36,7 +36,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3tl-build.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3tl-build.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental token list construction}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
index ae956e6e333..f277ed814eb 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -24,8 +24,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{l3galley}{Support package l3kernel too old}
@@ -37,7 +37,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3galley.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3galley.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental galley code}
%</driver|package>
%<*driver>
@@ -2606,7 +2606,7 @@
% \begin{macro}{\@@par}
% The primitive is moved as otherwise the clever skipping code will fail.
% \begin{macrocode}
-\cs_set_eq:cN { @ @ par } \galley_par:
+\cs_set_eq:NN \@@@@par \galley_par:
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 5a2661885c0..433338287d3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: expl3.dtx Copyright (C) 1990-2016 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2017 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
@@ -23,8 +23,8 @@
%<*driver|generic|package>
\def\ExplFileName{expl3}%
\def\ExplFileDescription{L3 programming layer}%
-\def\ExplFileDate{2017/01/28}%
-\def\ExplFileVersion{6834}%
+\def\ExplFileDate{2017/02/07}%
+\def\ExplFileVersion{6846}%
%</driver|generic|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3.ins b/Master/texmf-dist/source/latex/l3kernel/l3.ins
index c86f611940c..3f281392b4e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3.ins
+++ b/Master/texmf-dist/source/latex/l3kernel/l3.ins
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File l3.ins Copyright (C) 2011,2012,2014-2016 The LaTeX3 Project
+File l3.ins Copyright (C) 2011,2012,2014-2017 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
@@ -33,7 +33,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 1990-2016 The LaTeX3 Project
+Copyright (C) 1990-2017 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
@@ -89,6 +89,7 @@ and all files in that bundle must be distributed together.
\from{l3fp-convert.dtx} {package}
\from{l3fp-random.dtx} {package}
\from{l3fp-assign.dtx} {package}
+ \from{l3sort.dtx} {package}
\from{l3box.dtx} {package}
\from{l3coffins.dtx} {package}
\from{l3color.dtx} {package}
@@ -137,6 +138,7 @@ and all files in that bundle must be distributed together.
\generate{\file{l3quark.sty} {\from{l3oldmodules.dtx} {l3quark,oldmodules}}}
\generate{\file{l3seq.sty} {\from{l3oldmodules.dtx} {l3seq,oldmodules}}}
\generate{\file{l3skip.sty} {\from{l3oldmodules.dtx} {l3skip,oldmodules}}}
+\generate{\file{l3sort.sty} {\from{l3oldmodules.dtx} {l3sort,oldmodules}}}
\generate{\file{l3str.sty} {\from{l3oldmodules.dtx} {l3str,oldmodules}}}
\generate{\file{l3tl.sty} {\from{l3oldmodules.dtx} {l3tl,oldmodules}}}
\generate{\file{l3token.sty} {\from{l3oldmodules.dtx} {l3token,oldmodules}}}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 62a21ee09ea..9b68994b370 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -24,7 +24,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3candidates.dtx 6809 2017-01-01 06:33:13Z bruno $
+\GetIdInfo$Id: l3candidates.dtx 6835 2017-01-30 21:25:17Z bruno $
{L3 Experimental additions to l3kernel}
%</driver|package>
%<*driver>
@@ -686,34 +686,6 @@
% \end{function}
%
% \begin{function}[EXP, added = 2016-12-06]
-% {\prop_rand_key:N, \prop_rand_key:c}
-% \begin{syntax}
-% \cs{prop_rand_key:N} \meta{prop~var}
-% \end{syntax}
-% Selects a pseudo-random key--value pair in the \meta{property list}
-% and returns the \meta{key}. If the \meta{property list} is empty
-% the result is empty. This is only available in \pdfTeX{} and
-% \LuaTeX{}.
-% \end{function}
-%
-% \begin{function}[EXP, added = 2016-12-06]
-% {\prop_rand_value:N, \prop_rand_value:c}
-% \begin{syntax}
-% \cs{prop_rand_value:N} \meta{prop~var}
-% \end{syntax}
-% Selects a pseudo-random key--value pair in the \meta{property list}
-% and returns the \meta{value}. If the \meta{property list} is empty
-% the result is empty. This is only available in \pdfTeX{} and
-% \LuaTeX{}.
-% \begin{texnote}
-% The result is returned within the \tn{unexpanded}
-% primitive (\cs{exp_not:n}), which means that the \meta{value}
-% will not expand further when appearing in an \texttt{x}-type
-% argument expansion.
-% \end{texnote}
-% \end{function}
-%
-% \begin{function}[EXP, added = 2016-12-06]
% {\prop_rand_key_value:N, \prop_rand_key_value:c}
% \begin{syntax}
% \cs{prop_rand_key_value:N} \meta{prop~var}
@@ -2842,11 +2814,7 @@
% \end{macro}
%
% \begin{macro}[EXP]
-% {
-% \prop_rand_key:N, \prop_rand_key:c,
-% \prop_rand_value:N, \prop_rand_value:c,
-% \prop_rand_key_value:N, \prop_rand_key_value:c
-% }
+% {\prop_rand_key_value:N, \prop_rand_key_value:c}
% \begin{macro}[aux, EXP]{\@@_rand:NN, \@@_rand_item:Nw}
% Contrarily to |clist|, |seq| and |tl|, there is no function to get
% an item of a |prop| given an integer between $1$ and the number of
@@ -2855,8 +2823,6 @@
% end, leave either the key |#3| or the value |#4| in the input
% stream.
% \begin{macrocode}
-\cs_new:Npn \prop_rand_key:N { \@@_rand:NN \use_i:nnn }
-\cs_new:Npn \prop_rand_value:N { \@@_rand:NN \use_none:n }
\cs_new:Npn \prop_rand_key_value:N { \@@_rand:NN \@@_rand:nNn }
\cs_new:Npn \@@_rand:nNn #1#2#3 { \exp_not:n { {#1} {#3} } }
\cs_new:Npn \@@_rand:NN #1#2
@@ -2875,8 +2841,6 @@
\exp_after:wN \@@_rand_item:Nw \exp_after:wN #1
\__int_value:w \int_eval:n { #2 - \c_one } \s_@@
}
-\cs_generate_variant:Nn \prop_rand_key:N { c }
-\cs_generate_variant:Nn \prop_rand_value:N { c }
\cs_generate_variant:Nn \prop_rand_key_value:N { c }
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index b7364894e39..12aea777839 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -2,7 +2,7 @@
%
%% File: l3clist.dtx Copyright (C) 2004-2011 Frank Mittelbach,
%% The LaTeX3 project
-%% (C) 2012-2016 The LaTeX3 Project
+%% (C) 2012-2017 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
@@ -26,7 +26,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3clist.dtx 6805 2016-12-28 22:15:52Z joseph $
+\GetIdInfo$Id: l3clist.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Comma separated lists}
%</driver|package>
%<*driver>
@@ -305,6 +305,17 @@
% \end{texnote}
% \end{function}
%
+% \begin{function}[added = 2017-02-06]
+% {\clist_sort:Nn, \clist_sort:cn, \clist_gsort:Nn, \clist_gsort:cn}
+% \begin{syntax}
+% \cs{clist_sort:Nn} \meta{clist var} \Arg{comparison code}
+% \end{syntax}
+% Sorts the items in the \meta{clist var} according to the
+% \meta{comparison code}, and assigns the result to
+% \meta{clist var}. The details of sorting comparison are
+% described in Section~\ref{sec:l3sort:mech}.
+% \end{function}
+%
% \section{Comma list conditionals}
%
% \begin{function}[EXP,pTF]{\clist_if_empty:N, \clist_if_empty:c}
@@ -1358,6 +1369,11 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}
+% {\clist_sort:Nn, \clist_sort:cn, \clist_gsort:Nn, \clist_gsort:cn}
+% Implemented in \pkg{l3sort}.
+% \end{macro}
+%
% \subsection{Comma list conditionals}
%
% \begin{macro}[pTF]{\clist_if_empty:N, \clist_if_empty:c}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index fc4319207fb..fc90688aa63 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -62,7 +62,7 @@ Do not distribute a modified version of this file.
%
%<*driver|class>
\RequirePackage{expl3,xparse,calc}
-\GetIdInfo$Id: l3doc.dtx 6809 2017-01-01 06:33:13Z bruno $
+\GetIdInfo$Id: l3doc.dtx 6839 2017-02-06 18:52:08Z bruno $
{L3 Experimental documentation class}
%</driver|class>
%
@@ -975,7 +975,7 @@ Do not distribute a modified version of this file.
% \begin{macro}[aux]{\@@_replace_at_at_aux:Nn}
% The goal is to replace |@@| by the current module name. If there is
% no \meta{module~name}, do nothing. Otherwise, sanitize the catcodes
-% of |@| and~|_| and replace both |_@@| and |@@| by
+% of |@| and~|_|, temporarily change |@@@@| to |aa| with different catcodes and later to |@@|, and replace |__@@| and |_@@| and |@@| by
% |__|\meta{module~name}. The result contains |_| with category
% code letter because this is what the |macrocode| environment
% expects. Other use cases can apply \cs{tl_to_str:n} if needed.
@@ -991,12 +991,15 @@ Do not distribute a modified version of this file.
#1 \g_@@_module_name_tl
}
}
-\cs_new_protected:Npn \@@_replace_at_at_aux:Nn #1#2
+\cs_new_protected:Npx \@@_replace_at_at_aux:Nn #1#2
{
- \tl_replace_all:Non #1 { \token_to_str:N @ } { @ }
- \tl_replace_all:Non #1 { \token_to_str:N _ } { _ }
- \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 }
- \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { \token_to_str:N @ } { @ }
+ \tl_replace_all:Nnn #1 { \token_to_str:N _ } { _ }
+ \tl_replace_all:Nnn #1 { @ @ @ @ } { \token_to_str:N a a }
+ \tl_replace_all:Nnn #1 { _ _ @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { \token_to_str:N a a } { @ @ }
}
% \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 14626c67e4f..7b98fe3889a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -100,7 +100,7 @@
%
% To extract the code using \pkg{l3docstrip}, the \enquote{guard} concept
% used by \textsf{DocStrip} is extended by introduction of the syntax
-% \texttt{\%<@@=\meta{module}}. The \meta{module} name will be used when the
+% \texttt{\%<@@=\meta{module}>}. The \meta{module} name will be used when the
% code is extracted to replace the |@@|, so that
% \begin{verbatim}
% %<*package>
@@ -123,6 +123,10 @@
% where the |__| indicates that the functions and variables are internal
% to the \texttt{foo} module.
%
+% Use |@@@@| to obtain |@@| in the output (|@@@@@| to get |@@@|). For
+% longer pieces of code the replacement can be completely suppressed by
+% giving an empty module name, namely using the syntax \texttt{\%<@@=>}.
+%
% \end{documentation}
%
% \begin{implementation}
@@ -188,7 +192,10 @@
% The argument (|#1|) is the replacement text to use, or if empty an
% indicator that no replacement should be done. The search material is
% one of |__@@|, |_@@| or |@@|, done in order such that all three will end
-% up the same in the output. The replacement function is initialised as a
+% up the same in the output. The string |@@@@| is hidden from these
+% replacements by temporarily turning it into a pair of letters with
+% different category codes, not produced by \pkg{docstrip}; this allows to
+% get |@@| in the output. The replacement function is initialised as a
% do-nothing for the case where |%<@@=| is never seen.
% \begin{macrocode}
\begingroup
@@ -197,10 +204,12 @@
\ifx\relax#1\relax
\let\replaceModuleInLine\empty
\else
- \def\replaceModuleInLine{%
- \replaceAllIn\inLine{__@@}{__#1}%
- \replaceAllIn\inLine{_@@}{__#1}%
- \replaceAllIn\inLine{@@}{__#1}%
+ \edef\replaceModuleInLine{%
+ \noexpand\replaceAllIn\noexpand\inLine{@@@@}{\string aa}%
+ \noexpand\replaceAllIn\noexpand\inLine{__@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{_@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{\string aa}{@@}%
}%
\fi
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3format.ins b/Master/texmf-dist/source/latex/l3kernel/l3format.ins
index 0a4822eb012..d49a7794f86 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3format.ins
+++ b/Master/texmf-dist/source/latex/l3kernel/l3format.ins
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File l3format.ins Copyright (C) 2011,2012,2014-2016 The LaTeX3 Project
+File l3format.ins Copyright (C) 2011,2012,2014-2017 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
@@ -33,7 +33,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 1990-2016 The LaTeX3 Project
+Copyright (C) 1990-2017 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
@@ -89,6 +89,7 @@ and all files in that bundle must be distributed together.
\from{l3fp-convert.dtx} {initex}
\from{l3fp-random.dtx} {initex}
\from{l3fp-assign.dtx} {initex}
+ \from{l3sort.dtx} {initex}
\from{l3box.dtx} {initex}
\from{l3coffins.dtx} {initex}
\from{l3color.dtx} {initex}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx b/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
index 5fa4071258b..e081a5b3ce5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 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
@@ -106,6 +106,7 @@
%<l3quark>{l3quark}
%<l3seq>{l3seq}
%<l3skip>{l3skip}
+%<l3sort>{l3sort}
%<l3str>{l3str}
%<l3tl>{l3tl}
%<l3token>{l3token}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index e9079d80701..dbc4e4dd295 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3seq.dtx Copyright (C) 1990-2016 The LaTeX3 Project
+%% File: l3seq.dtx Copyright (C) 1990-2017 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
@@ -24,7 +24,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3seq.dtx 6805 2016-12-28 22:15:52Z joseph $
+\GetIdInfo$Id: l3seq.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Sequences and stacks}
%</driver|package>
%<*driver>
@@ -431,7 +431,6 @@
% \cs{tl_if_eq:nnTF}.
% \end{function}
%
-%
% \begin{function}[added = 2014-07-18]
% {
% \seq_reverse:N, \seq_reverse:c,
@@ -443,6 +442,17 @@
% Reverses the order of the items stored in the \meta{sequence}.
% \end{function}
%
+% \begin{function}[added = 2017-02-06]
+% {\seq_sort:Nn, \seq_sort:cn, \seq_gsort:Nn, \seq_gsort:cn}
+% \begin{syntax}
+% \cs{seq_sort:Nn} \meta{sequence} \Arg{comparison code}
+% \end{syntax}
+% Sorts the items in the \meta{sequence} according to the
+% \meta{comparison code}, and assigns the result to
+% \meta{sequence}. The details of sorting comparison are
+% described in Section~\ref{sec:l3sort:mech}.
+% \end{function}
+%
% \section{Sequence conditionals}
%
% \begin{function}[EXP,pTF]{\seq_if_empty:N, \seq_if_empty:c}
@@ -1391,6 +1401,10 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\seq_sort:Nn, \seq_sort:cn, \seq_gsort:Nn, \seq_gsort:cn}
+% Implemented in \pkg{l3sort}.
+% \end{macro}
+%
% \subsection{Sequence conditionals}
%
% \begin{macro}[pTF]{\seq_if_empty:N, \seq_if_empty:c}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index f3f31911d5c..a732120976c 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-%% File l3sort.dtx (C) Copyright 2012,2014-2016 The LaTeX3 Project
+%% File l3sort.dtx (C) Copyright 2012,2014-2017 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
@@ -9,7 +9,7 @@
%
% http://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
@@ -20,28 +20,14 @@
%
% for those people who are interested.
%
+%<*driver>
+\documentclass[full]{l3doc}
+%</driver>
%<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
-%<package> {}
-%<package> {%
-%<package> \PackageError{l3sort}{Support package l3kernel too old}
-%<package> {%
-%<package> Please install an up to date version of l3kernel\MessageBreak
-%<package> using your TeX package manager or from CTAN.\MessageBreak
-%<package> \MessageBreak
-%<package> Loading l3sort will abort!%
-%<package> }%
-%<package> \endinput
-%<package> }
-\GetIdInfo$Id: l3sort.dtx 6829 2017-01-28 08:52:51Z joseph $
- {L3 Experimental sorting functions}
+\GetIdInfo$Id: l3sort.dtx 6842 2017-02-06 21:51:22Z joseph $
+ {L3 Sorting functions}
%</driver|package>
%<*driver>
-\documentclass[full]{l3doc}
-\usepackage{amsmath}
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
@@ -49,7 +35,7 @@
% \fi
%
% \title{^^A
-% The \pkg{l3sort} package\\ Sorting lists^^A
+% The \pkg{l3sort} package\\ Sorting functions^^A
% \thanks{This file describes v\ExplFileVersion,
% last revised \ExplFileDate.}^^A
% }
@@ -68,9 +54,10 @@
% \maketitle
%
% \begin{documentation}
-% ^^A todo: ask list about ltplain, mkpattern.tex, GFnotation.tex, texinfo.tex, lollipop-plain, etex-mac.tex,
%
-% \section{\pkg{l3sort} documentation}
+% \section{Controlling sorting}
+%
+% \label{sec:l3sort:mech}
%
% \LaTeX3 comes with a facility to sort list variables (sequences,
% token lists, or comma-lists) according to some user-defined
@@ -80,27 +67,31 @@
% \clist_sort:Nn \l_foo_clist
% {
% \int_compare:nNnTF { #1 } > { #2 }
-% { \sort_reversed: }
-% { \sort_ordered: }
+% { \sort_return_swapped: }
+% { \sort_return_same: }
% }
% \end{verbatim}
% will result in \cs{l_foo_clist} holding the values
% |{ -2 , 01 , +1 , 3 , 5 }| sorted in non-decreasing order.
%
-% The code defining the comparison should perform
-% \cs{sort_reversed:} if the two items given as |#1|
+% The code defining the comparison should call
+% \cs{sort_return_swapped:} if the two items given as |#1|
% and |#2| are not in the correct order, and otherwise it
-% should call \cs{sort_ordered:} to indicate that
+% should call \cs{sort_return_same:} to indicate that
% the order of this pair of items should not be changed.
%
% For instance, a \meta{comparison code} consisting only
-% of \cs{sort_ordered:} with no test will yield a trivial
+% of \cs{sort_return_same:} with no test will yield a trivial
% sort: the final order is identical to the original order.
% Conversely, using a \meta{comparison code} consisting only
-% of \cs{sort_reversed:} will reverse the list (in a fairly
+% of \cs{sort_return_swapped:} will reverse the list (in a fairly
% inefficient way).
%
% \begin{texnote}
+% The current implementation is limited to sorting approximately
+% $20000$ items ($40000$ in Lua\TeX{}), depending on what other
+% packages are loaded.
+%
% Internally, the code from \pkg{l3sort} stores items in \tn{toks}
% registers allocated locally. Thus, the \meta{comparison code}
% should not call \tn{newtoks} or other commands that allocate new
@@ -108,52 +99,6 @@
% previously allocated \tn{toks} register is not a problem.
% \end{texnote}
%
-% \begin{function}{\seq_sort:Nn, \seq_gsort:Nn}
-% \begin{syntax}
-% \cs{seq_sort:Nn} \meta{sequence} \Arg{comparison code}
-% \end{syntax}
-% Sorts the items in the \meta{sequence} according to the
-% \meta{comparison code}, and assigns the result to
-% \meta{sequence}.
-% \end{function}
-%
-% \begin{function}{\tl_sort:Nn, \tl_gsort:Nn}
-% \begin{syntax}
-% \cs{tl_sort:Nn} \meta{tl var} \Arg{comparison code}
-% \end{syntax}
-% Sorts the items in the \meta{tl var} according to the
-% \meta{comparison code}, and assigns the result to
-% \meta{tl var}.
-% \end{function}
-%
-% \begin{function}{\clist_sort:Nn, \clist_gsort:Nn}
-% \begin{syntax}
-% \cs{clist_sort:Nn} \meta{clist var} \Arg{comparison code}
-% \end{syntax}
-% Sorts the items in the \meta{clist var} according to the
-% \meta{comparison code}, and assigns the result to
-% \meta{clist var}.
-% \end{function}
-%
-% {\renewcommand{\thefootnote}{}\footnotetext{\CodedocExplainEXP}}
-%
-% \begin{function}[EXP]{\tl_sort:nN}
-% \begin{syntax}
-% \cs{tl_sort:nN} \Arg{token list} \meta{conditional}
-% \end{syntax}
-% Sorts the items in the \meta{token list}, using the
-% \meta{conditional} to compare items, and leaves the result in the
-% input stream. The \meta{conditional} should have signature |:nnTF|,
-% and return \texttt{true} if the two items being compared should be
-% left in the same order, and \texttt{false} if the items should be
-% swapped.
-% \begin{texnote}
-% The result is returned within \cs{exp_not:n}, which means that the
-% token list will not expand further when appearing in an
-% \texttt{x}-type argument expansion.
-% \end{texnote}
-% \end{function}
-%
% \end{documentation}
%
% \begin{implementation}
@@ -168,13 +113,6 @@
%<@@=sort>
% \end{macrocode}
%
-% \begin{macrocode}
-%<*package>
-\ProvidesExplPackage
- {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-%</package>
-% \end{macrocode}
-%
% \subsection{Variables}
%
% \begin{variable}
@@ -431,16 +369,18 @@
\seq_map_inline:Nn \seq_map_break:n
{ \s__seq \@@_toks:NN \exp_not:N \__seq_item:n }
}
+\cs_generate_variant:Nn \seq_sort:Nn { c }
\cs_new_protected:Npn \seq_gsort:Nn
{
\@@_main:NNNnNn \tl_gset:Nn
\seq_map_inline:Nn \seq_map_break:n
{ \s__seq \@@_toks:NN \exp_not:N \__seq_item:n }
}
+\cs_generate_variant:Nn \seq_gsort:Nn { c }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\tl_sort:Nn, \tl_gsort:Nn}
+% \begin{macro}{\tl_sort:Nn, \tl_sort:cn, \tl_gsort:Nn, \tl_gsort:cn}
% Again, use \cs{tl_set:Nn} or \cs{tl_gset:Nn} to control
% the scope of the assignment. Mapping through the token
% list is done with \cs{tl_map_inline:Nn}, and producing
@@ -453,16 +393,19 @@
\tl_map_inline:Nn \tl_map_break:n
{ \@@_toks:NN \prg_do_nothing: \prg_do_nothing: }
}
+\cs_generate_variant:Nn \tl_sort:Nn { c }
\cs_new_protected:Npn \tl_gsort:Nn
{
\@@_main:NNNnNn \tl_gset:Nn
\tl_map_inline:Nn \tl_map_break:n
{ \@@_toks:NN \prg_do_nothing: \prg_do_nothing: }
}
+\cs_generate_variant:Nn \tl_gsort:Nn { c }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\clist_sort:Nn, \clist_gsort:Nn}
+% \begin{macro}
+% {\clist_sort:Nn, \clist_sort:cn, \clist_gsort:Nn, \clist_gsort:cn}
% \begin{macro}[aux]{\@@_clist:NNn}
% The case of empty comma-lists is a little bit special as usual,
% and filtered out: there is nothing to sort in that case.
@@ -480,6 +423,8 @@
{ \@@_clist:NNn \tl_set:Nn }
\cs_new_protected:Npn \clist_gsort:Nn
{ \@@_clist:NNn \tl_gset:Nn }
+\cs_generate_variant:Nn \clist_sort:Nn { c }
+\cs_generate_variant:Nn \clist_gsort:Nn { c }
\cs_new_protected:Npn \@@_clist:NNn #1#2#3
{
\clist_if_empty:NF #2
@@ -617,7 +562,7 @@
% In other words, we are building the merger starting with the
% largest values.
% The comparison function is defined to return either
-% \texttt{reversed} or \texttt{ordered}. Of course, this
+% \texttt{swapped} or \texttt{same}. Of course, this
% means the arguments need to be given in the order they
% appear originally in the list.
% \begin{macrocode}
@@ -634,25 +579,24 @@
% \end{macrocode}
% \end{macro}
%
-%
-% \begin{macro}{\sort_ordered:, \sort_reversed:}
+% \begin{macro}{\sort_return_same:, \sort_return_swapped:}
% \begin{macro}[aux]{\@@_return_mark:N}
% \begin{macro}[aux]{\@@_return_none_error:, \@@_return_two_error:w}
% The marker removes one token. Each comparison should call
-% \cs{sort_ordered:} or \cs{sort_reversed:} exactly
+% \cs{sort_return_same:} or \cs{sort_return_swapped:} exactly
% once. If neither is called, \cs{@@_return_none_error:} is called.
% \begin{macrocode}
-\cs_new_protected:Npn \sort_ordered: #1 \@@_return_mark:N
- { #1 \@@_return_mark:N \@@_return_two_error:w \@@_ordered: }
-\cs_new_protected:Npn \sort_reversed: #1 \@@_return_mark:N
- { #1 \@@_return_mark:N \@@_return_two_error:w \@@_return_reversed: }
+\cs_new_protected:Npn \sort_return_same: #1 \@@_return_mark:N
+ { #1 \@@_return_mark:N \@@_return_two_error:w \@@_return_same: }
+\cs_new_protected:Npn \sort_return_swapped: #1 \@@_return_mark:N
+ { #1 \@@_return_mark:N \@@_return_two_error:w \@@_return_swapped: }
\cs_new_protected:Npn \@@_return_mark:N #1 { }
\cs_new_protected:Npn \@@_return_none_error:
{
\__msg_kernel_error:nnxx { sort } { return-none }
{ \tex_the:D \tex_toks:D \l_@@_A_int }
{ \tex_the:D \tex_toks:D \l_@@_C_int }
- \@@_ordered:
+ \@@_return_same:
}
\cs_new_protected:Npn \@@_return_two_error:w
#1 \@@_return_none_error:
@@ -662,8 +606,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[aux]{\@@_ordered:}
-% If the comparison function returns \texttt{ordered},
+% \begin{macro}[aux]{\@@_return_same:}
+% If the comparison function returns \texttt{same},
% then the second argument fed to \cs{@@_compare:nn}
% should remain to the right of the other one. Since
% we build the merger starting from the right, we copy
@@ -674,7 +618,7 @@
% is already in the correct registers and we are done
% with merging those two blocks.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_ordered:
+\cs_new_protected:Npn \@@_return_same:
{
\tex_toks:D \l_@@_B_int \tex_toks:D \l_@@_C_int
\tex_advance:D \l_@@_B_int - \c_one
@@ -686,10 +630,9 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
-% \begin{macro}[aux]{\@@_return_reversed:}
-% If the comparison function returns \texttt{reversed},
+% \begin{macro}[aux]{\@@_return_swapped:}
+% If the comparison function returns \texttt{swapped},
% then the next item to add to the merger is the first
% argument, contents of the \tn{toks} register $A$.
% Then shift the pointers $A$ and $B$ to the left, and
@@ -699,7 +642,7 @@
% the second block, indexed by $C$, are copied
% to the merger by \cs{@@_merge_blocks_end:}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_return_reversed:
+\cs_new_protected:Npn \@@_return_swapped:
{
\tex_toks:D \l_@@_B_int \tex_toks:D \l_@@_A_int
\tex_advance:D \l_@@_B_int - \c_one
@@ -1124,20 +1067,30 @@
{
When~sorting~a~list,~the~code~to~compare~items~#1~and~#2~
did~not~call~
- \iow_char:N\\sort_ordered: ~nor~
- \iow_char:N\\sort_reversed: .~
+ \iow_char:N\\sort_return_same: ~nor~
+ \iow_char:N\\sort_return_swapped: .~
Exactly~one~of~these~should~be~called.
}
\__msg_kernel_new:nnnn { sort } { return-two }
{ The~comparison~code~returned~multiple~times. }
{
When~sorting~a~list,~the~code~to~compare~items~called~
- \iow_char:N\\sort_ordered: ~or~
- \iow_char:N\\sort_reversed: ~multiple~times.~
+ \iow_char:N\\sort_return_same: ~or~
+ \iow_char:N\\sort_return_swapped: ~multiple~times.~
Exactly~one~of~these~should~be~called.
}
% \end{macrocode}
%
+% \subsection{Deprecated functions}
+%
+% \begin{macro}[deprecated = 2017-02-06]{\sort_ordered:, \sort_reversed:}
+% These functions were renamed for consistency.
+% \begin{macrocode}
+\cs_new_eq:NN \sort_ordered: \sort_return_same:
+\cs_new_eq:NN \sort_reversed: \sort_return_swapped:
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</initex|package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 8f1fac513ed..1acb5e14625 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -24,7 +24,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3tl.dtx 6805 2016-12-28 22:15:52Z joseph $
+\GetIdInfo$Id: l3tl.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Token lists}
%</driver|package>
%<*driver>
@@ -783,6 +783,35 @@
% \emph{resets} the content of the variable.
% \end{function}
%
+% \begin{function}[added = 2017-02-06]
+% {\tl_sort:Nn, \tl_sort:cn, \tl_gsort:Nn, \tl_gsort:cn}
+% \begin{syntax}
+% \cs{tl_sort:Nn} \meta{tl var} \Arg{comparison code}
+% \end{syntax}
+% Sorts the items in the \meta{tl var} according to the
+% \meta{comparison code}, and assigns the result to
+% \meta{tl var}. The details of sorting comparison are
+% described in Section~\ref{sec:l3sort:mech}.
+% \end{function}
+%
+% \begin{function}[added = 2017-02-06, EXP]{\tl_sort:nN}
+% \begin{syntax}
+% \cs{tl_sort:nN} \Arg{token list} \meta{conditional}
+% \end{syntax}
+% Sorts the items in the \meta{token list}, using the
+% \meta{conditional} to compare items, and leaves the result in the
+% input stream. The \meta{conditional} should have signature |:nnTF|,
+% and return \texttt{true} if the two items being compared should be
+% left in the same order, and \texttt{false} if the items should be
+% swapped. The details of sorting comparison are
+% described in Section~\ref{sec:l3sort:mech}.
+% \begin{texnote}
+% The result is returned within \cs{exp_not:n}, which means that the
+% token list will not expand further when appearing in an
+% \texttt{x}-type argument expansion.
+% \end{texnote}
+% \end{function}
+%
% \section{The first token from a token list}
%
% Functions which deal with either only the very first item (balanced
@@ -2404,6 +2433,11 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}
+% {\tl_sort:Nn, \tl_sort:cn, \tl_gsort:Nn, \tl_gsort:cn, \tl_sort:nN}
+% Implemented in \pkg{l3sort}.
+% \end{macro}
+%
% \subsection{Token by token changes}
%
% \begin{variable}{\q_@@_act_mark, \q_@@_act_stop}
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
index da221d72cfd..df48e99599f 100644
--- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
@@ -23,8 +23,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{l3keys2e}{Support package l3kernel too old}
@@ -38,8 +38,8 @@
%<package> }
\def\ExplFileName{l3keys2e}
\def\ExplFileDescription{LaTeX2e option processing using LaTeX3 keys}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
index 37e3eaa7f43..a09cbfae677 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
@@ -24,8 +24,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{xfrac}{Support package l3kernel too old}
@@ -40,8 +40,8 @@
\RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
\def\ExplFileName{xfrac}
\def\ExplFileDescription{L3 Experimental split-level fractions}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index 72e95c647ad..f4138d1b0e0 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -27,8 +27,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{xparse}{Support package l3kernel too old}
@@ -42,8 +42,8 @@
%<package> }
\def\ExplFileName{xparse}
\def\ExplFileDescription{L3 Experimental document command parser}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index 0e0cc211476..31a5c72bffd 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -27,8 +27,8 @@
%<*driver|package>
% The version of expl3 required is tested as early as possible, as
% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+%<package>\@ifpackagelater{expl3}{2017/02/07}
%<package> {}
%<package> {%
%<package> \PackageError{xtemplate}{Support package l3kernel too old}
@@ -42,8 +42,8 @@
%<package> }
\def\ExplFileName{xtemplate}
\def\ExplFileDescription{L3 Experimental prototype document functions}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
deleted file mode 100644
index bc01c1d4039..00000000000
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
+++ /dev/null
@@ -1,429 +0,0 @@
-%%
-%% This is file `l3sort.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3sort.dtx (with options: `package')
-%%
-%% Copyright (C) 2012-2016 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 license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3experimental bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File l3sort.dtx (C) Copyright 2012,2014-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
- {}
- {%
- \PackageError{l3sort}{Support package l3kernel too old}
- {%
- Please install an up to date version of l3kernel\MessageBreak
- using your TeX package manager or from CTAN.\MessageBreak
- \MessageBreak
- Loading l3sort will abort!%
- }%
- \endinput
- }
-\GetIdInfo$Id: l3sort.dtx 6829 2017-01-28 08:52:51Z joseph $
- {L3 Experimental sorting functions}
-\ProvidesExplPackage
- {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-\int_new:N \l__sort_length_int
-\int_new:N \l__sort_min_int
-\int_new:N \l__sort_top_int
-\int_new:N \l__sort_max_int
-\int_new:N \l__sort_true_max_int
-\int_new:N \l__sort_block_int
-\int_new:N \l__sort_begin_int
-\int_new:N \l__sort_end_int
-\int_new:N \l__sort_A_int
-\int_new:N \l__sort_B_int
-\int_new:N \l__sort_C_int
-\cs_new_protected:Npn \__sort_shrink_range:
- {
- \int_set:Nn \l__sort_A_int
- { \l__sort_true_max_int - \l__sort_min_int + \c_one }
- \int_set:Nn \l__sort_block_int { \c_max_register_int / \c_two }
- \__sort_shrink_range_loop:
- \int_set:Nn \l__sort_max_int
- {
- \int_compare:nNnTF
- { \l__sort_block_int * \c_three / \c_two } > \l__sort_A_int
- {
- \l__sort_min_int
- + ( \l__sort_A_int - \c_one ) / \c_two
- + \l__sort_block_int / \c_four
- - \c_one
- }
- { \l__sort_true_max_int - \l__sort_block_int / \c_two }
- }
- }
-\cs_new_protected:Npn \__sort_shrink_range_loop:
- {
- \if_int_compare:w \l__sort_A_int < \l__sort_block_int
- \tex_divide:D \l__sort_block_int \c_two
- \exp_after:wN \__sort_shrink_range_loop:
- \fi:
- }
-\cs_new_protected:Npn \__sort_compute_range:
- {
- \int_set:Nn \l__sort_min_int { \tex_count:D 15 + \c_one }
- \int_set:Nn \l__sort_true_max_int { \c_max_register_int + \c_one }
- \__sort_shrink_range:
- \if_meaning:w \loctoks \tex_undefined:D \else:
- \if_meaning:w \loctoks \scan_stop: \else:
- \__sort_redefine_compute_range:
- \__sort_compute_range:
- \fi:
- \fi:
- }
-\cs_new_protected:Npn \__sort_redefine_compute_range:
- {
- \cs_if_exist:cTF { ver@elocalloc.sty }
- {
- \cs_gset_protected:Npn \__sort_compute_range:
- {
- \int_set:Nn \l__sort_min_int { \tex_count:D 265 }
- \int_set_eq:NN \l__sort_true_max_int \e@alloc@top
- \__sort_shrink_range:
- }
- }
- {
- \cs_gset_protected:Npn \__sort_compute_range:
- {
- \int_set:Nn \l__sort_min_int { \tex_count:D 265 }
- \int_set:Nn \l__sort_true_max_int { \tex_count:D 275 }
- \__sort_shrink_range:
- }
- }
- }
-\cs_if_exist:NT \loctoks { \__sort_redefine_compute_range: }
-\tl_map_inline:nn { \lastallocatedtoks \c_syst_last_allocated_toks }
- {
- \cs_if_exist:NT #1
- {
- \cs_gset_protected:Npn \__sort_compute_range:
- {
- \int_set:Nn \l__sort_min_int { #1 + \c_one }
- \int_set:Nn \l__sort_true_max_int { \c_max_register_int + \c_one }
- \__sort_shrink_range:
- }
- }
- }
-\cs_new_protected:Npn \__sort_main:NNNnNn #1#2#3#4#5#6
- {
- \group_begin:
- \__sort_disable_toksdef:
- \__sort_compute_range:
- \int_set_eq:NN \l__sort_top_int \l__sort_min_int
- #2 #5
- {
- \if_int_compare:w \l__sort_top_int = \l__sort_max_int
- \__sort_too_long_error:NNw #3 #5
- \fi:
- \tex_toks:D \l__sort_top_int {##1}
- \tex_advance:D \l__sort_top_int \c_one
- }
- \int_set:Nn \l__sort_length_int
- { \l__sort_top_int - \l__sort_min_int }
- \cs_set:Npn \__sort_compare:nn ##1 ##2 { #6 }
- \int_set_eq:NN \l__sort_block_int \c_one
- \__sort_level:
- \use:x
- {
- \group_end:
- #1 \exp_not:N #5 {#4}
- }
- }
-\cs_new_protected:Npn \seq_sort:Nn
- {
- \__sort_main:NNNnNn \tl_set:Nn
- \seq_map_inline:Nn \seq_map_break:n
- { \s__seq \__sort_toks:NN \exp_not:N \__seq_item:n }
- }
-\cs_new_protected:Npn \seq_gsort:Nn
- {
- \__sort_main:NNNnNn \tl_gset:Nn
- \seq_map_inline:Nn \seq_map_break:n
- { \s__seq \__sort_toks:NN \exp_not:N \__seq_item:n }
- }
-\cs_new_protected:Npn \tl_sort:Nn
- {
- \__sort_main:NNNnNn \tl_set:Nn
- \tl_map_inline:Nn \tl_map_break:n
- { \__sort_toks:NN \prg_do_nothing: \prg_do_nothing: }
- }
-\cs_new_protected:Npn \tl_gsort:Nn
- {
- \__sort_main:NNNnNn \tl_gset:Nn
- \tl_map_inline:Nn \tl_map_break:n
- { \__sort_toks:NN \prg_do_nothing: \prg_do_nothing: }
- }
-\cs_new_protected:Npn \clist_sort:Nn
- { \__sort_clist:NNn \tl_set:Nn }
-\cs_new_protected:Npn \clist_gsort:Nn
- { \__sort_clist:NNn \tl_gset:Nn }
-\cs_new_protected:Npn \__sort_clist:NNn #1#2#3
- {
- \clist_if_empty:NF #2
- {
- \__sort_main:NNNnNn #1
- \clist_map_inline:Nn \clist_map_break:n
- {
- \exp_last_unbraced:Nf \use_none:n
- { \__sort_toks:NN \exp_args:No \__clist_wrap_item:n }
- }
- #2 {#3}
- }
- }
-\cs_new:Npn \__sort_toks:NN #1#2
- { \__sort_toks:NNw #1 #2 \l__sort_min_int ; }
-\cs_new:Npn \__sort_toks:NNw #1#2#3 ;
- {
- \if_int_compare:w #3 < \l__sort_top_int
- #1 #2 { \tex_the:D \tex_toks:D #3 }
- \exp_after:wN \__sort_toks:NNw \exp_after:wN #1 \exp_after:wN #2
- \__int_value:w \__int_eval:w #3 + \c_one \exp_after:wN ;
- \fi:
- }
-\cs_new_protected:Npn \__sort_level:
- {
- \if_int_compare:w \l__sort_block_int < \l__sort_length_int
- \l__sort_end_int \l__sort_min_int
- \__sort_merge_blocks:
- \tex_advance:D \l__sort_block_int \l__sort_block_int
- \exp_after:wN \__sort_level:
- \fi:
- }
-\cs_new_protected:Npn \__sort_merge_blocks:
- {
- \l__sort_begin_int \l__sort_end_int
- \tex_advance:D \l__sort_end_int \l__sort_block_int
- \if_int_compare:w \l__sort_end_int < \l__sort_top_int
- \l__sort_A_int \l__sort_end_int
- \tex_advance:D \l__sort_end_int \l__sort_block_int
- \if_int_compare:w \l__sort_end_int > \l__sort_top_int
- \l__sort_end_int \l__sort_top_int
- \fi:
- \l__sort_B_int \l__sort_A_int
- \l__sort_C_int \l__sort_top_int
- \__sort_copy_block:
- \tex_advance:D \l__sort_A_int - \c_one
- \tex_advance:D \l__sort_B_int - \c_one
- \tex_advance:D \l__sort_C_int - \c_one
- \exp_after:wN \__sort_merge_blocks_aux:
- \exp_after:wN \__sort_merge_blocks:
- \fi:
- }
-\cs_new_protected:Npn \__sort_copy_block:
- {
- \tex_toks:D \l__sort_C_int \tex_toks:D \l__sort_B_int
- \tex_advance:D \l__sort_C_int \c_one
- \tex_advance:D \l__sort_B_int \c_one
- \if_int_compare:w \l__sort_B_int = \l__sort_end_int
- \use_i:nn
- \fi:
- \__sort_copy_block:
- }
-\cs_new_protected:Npn \__sort_merge_blocks_aux:
- {
- \exp_after:wN \__sort_compare:nn \exp_after:wN
- { \tex_the:D \tex_toks:D \exp_after:wN \l__sort_A_int \exp_after:wN }
- \exp_after:wN { \tex_the:D \tex_toks:D \l__sort_C_int }
- \prg_do_nothing:
- \__sort_return_mark:N
- \__sort_return_mark:N
- \__sort_return_none_error:
- }
-\cs_new_protected:Npn \sort_ordered: #1 \__sort_return_mark:N
- { #1 \__sort_return_mark:N \__sort_return_two_error:w \__sort_ordered: }
-\cs_new_protected:Npn \sort_reversed: #1 \__sort_return_mark:N
- { #1 \__sort_return_mark:N \__sort_return_two_error:w \__sort_return_reversed: }
-\cs_new_protected:Npn \__sort_return_mark:N #1 { }
-\cs_new_protected:Npn \__sort_return_none_error:
- {
- \__msg_kernel_error:nnxx { sort } { return-none }
- { \tex_the:D \tex_toks:D \l__sort_A_int }
- { \tex_the:D \tex_toks:D \l__sort_C_int }
- \__sort_ordered:
- }
-\cs_new_protected:Npn \__sort_return_two_error:w
- #1 \__sort_return_none_error:
- { \__msg_kernel_error:nn { sort } { return-two } }
-\cs_new_protected:Npn \__sort_ordered:
- {
- \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
- \tex_advance:D \l__sort_B_int - \c_one
- \tex_advance:D \l__sort_C_int - \c_one
- \if_int_compare:w \l__sort_C_int < \l__sort_top_int
- \use_i:nn
- \fi:
- \__sort_merge_blocks_aux:
- }
-\cs_new_protected:Npn \__sort_return_reversed:
- {
- \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_A_int
- \tex_advance:D \l__sort_B_int - \c_one
- \tex_advance:D \l__sort_A_int - \c_one
- \if_int_compare:w \l__sort_A_int < \l__sort_begin_int
- \__sort_merge_blocks_end: \use_i:nn
- \fi:
- \__sort_merge_blocks_aux:
- }
-\cs_new_protected:Npn \__sort_merge_blocks_end:
- {
- \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
- \tex_advance:D \l__sort_B_int - \c_one
- \tex_advance:D \l__sort_C_int - \c_one
- \if_int_compare:w \l__sort_B_int < \l__sort_begin_int
- \use_i:nn
- \fi:
- \__sort_merge_blocks_end:
- }
-\cs_new:Npn \tl_sort:nN #1#2
- {
- \exp_not:f
- {
- \tl_if_blank:nF {#1}
- {
- \__sort_quick_prepare:Nnnn #2 { } { }
- #1
- { \__prg_break_point: \__sort_quick_prepare_end:NNNnw }
- \q_stop
- }
- }
- }
-\cs_new:Npn \__sort_quick_prepare:Nnnn #1#2#3#4
- {
- \__prg_break: #4 \__prg_break_point:
- \__sort_quick_prepare:Nnnn #1 { #2 #3 } { #1 {#4} }
- }
-\cs_new:Npn \__sort_quick_prepare_end:NNNnw #1#2#3#4#5 \q_stop
- {
- \__sort_quick_split:NnNn #4 \__sort_quick_end:nnTFNn { }
- \q_mark { \__sort_quick_cleanup:w \exp_stop_f: }
- \s__stop \q_stop
- }
-\cs_new:Npn \__sort_quick_cleanup:w #1 \s__stop \q_stop {#1}
-\cs_new:Npn \__sort_quick_split:NnNn #1#2#3#4
- {
- #3 {#2} {#4} \__sort_quick_only_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn
- \__sort_quick_single_end:nnnwnw
- { #3 {#4} } { } { } {#2}
- }
-\cs_new:Npn \__sort_quick_only_i:NnnnnNn #1#2#3#4#5#6#7
- {
- #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn
- \__sort_quick_only_i_end:nnnwnw
- { #6 {#7} } { #3 #2 } { } {#5}
- }
-\cs_new:Npn \__sort_quick_only_ii:NnnnnNn #1#2#3#4#5#6#7
- {
- #6 {#5} {#7} \__sort_quick_only_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
- \__sort_quick_only_ii_end:nnnwnw
- { #6 {#7} } { } { #4 #2 } {#5}
- }
-\cs_new:Npn \__sort_quick_split_i:NnnnnNn #1#2#3#4#5#6#7
- {
- #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
- \__sort_quick_split_end:nnnwnw
- { #6 {#7} } { #3 #2 } {#4} {#5}
- }
-\cs_new:Npn \__sort_quick_split_ii:NnnnnNn #1#2#3#4#5#6#7
- {
- #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
- \__sort_quick_split_end:nnnwnw
- { #6 {#7} } {#3} { #4 #2 } {#5}
- }
-\cs_new:Npn \__sort_quick_end:nnTFNn #1#2#3#4#5#6 {#5}
-\cs_new:Npn \__sort_quick_single_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
- { #5 {#3} #6 \q_stop }
-\cs_new:Npn \__sort_quick_only_i_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
- {
- \__sort_quick_split:NnNn #1
- \__sort_quick_end:nnTFNn { } \q_mark {#5}
- {#3}
- #6 \q_stop
- }
-\cs_new:Npn \__sort_quick_only_ii_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
- {
- \__sort_quick_split:NnNn #2
- \__sort_quick_end:nnTFNn { } \q_mark { #5 {#3} }
- #6 \q_stop
- }
-\cs_new:Npn \__sort_quick_split_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
- {
- \__sort_quick_split:NnNn #2 \__sort_quick_end:nnTFNn { } \q_mark
- {
- \__sort_quick_split:NnNn #1
- \__sort_quick_end:nnTFNn { } \q_mark {#5}
- {#3}
- }
- #6 \q_stop
- }
-\cs_new_protected:Npn \__sort_error:
- {
- \cs_set_eq:NN \__sort_merge_blocks_aux: \prg_do_nothing:
- \cs_set_eq:NN \__sort_merge_blocks: \prg_do_nothing:
- \cs_set_protected:Npn \__sort_level: \use:x ##1 { \group_end: }
- }
-\cs_new_protected:Npn \__sort_disable_toksdef:
- { \cs_set_eq:NN \toksdef \__sort_disabled_toksdef:n }
-\cs_new_protected:Npn \__sort_disabled_toksdef:n #1
- {
- \__msg_kernel_error:nnx { sort } { toksdef }
- { \token_to_str:N #1 }
- \__sort_error:
- \tex_toksdef:D #1
- }
-\__msg_kernel_new:nnnn { sort } { toksdef }
- { Allocation~of~\iow_char:N\\toks~registers~impossible~while~sorting. }
- {
- The~comparison~code~used~for~sorting~a~list~has~attempted~to~
- define~#1~as~a~new~\iow_char:N\\toks~register~using~\iow_char:N\\newtoks~
- or~a~similar~command.~The~list~will~not~be~sorted.
- }
-\cs_new_protected:Npn \__sort_too_long_error:NNw #1#2 \fi:
- {
- \fi:
- \__msg_kernel_error:nnxxx { sort } { too-large }
- { \token_to_str:N #2 }
- { \int_eval:n { \l__sort_true_max_int - \l__sort_min_int } }
- { \int_eval:n { \l__sort_top_int - \l__sort_min_int } }
- #1 \__sort_error:
- }
-\__msg_kernel_new:nnnn { sort } { too-large }
- { The~list~#1~is~too~long~to~be~sorted~by~TeX. }
- {
- TeX~has~#2~toks~registers~still~available:~
- this~only~allows~to~sort~with~up~to~#3~
- items.~All~extra~items~will~be~deleted.
- }
-\__msg_kernel_new:nnnn { sort } { return-none }
- { The~comparison~code~did~not~return. }
- {
- When~sorting~a~list,~the~code~to~compare~items~#1~and~#2~
- did~not~call~
- \iow_char:N\\sort_ordered: ~nor~
- \iow_char:N\\sort_reversed: .~
- Exactly~one~of~these~should~be~called.
- }
-\__msg_kernel_new:nnnn { sort } { return-two }
- { The~comparison~code~returned~multiple~times. }
- {
- When~sorting~a~list,~the~code~to~compare~items~called~
- \iow_char:N\\sort_ordered: ~or~
- \iow_char:N\\sort_reversed: ~multiple~times.~
- Exactly~one~of~these~should~be~called.
- }
-%%
-%%
-%% End of file `l3sort.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
index 1c712595718..eb625020ede 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
@@ -19,8 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3flag.dtx Copyright (C) 2011-2012,2014-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3flag}{Support package l3kernel too old}
@@ -32,7 +32,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3flag.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3flag.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental flags}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
index 9859252d594..cdf16a65441 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
@@ -19,8 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3regex.dtx Copyright (C) 2011-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -32,7 +32,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3regex.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental regular expressions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
index 902f5126e0c..27872fd6b13 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
@@ -19,8 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3regex.dtx Copyright (C) 2011-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -32,7 +32,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3regex.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental regular expressions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
index 8b278c5625e..3b8bf4de798 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
@@ -19,8 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3tl-build.dtx Copyright (C) 2011-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3tl-build}{Support package l3kernel too old}
@@ -32,7 +32,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3tl-build.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3tl-build.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental token list construction}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 7a75fac96d3..8f33f00a1ed 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -20,8 +20,8 @@
%%
%% File: l3galley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach
%% (C) 2010-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3galley}{Support package l3kernel too old}
@@ -33,7 +33,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3galley.dtx 6829 2017-01-28 08:52:51Z joseph $
+\GetIdInfo$Id: l3galley.dtx 6846 2017-02-07 07:04:19Z joseph $
{L3 Experimental galley code}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -944,7 +944,7 @@
{ \galley_break_line:Nn \reserved@e {#1} }
\DeclareRobustCommand \newline
{ \galley_break_line:Nn \c_true_bool { 0pt } }
-\cs_set_eq:cN { @ @ par } \galley_par:
+\cs_set_eq:NN \@@par \galley_par:
\cs_set_protected:Npn \addpenalty { \galley_penalty_add_single:n }
\cs_set_protected:Npn \addvspace { \galley_vspace_max_single:n }
\cs_set_protected:Npn \@afterheading
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 0447f49538b..32d9b6e7f7f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -35,6 +35,7 @@
%% l3fp-convert.dtx (with options: `package')
%% l3fp-random.dtx (with options: `package')
%% l3fp-assign.dtx (with options: `package')
+%% l3sort.dtx (with options: `package')
%% l3box.dtx (with options: `package')
%% l3coffins.dtx (with options: `package')
%% l3color.dtx (with options: `package')
@@ -42,7 +43,7 @@
%% l3candidates.dtx (with options: `package')
%% l3luatex.dtx (with options: `package,tex')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -54,11 +55,11 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: expl3.dtx Copyright (C) 1990-2016 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
\def\ExplFileName{expl3}%
\def\ExplFileDescription{L3 programming layer}%
-\def\ExplFileDate{2017/01/28}%
-\def\ExplFileVersion{6834}%
+\def\ExplFileDate{2017/02/07}%
+\def\ExplFileVersion{6846}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -2554,7 +2555,7 @@
\__cs_generate_internal_variant_loop:n
}
%% File: l3tl.dtx Copyright (C) 1990-2016 The LaTeX3 Project
-\GetIdInfo$Id: l3tl.dtx 6805 2016-12-28 22:15:52Z joseph $
+\GetIdInfo$Id: l3tl.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Token lists}
\cs_new_protected:Npn \tl_new:N #1
{
@@ -4064,8 +4065,8 @@
? \q_recursion_tail \q_recursion_stop
}
\group_end:
-%% File: l3seq.dtx Copyright (C) 1990-2016 The LaTeX3 Project
-\GetIdInfo$Id: l3seq.dtx 6805 2016-12-28 22:15:52Z joseph $
+%% File: l3seq.dtx Copyright (C) 1990-2017 The LaTeX3 Project
+\GetIdInfo$Id: l3seq.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Sequences and stacks}
\cs_new:Npn \__seq_item:n
{
@@ -5800,8 +5801,8 @@
\int_new:N \g__prg_map_int
%% File: l3clist.dtx Copyright (C) 2004-2011 Frank Mittelbach,
%% The LaTeX3 project
-%% (C) 2012-2016 The LaTeX3 Project
-\GetIdInfo$Id: l3clist.dtx 6805 2016-12-28 22:15:52Z joseph $
+%% (C) 2012-2017 The LaTeX3 Project
+\GetIdInfo$Id: l3clist.dtx 6842 2017-02-06 21:51:22Z joseph $
{L3 Comma separated lists}
\cs_new_eq:NN \c_empty_clist \c_empty_tl
\tl_new:N \l__clist_internal_clist
@@ -15488,6 +15489,405 @@
\fp_new:N \l_tmpb_fp
\fp_new:N \g_tmpa_fp
\fp_new:N \g_tmpb_fp
+%% File l3sort.dtx (C) Copyright 2012,2014-2017 The LaTeX3 Project
+\GetIdInfo$Id: l3sort.dtx 6842 2017-02-06 21:51:22Z joseph $
+ {L3 Sorting functions}
+\int_new:N \l__sort_length_int
+\int_new:N \l__sort_min_int
+\int_new:N \l__sort_top_int
+\int_new:N \l__sort_max_int
+\int_new:N \l__sort_true_max_int
+\int_new:N \l__sort_block_int
+\int_new:N \l__sort_begin_int
+\int_new:N \l__sort_end_int
+\int_new:N \l__sort_A_int
+\int_new:N \l__sort_B_int
+\int_new:N \l__sort_C_int
+\cs_new_protected:Npn \__sort_shrink_range:
+ {
+ \int_set:Nn \l__sort_A_int
+ { \l__sort_true_max_int - \l__sort_min_int + \c_one }
+ \int_set:Nn \l__sort_block_int { \c_max_register_int / \c_two }
+ \__sort_shrink_range_loop:
+ \int_set:Nn \l__sort_max_int
+ {
+ \int_compare:nNnTF
+ { \l__sort_block_int * \c_three / \c_two } > \l__sort_A_int
+ {
+ \l__sort_min_int
+ + ( \l__sort_A_int - \c_one ) / \c_two
+ + \l__sort_block_int / \c_four
+ - \c_one
+ }
+ { \l__sort_true_max_int - \l__sort_block_int / \c_two }
+ }
+ }
+\cs_new_protected:Npn \__sort_shrink_range_loop:
+ {
+ \if_int_compare:w \l__sort_A_int < \l__sort_block_int
+ \tex_divide:D \l__sort_block_int \c_two
+ \exp_after:wN \__sort_shrink_range_loop:
+ \fi:
+ }
+\cs_new_protected:Npn \__sort_compute_range:
+ {
+ \int_set:Nn \l__sort_min_int { \tex_count:D 15 + \c_one }
+ \int_set:Nn \l__sort_true_max_int { \c_max_register_int + \c_one }
+ \__sort_shrink_range:
+ \if_meaning:w \loctoks \tex_undefined:D \else:
+ \if_meaning:w \loctoks \scan_stop: \else:
+ \__sort_redefine_compute_range:
+ \__sort_compute_range:
+ \fi:
+ \fi:
+ }
+\cs_new_protected:Npn \__sort_redefine_compute_range:
+ {
+ \cs_if_exist:cTF { ver@elocalloc.sty }
+ {
+ \cs_gset_protected:Npn \__sort_compute_range:
+ {
+ \int_set:Nn \l__sort_min_int { \tex_count:D 265 }
+ \int_set_eq:NN \l__sort_true_max_int \e@alloc@top
+ \__sort_shrink_range:
+ }
+ }
+ {
+ \cs_gset_protected:Npn \__sort_compute_range:
+ {
+ \int_set:Nn \l__sort_min_int { \tex_count:D 265 }
+ \int_set:Nn \l__sort_true_max_int { \tex_count:D 275 }
+ \__sort_shrink_range:
+ }
+ }
+ }
+\cs_if_exist:NT \loctoks { \__sort_redefine_compute_range: }
+\tl_map_inline:nn { \lastallocatedtoks \c_syst_last_allocated_toks }
+ {
+ \cs_if_exist:NT #1
+ {
+ \cs_gset_protected:Npn \__sort_compute_range:
+ {
+ \int_set:Nn \l__sort_min_int { #1 + \c_one }
+ \int_set:Nn \l__sort_true_max_int { \c_max_register_int + \c_one }
+ \__sort_shrink_range:
+ }
+ }
+ }
+\cs_new_protected:Npn \__sort_main:NNNnNn #1#2#3#4#5#6
+ {
+ \group_begin:
+ \__sort_disable_toksdef:
+ \__sort_compute_range:
+ \int_set_eq:NN \l__sort_top_int \l__sort_min_int
+ #2 #5
+ {
+ \if_int_compare:w \l__sort_top_int = \l__sort_max_int
+ \__sort_too_long_error:NNw #3 #5
+ \fi:
+ \tex_toks:D \l__sort_top_int {##1}
+ \tex_advance:D \l__sort_top_int \c_one
+ }
+ \int_set:Nn \l__sort_length_int
+ { \l__sort_top_int - \l__sort_min_int }
+ \cs_set:Npn \__sort_compare:nn ##1 ##2 { #6 }
+ \int_set_eq:NN \l__sort_block_int \c_one
+ \__sort_level:
+ \use:x
+ {
+ \group_end:
+ #1 \exp_not:N #5 {#4}
+ }
+ }
+\cs_new_protected:Npn \seq_sort:Nn
+ {
+ \__sort_main:NNNnNn \tl_set:Nn
+ \seq_map_inline:Nn \seq_map_break:n
+ { \s__seq \__sort_toks:NN \exp_not:N \__seq_item:n }
+ }
+\cs_generate_variant:Nn \seq_sort:Nn { c }
+\cs_new_protected:Npn \seq_gsort:Nn
+ {
+ \__sort_main:NNNnNn \tl_gset:Nn
+ \seq_map_inline:Nn \seq_map_break:n
+ { \s__seq \__sort_toks:NN \exp_not:N \__seq_item:n }
+ }
+\cs_generate_variant:Nn \seq_gsort:Nn { c }
+\cs_new_protected:Npn \tl_sort:Nn
+ {
+ \__sort_main:NNNnNn \tl_set:Nn
+ \tl_map_inline:Nn \tl_map_break:n
+ { \__sort_toks:NN \prg_do_nothing: \prg_do_nothing: }
+ }
+\cs_generate_variant:Nn \tl_sort:Nn { c }
+\cs_new_protected:Npn \tl_gsort:Nn
+ {
+ \__sort_main:NNNnNn \tl_gset:Nn
+ \tl_map_inline:Nn \tl_map_break:n
+ { \__sort_toks:NN \prg_do_nothing: \prg_do_nothing: }
+ }
+\cs_generate_variant:Nn \tl_gsort:Nn { c }
+\cs_new_protected:Npn \clist_sort:Nn
+ { \__sort_clist:NNn \tl_set:Nn }
+\cs_new_protected:Npn \clist_gsort:Nn
+ { \__sort_clist:NNn \tl_gset:Nn }
+\cs_generate_variant:Nn \clist_sort:Nn { c }
+\cs_generate_variant:Nn \clist_gsort:Nn { c }
+\cs_new_protected:Npn \__sort_clist:NNn #1#2#3
+ {
+ \clist_if_empty:NF #2
+ {
+ \__sort_main:NNNnNn #1
+ \clist_map_inline:Nn \clist_map_break:n
+ {
+ \exp_last_unbraced:Nf \use_none:n
+ { \__sort_toks:NN \exp_args:No \__clist_wrap_item:n }
+ }
+ #2 {#3}
+ }
+ }
+\cs_new:Npn \__sort_toks:NN #1#2
+ { \__sort_toks:NNw #1 #2 \l__sort_min_int ; }
+\cs_new:Npn \__sort_toks:NNw #1#2#3 ;
+ {
+ \if_int_compare:w #3 < \l__sort_top_int
+ #1 #2 { \tex_the:D \tex_toks:D #3 }
+ \exp_after:wN \__sort_toks:NNw \exp_after:wN #1 \exp_after:wN #2
+ \__int_value:w \__int_eval:w #3 + \c_one \exp_after:wN ;
+ \fi:
+ }
+\cs_new_protected:Npn \__sort_level:
+ {
+ \if_int_compare:w \l__sort_block_int < \l__sort_length_int
+ \l__sort_end_int \l__sort_min_int
+ \__sort_merge_blocks:
+ \tex_advance:D \l__sort_block_int \l__sort_block_int
+ \exp_after:wN \__sort_level:
+ \fi:
+ }
+\cs_new_protected:Npn \__sort_merge_blocks:
+ {
+ \l__sort_begin_int \l__sort_end_int
+ \tex_advance:D \l__sort_end_int \l__sort_block_int
+ \if_int_compare:w \l__sort_end_int < \l__sort_top_int
+ \l__sort_A_int \l__sort_end_int
+ \tex_advance:D \l__sort_end_int \l__sort_block_int
+ \if_int_compare:w \l__sort_end_int > \l__sort_top_int
+ \l__sort_end_int \l__sort_top_int
+ \fi:
+ \l__sort_B_int \l__sort_A_int
+ \l__sort_C_int \l__sort_top_int
+ \__sort_copy_block:
+ \tex_advance:D \l__sort_A_int - \c_one
+ \tex_advance:D \l__sort_B_int - \c_one
+ \tex_advance:D \l__sort_C_int - \c_one
+ \exp_after:wN \__sort_merge_blocks_aux:
+ \exp_after:wN \__sort_merge_blocks:
+ \fi:
+ }
+\cs_new_protected:Npn \__sort_copy_block:
+ {
+ \tex_toks:D \l__sort_C_int \tex_toks:D \l__sort_B_int
+ \tex_advance:D \l__sort_C_int \c_one
+ \tex_advance:D \l__sort_B_int \c_one
+ \if_int_compare:w \l__sort_B_int = \l__sort_end_int
+ \use_i:nn
+ \fi:
+ \__sort_copy_block:
+ }
+\cs_new_protected:Npn \__sort_merge_blocks_aux:
+ {
+ \exp_after:wN \__sort_compare:nn \exp_after:wN
+ { \tex_the:D \tex_toks:D \exp_after:wN \l__sort_A_int \exp_after:wN }
+ \exp_after:wN { \tex_the:D \tex_toks:D \l__sort_C_int }
+ \prg_do_nothing:
+ \__sort_return_mark:N
+ \__sort_return_mark:N
+ \__sort_return_none_error:
+ }
+\cs_new_protected:Npn \sort_return_same: #1 \__sort_return_mark:N
+ { #1 \__sort_return_mark:N \__sort_return_two_error:w \__sort_return_same: }
+\cs_new_protected:Npn \sort_return_swapped: #1 \__sort_return_mark:N
+ { #1 \__sort_return_mark:N \__sort_return_two_error:w \__sort_return_swapped: }
+\cs_new_protected:Npn \__sort_return_mark:N #1 { }
+\cs_new_protected:Npn \__sort_return_none_error:
+ {
+ \__msg_kernel_error:nnxx { sort } { return-none }
+ { \tex_the:D \tex_toks:D \l__sort_A_int }
+ { \tex_the:D \tex_toks:D \l__sort_C_int }
+ \__sort_return_same:
+ }
+\cs_new_protected:Npn \__sort_return_two_error:w
+ #1 \__sort_return_none_error:
+ { \__msg_kernel_error:nn { sort } { return-two } }
+\cs_new_protected:Npn \__sort_return_same:
+ {
+ \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
+ \tex_advance:D \l__sort_B_int - \c_one
+ \tex_advance:D \l__sort_C_int - \c_one
+ \if_int_compare:w \l__sort_C_int < \l__sort_top_int
+ \use_i:nn
+ \fi:
+ \__sort_merge_blocks_aux:
+ }
+\cs_new_protected:Npn \__sort_return_swapped:
+ {
+ \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_A_int
+ \tex_advance:D \l__sort_B_int - \c_one
+ \tex_advance:D \l__sort_A_int - \c_one
+ \if_int_compare:w \l__sort_A_int < \l__sort_begin_int
+ \__sort_merge_blocks_end: \use_i:nn
+ \fi:
+ \__sort_merge_blocks_aux:
+ }
+\cs_new_protected:Npn \__sort_merge_blocks_end:
+ {
+ \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
+ \tex_advance:D \l__sort_B_int - \c_one
+ \tex_advance:D \l__sort_C_int - \c_one
+ \if_int_compare:w \l__sort_B_int < \l__sort_begin_int
+ \use_i:nn
+ \fi:
+ \__sort_merge_blocks_end:
+ }
+\cs_new:Npn \tl_sort:nN #1#2
+ {
+ \exp_not:f
+ {
+ \tl_if_blank:nF {#1}
+ {
+ \__sort_quick_prepare:Nnnn #2 { } { }
+ #1
+ { \__prg_break_point: \__sort_quick_prepare_end:NNNnw }
+ \q_stop
+ }
+ }
+ }
+\cs_new:Npn \__sort_quick_prepare:Nnnn #1#2#3#4
+ {
+ \__prg_break: #4 \__prg_break_point:
+ \__sort_quick_prepare:Nnnn #1 { #2 #3 } { #1 {#4} }
+ }
+\cs_new:Npn \__sort_quick_prepare_end:NNNnw #1#2#3#4#5 \q_stop
+ {
+ \__sort_quick_split:NnNn #4 \__sort_quick_end:nnTFNn { }
+ \q_mark { \__sort_quick_cleanup:w \exp_stop_f: }
+ \s__stop \q_stop
+ }
+\cs_new:Npn \__sort_quick_cleanup:w #1 \s__stop \q_stop {#1}
+\cs_new:Npn \__sort_quick_split:NnNn #1#2#3#4
+ {
+ #3 {#2} {#4} \__sort_quick_only_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn
+ \__sort_quick_single_end:nnnwnw
+ { #3 {#4} } { } { } {#2}
+ }
+\cs_new:Npn \__sort_quick_only_i:NnnnnNn #1#2#3#4#5#6#7
+ {
+ #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_only_i:NnnnnNn
+ \__sort_quick_only_i_end:nnnwnw
+ { #6 {#7} } { #3 #2 } { } {#5}
+ }
+\cs_new:Npn \__sort_quick_only_ii:NnnnnNn #1#2#3#4#5#6#7
+ {
+ #6 {#5} {#7} \__sort_quick_only_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
+ \__sort_quick_only_ii_end:nnnwnw
+ { #6 {#7} } { } { #4 #2 } {#5}
+ }
+\cs_new:Npn \__sort_quick_split_i:NnnnnNn #1#2#3#4#5#6#7
+ {
+ #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
+ \__sort_quick_split_end:nnnwnw
+ { #6 {#7} } { #3 #2 } {#4} {#5}
+ }
+\cs_new:Npn \__sort_quick_split_ii:NnnnnNn #1#2#3#4#5#6#7
+ {
+ #6 {#5} {#7} \__sort_quick_split_ii:NnnnnNn \__sort_quick_split_i:NnnnnNn
+ \__sort_quick_split_end:nnnwnw
+ { #6 {#7} } {#3} { #4 #2 } {#5}
+ }
+\cs_new:Npn \__sort_quick_end:nnTFNn #1#2#3#4#5#6 {#5}
+\cs_new:Npn \__sort_quick_single_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
+ { #5 {#3} #6 \q_stop }
+\cs_new:Npn \__sort_quick_only_i_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
+ {
+ \__sort_quick_split:NnNn #1
+ \__sort_quick_end:nnTFNn { } \q_mark {#5}
+ {#3}
+ #6 \q_stop
+ }
+\cs_new:Npn \__sort_quick_only_ii_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
+ {
+ \__sort_quick_split:NnNn #2
+ \__sort_quick_end:nnTFNn { } \q_mark { #5 {#3} }
+ #6 \q_stop
+ }
+\cs_new:Npn \__sort_quick_split_end:nnnwnw #1#2#3#4 \q_mark #5#6 \q_stop
+ {
+ \__sort_quick_split:NnNn #2 \__sort_quick_end:nnTFNn { } \q_mark
+ {
+ \__sort_quick_split:NnNn #1
+ \__sort_quick_end:nnTFNn { } \q_mark {#5}
+ {#3}
+ }
+ #6 \q_stop
+ }
+\cs_new_protected:Npn \__sort_error:
+ {
+ \cs_set_eq:NN \__sort_merge_blocks_aux: \prg_do_nothing:
+ \cs_set_eq:NN \__sort_merge_blocks: \prg_do_nothing:
+ \cs_set_protected:Npn \__sort_level: \use:x ##1 { \group_end: }
+ }
+\cs_new_protected:Npn \__sort_disable_toksdef:
+ { \cs_set_eq:NN \toksdef \__sort_disabled_toksdef:n }
+\cs_new_protected:Npn \__sort_disabled_toksdef:n #1
+ {
+ \__msg_kernel_error:nnx { sort } { toksdef }
+ { \token_to_str:N #1 }
+ \__sort_error:
+ \tex_toksdef:D #1
+ }
+\__msg_kernel_new:nnnn { sort } { toksdef }
+ { Allocation~of~\iow_char:N\\toks~registers~impossible~while~sorting. }
+ {
+ The~comparison~code~used~for~sorting~a~list~has~attempted~to~
+ define~#1~as~a~new~\iow_char:N\\toks~register~using~\iow_char:N\\newtoks~
+ or~a~similar~command.~The~list~will~not~be~sorted.
+ }
+\cs_new_protected:Npn \__sort_too_long_error:NNw #1#2 \fi:
+ {
+ \fi:
+ \__msg_kernel_error:nnxxx { sort } { too-large }
+ { \token_to_str:N #2 }
+ { \int_eval:n { \l__sort_true_max_int - \l__sort_min_int } }
+ { \int_eval:n { \l__sort_top_int - \l__sort_min_int } }
+ #1 \__sort_error:
+ }
+\__msg_kernel_new:nnnn { sort } { too-large }
+ { The~list~#1~is~too~long~to~be~sorted~by~TeX. }
+ {
+ TeX~has~#2~toks~registers~still~available:~
+ this~only~allows~to~sort~with~up~to~#3~
+ items.~All~extra~items~will~be~deleted.
+ }
+\__msg_kernel_new:nnnn { sort } { return-none }
+ { The~comparison~code~did~not~return. }
+ {
+ When~sorting~a~list,~the~code~to~compare~items~#1~and~#2~
+ did~not~call~
+ \iow_char:N\\sort_return_same: ~nor~
+ \iow_char:N\\sort_return_swapped: .~
+ Exactly~one~of~these~should~be~called.
+ }
+\__msg_kernel_new:nnnn { sort } { return-two }
+ { The~comparison~code~returned~multiple~times. }
+ {
+ When~sorting~a~list,~the~code~to~compare~items~called~
+ \iow_char:N\\sort_return_same: ~or~
+ \iow_char:N\\sort_return_swapped: ~multiple~times.~
+ Exactly~one~of~these~should~be~called.
+ }
+\cs_new_eq:NN \sort_ordered: \sort_return_same:
+\cs_new_eq:NN \sort_reversed: \sort_return_swapped:
%% File: l3box.dtx Copyright (C) 2005-2016 The LaTeX3 Project
\GetIdInfo$Id: l3box.dtx 6805 2016-12-28 22:15:52Z joseph $
{L3 Experimental boxes}
@@ -16617,7 +17017,7 @@
\str_const:Nn \c_sys_output_str { dvi }
}
%% File: l3candidates.dtx Copyright (C) 2012-2016 The LaTeX3 Project
-\GetIdInfo$Id: l3candidates.dtx 6809 2017-01-01 06:33:13Z bruno $
+\GetIdInfo$Id: l3candidates.dtx 6835 2017-01-30 21:25:17Z bruno $
{L3 Experimental additions to l3kernel}
\cs_new_protected:Npn \cs_log:N
{ \__msg_log_next: \cs_show:N }
@@ -17482,8 +17882,6 @@
\cs_new_protected:Npn \prop_log:N
{ \__msg_log_next: \prop_show:N }
\cs_generate_variant:Nn \prop_log:N { c }
-\cs_new:Npn \prop_rand_key:N { \__prop_rand:NN \use_i:nnn }
-\cs_new:Npn \prop_rand_value:N { \__prop_rand:NN \use_none:n }
\cs_new:Npn \prop_rand_key_value:N { \__prop_rand:NN \__prop_rand:nNn }
\cs_new:Npn \__prop_rand:nNn #1#2#3 { \exp_not:n { {#1} {#3} } }
\cs_new:Npn \__prop_rand:NN #1#2
@@ -17502,8 +17900,6 @@
\exp_after:wN \__prop_rand_item:Nw \exp_after:wN #1
\__int_value:w \int_eval:n { #2 - \c_one } \s__prop
}
-\cs_generate_variant:Nn \prop_rand_key:N { c }
-\cs_generate_variant:Nn \prop_rand_value:N { c }
\cs_generate_variant:Nn \prop_rand_key_value:N { c }
\cs_new:Npn \seq_mapthread_function:NNN #1#2#3
{ \exp_after:wN \__seq_mapthread_function:wNN #2 \q_stop #1 #3 }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 31aacacb88d..94369c965fd 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -6,7 +6,7 @@
%%
%% expl3.dtx (with options: `generic,loader')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,11 +18,11 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: expl3.dtx Copyright (C) 1990-2016 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
\def\ExplFileName{expl3}%
\def\ExplFileDescription{L3 programming layer}%
-\def\ExplFileDate{2017/01/28}%
-\def\ExplFileVersion{6834}%
+\def\ExplFileDate{2017/02/07}%
+\def\ExplFileVersion{6846}%
\let\ExplLoaderFileVersion\ExplFileVersion
\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 004918b186c..c5fff7cd897 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -6,7 +6,7 @@
%%
%% expl3.dtx (with options: `package,loader')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,11 +18,11 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: expl3.dtx Copyright (C) 1990-2016 The LaTeX3 Project
+%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
\def\ExplFileName{expl3}%
\def\ExplFileDescription{L3 programming layer}%
-\def\ExplFileDate{2017/01/28}%
-\def\ExplFileVersion{6834}%
+\def\ExplFileDate{2017/02/07}%
+\def\ExplFileVersion{6846}%
\let\ExplLoaderFileVersion\ExplFileVersion
\ProvidesPackage{\ExplFileName}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index a8c2feb562b..29abdfcfb55 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3basics,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
index 753882b885b..5ff90d841fc 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3bootstrap,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
index 52758d5317a..4011addc764 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3box,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
index 13eedc16ec2..acf4c5da2c0 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3candidates,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
index 06a48900a1c..8cffabce673 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3clist,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
index 2d259066156..466aa32ffca 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3coffins,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3color.sty b/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
index 5b291f99720..8b7ddf28323 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3color,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 7a4d0868b29..0896fd6aa64 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -6,7 +6,7 @@
%%
%% l3doc.dtx (with options: `class')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -24,7 +24,7 @@
\let \fileversionOld \ExplFileVersion
\let \filedescriptionOld \ExplFileDescription
\RequirePackage{expl3,xparse,calc}
-\GetIdInfo$Id: l3doc.dtx 6809 2017-01-01 06:33:13Z bruno $
+\GetIdInfo$Id: l3doc.dtx 6839 2017-02-06 18:52:08Z bruno $
{L3 Experimental documentation class}
\ProvidesExplClass
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -140,12 +140,15 @@
#1 \g__codedoc_module_name_tl
}
}
-\cs_new_protected:Npn \__codedoc_replace_at_at_aux:Nn #1#2
+\cs_new_protected:Npx \__codedoc_replace_at_at_aux:Nn #1#2
{
- \tl_replace_all:Non #1 { \token_to_str:N @ } { @ }
- \tl_replace_all:Non #1 { \token_to_str:N _ } { _ }
- \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 }
- \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { \token_to_str:N @ } { @ }
+ \tl_replace_all:Nnn #1 { \token_to_str:N _ } { _ }
+ \tl_replace_all:Nnn #1 { @ @ @ @ } { \token_to_str:N a a }
+ \tl_replace_all:Nnn #1 { _ _ @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
+ \tl_replace_all:Nnn #1 { \token_to_str:N a a } { @ @ }
}
\cs_new:Npn \__codedoc_signature_base_form:n #1
{ \__codedoc_signature_base_form_aux:n #1 \q_stop }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
index ec8740d148a..3970ba6d68d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
@@ -6,7 +6,7 @@
%%
%% l3docstrip.dtx (with options: `program')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -47,10 +47,12 @@
\ifx\relax#1\relax
\let\replaceModuleInLine\empty
\else
- \def\replaceModuleInLine{%
- \replaceAllIn\inLine{__@@}{__#1}%
- \replaceAllIn\inLine{_@@}{__#1}%
- \replaceAllIn\inLine{@@}{__#1}%
+ \edef\replaceModuleInLine{%
+ \noexpand\replaceAllIn\noexpand\inLine{@@@@}{\string aa}%
+ \noexpand\replaceAllIn\noexpand\inLine{__@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{_@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{@@}{__#1}%
+ \noexpand\replaceAllIn\noexpand\inLine{\string aa}{@@}%
}%
\fi
}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 4730259262a..7576a3c1f95 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -6,7 +6,7 @@
%%
%% l3drivers.dtx (with options: `package,dvipdfmx')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index e5571e4acc4..5c160181f16 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -6,7 +6,7 @@
%%
%% l3drivers.dtx (with options: `package,dvips')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
index d47ec607807..be5b305817e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
@@ -6,7 +6,7 @@
%%
%% l3drivers.dtx (with options: `package,dvisvgm')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
index 7abe3952cd4..0e6e7c5f959 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3expan,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
index 600b8f5d0a7..fa0bc64c69f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3file,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index fef88a5aac2..3a7e7818d6f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3fp,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index ba483d8a837..ce59b3a2d32 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3int,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
index 35daf44485f..eab886dc1bd 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3keys,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
index e800d405045..2c9ec94f9f3 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3msg,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index a449e54bfdd..05fdfb08340 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3names,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index e8ead1b1c4c..b517bd9f7ff 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -6,7 +6,7 @@
%%
%% l3drivers.dtx (with options: `package,pdfmode')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
index 20eeedf4f2a..8db79d2c5fa 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3prg,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index b24b3ba1e67..fd6e59584b4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3prop,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
index 910caadcae2..9457605ab49 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3quark,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
index c15d41151a5..8c95dad6b7f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3seq,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
index 3cfc2bc1853..9d024fbe863 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3skip,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty b/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty
new file mode 100644
index 00000000000..1568827f997
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty
@@ -0,0 +1,50 @@
+%%
+%% This is file `l3sort.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3oldmodules.dtx (with options: `l3sort,oldmodules')
+%%
+%% Copyright (C) 1990-2017 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 license or (at your option) any later version. The latest
+%% version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "l3kernel bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
+\def\ExplFileDate{2014/09/06}
+
+\def\old@liii@module@name
+{l3sort}
+\ProvidesPackage\old@liii@module@name
+ [%
+ \ExplFileDate\space v-no-info
+ Obsolete L3 package
+ ]
+\typeout{*****************************************************************}
+\typeout{** }
+\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
+\typeout{** }
+\typeout{** Its functionality is now only provided as part of in the expl3 package}
+\typeout{** }
+\typeout{** After showing you an error message you can hit <return> we will continue}
+\typeout{** for now by loading expl3 for you. However, at some point in the future}
+\typeout{** the old packages will be removed.}
+\typeout{** }
+\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
+\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
+\typeout{** }
+\typeout{*******************************************************************}
+\PackageError\old@liii@module@name{This package is obsolete ---
+ use 'expl3' instead}\@ehc
+\RequirePackage{expl3}
+%%
+%%
+%% End of file `l3sort.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
index 70f0bb1fe30..84cc1066e77 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3str,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
index 8c8ab9af8b3..74825ec8b1c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3tl,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
index 64669857cfa..e450b07f6a5 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
@@ -6,7 +6,7 @@
%%
%% l3oldmodules.dtx (with options: `l3token,oldmodules')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
@@ -18,7 +18,7 @@
%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 The LaTeX3 Project
\def\ExplFileDate{2014/09/06}
\def\old@liii@module@name
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index 73c8733d7ed..af8468476db 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -6,7 +6,7 @@
%%
%% l3drivers.dtx (with options: `package,xdvipdfmx')
%%
-%% Copyright (C) 1990-2016 The LaTeX3 Project
+%% Copyright (C) 1990-2017 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
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 6eb092371e3..41a1b17b6d9 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -19,8 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3keys2e.dtx (C) Copyright 2009,2011-2017 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{l3keys2e}{Support package l3kernel too old}
@@ -34,8 +34,8 @@
}
\def\ExplFileName{l3keys2e}
\def\ExplFileDescription{LaTeX2e option processing using LaTeX3 keys}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
index 680d07699b0..c4db0d2403a 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
@@ -20,8 +20,8 @@
%%
%% File: xfrac.dtx Copyright (C) 2004, 2008-2010 Morten Hoegholm
%% (C) 2011,2012,2014-2017 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{xfrac}{Support package l3kernel too old}
@@ -36,8 +36,8 @@
\RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
\def\ExplFileName{xfrac}
\def\ExplFileDescription{L3 Experimental split-level fractions}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\keys_define:nn { xfrac }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index edf66edb76a..8ac9148a45c 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -23,8 +23,8 @@
%% (C) Copyright 2004-2008 Frank Mittelbach,
%% The LaTeX3 Project
%% (C) Copyright 2009-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{xparse}{Support package l3kernel too old}
@@ -38,8 +38,8 @@
}
\def\ExplFileName{xparse}
\def\ExplFileDescription{L3 Experimental document command parser}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\tl_const:Nx \c__xparse_no_value_tl
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index 0301373e064..c26b9507975 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -23,8 +23,8 @@
%% (C) Copyright 2004-2010 Frank Mittelbach,
%% The LaTeX3 Project
%% (C) Copyright 2011-2016 The LaTeX3 Project
-\RequirePackage{expl3}[2017/01/28]
-\@ifpackagelater{expl3}{2017/01/28}
+\RequirePackage{expl3}[2017/02/07]
+\@ifpackagelater{expl3}{2017/02/07}
{}
{%
\PackageError{xtemplate}{Support package l3kernel too old}
@@ -38,8 +38,8 @@
}
\def\ExplFileName{xtemplate}
\def\ExplFileDescription{L3 Experimental prototype document functions}
-\def\ExplFileDate{2017/01/28}
-\def\ExplFileVersion{6834}
+\def\ExplFileDate{2017/02/07}
+\def\ExplFileVersion{6846}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ }