summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
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/texmf-dist/source/latex
parentc975ac33f4ddaf23604aec21ee67fcc4fbc820aa (diff)
l3 (7feb17)
git-svn-id: svn://tug.org/texlive/trunk@43162 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-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
20 files changed, 197 insertions, 256 deletions
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}