summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-29 20:47:01 +0000
committerKarl Berry <karl@freefriends.org>2015-07-29 20:47:01 +0000
commitdb0facd61cf60ed3452c300b54f11c0524a50a53 (patch)
tree74963ac7b29b8e5c006ddeee61b1fe8b5c28a068
parentc65840a39db649af13ec3ceefaa2481d37d1e086 (diff)
l3 (29jul15)
git-svn-id: svn://tug.org/texlive/trunk@37997 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdfbin377638 -> 377597 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdfbin320542 -> 320506 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdfbin457665 -> 457619 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdfbin449540 -> 449540 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.pdfbin417171 -> 417127 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin380153 -> 380153 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdfbin353293 -> 353293 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdfbin385580 -> 385531 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin397005 -> 397005 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin398769 -> 398741 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin291807 -> 291807 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin584862 -> 585235 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1499965 -> 1507433 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin268234 -> 268234 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin273240 -> 273240 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin220220 -> 220220 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin4792699 -> 4806028 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdfbin334012 -> 333996 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdfbin479127 -> 479127 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdfbin461986 -> 461943 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdfbin424667 -> 424639 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx6
-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/l3str-expl.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.dtx68
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx17
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx43
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx53
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx98
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode-data.dtx62
-rw-r--r--Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty6
-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/l3str.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.sty35
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex70
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def23
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty6
53 files changed, 398 insertions, 207 deletions
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
index 0b82bfbc168..7c8abb3b204 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
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 15dedc48e2c..bc42a2d0f14 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 1a30352807b..3f291501b17 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 a17e78fe5a9..28314030944 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-expl.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.pdf
index 4163f945ad7..b689b401c5e 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.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 8f57b39de42..f16f0652eee 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 ec8b43c351d..6221f5710c1 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 91209034077..7e83e0ea164 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 b23a969d707..95b9747ae6a 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 3cfaa704d82..63dd0aefbb7 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 7622eb04692..eaa8f8bb421 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 b/Master/texmf-dist/doc/latex/l3kernel/README
index 7a42e1451a9..764e1edf16a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README
+++ b/Master/texmf-dist/doc/latex/l3kernel/README
@@ -73,6 +73,7 @@ the team members are
* Johannes Braams
* David Carlisle
* Robin Fairbairns
+ * Morten Høgholm
* Bruno Le Floch
* Thomas Lotze
* Frank Mittelbach
@@ -85,7 +86,6 @@ Former members of The LaTeX3 Project team were
* Michael Downes
* Denys Duchier
- * Morten Høgholm
* Alan Jeffrey
* Martin Schröder
@@ -97,4 +97,4 @@ should be used.
-----
Copyright (C) 1998-2012 The LaTeX3 Project
-All rights reserved \ No newline at end of file
+All rights reserved
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index a07494b5596..853d1726ccd 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 62902a2c74b..1a849a51390 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 19490908663..89d72980101 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/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index ee7e8f8fc61..df7ba029347 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 bb254d0b5a3..50e40e8402d 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 5d6e4f50ca4..2e993e3ffb1 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/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
index 5573c6334c2..2078093ab6e 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 263df86ed87..4327233bb7e 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 3a70a7fb3c5..96f77afc83e 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 9da359d03e2..e89f239b38d 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.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
index 87c63f0f95f..6d0cae589b0 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
@@ -37,8 +37,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3sort}{Support package l3kernel too old}
@@ -50,7 +50,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3sort.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3sort.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental sorting functions}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
index 8ccddada68e..d48b641bb3b 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
@@ -36,8 +36,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3flag}{Support package l3kernel too old}
@@ -49,7 +49,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3flag.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3flag.dtx 5700 2015-07-28 19:26:39Z 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 5ba6268acbe..10bb159803f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
@@ -36,8 +36,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3regex}{Support package l3kernel too old}
@@ -49,7 +49,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3regex.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3regex.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental regular expressions}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-expl.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-expl.dtx
index f6e5f958c6f..58e6b1b7706 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-expl.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-expl.dtx
@@ -36,8 +36,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3str}{Support package l3kernel too old}
@@ -49,7 +49,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3str-expl.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3str-expl.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental strings}
\def\ExplFileName{l3str}
%</driver|package>
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 7f98dd7eec4..0ef1f967d53 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
@@ -36,8 +36,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3tl-build}{Support package l3kernel too old}
@@ -49,7 +49,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3tl-build.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3tl-build.dtx 5700 2015-07-28 19:26:39Z 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 16b7694578c..90441e87e97 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -38,8 +38,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3galley}{Support package l3kernel too old}
@@ -51,7 +51,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3galley.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3galley.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental galley code}
%</driver|package>
%<*driver>
@@ -1472,26 +1472,37 @@
% \end{verbatim}
% and so anything applied here must be done globally.
%
-% \begin{macro}[int]{\@@_start_paragraph_std:}
+% \begin{macro}[int]{\@@_start_paragraph_common:N}
+% Share some code between all types of paragraph start.
% The routine at the start of a paragraph starts by removing any
% (empty) indent box from the vertical list. As there may be vertical
-% mode items still to insert, a \cs{tex_par:D} primitive is used to
+% mode items still to insert (|#1|), a \cs{tex_par:D} primitive is used to
% get back into vertical mode before they are tidied up. To get back
% again to horizontal mode, \cs{tex_noindent:D} can be used. To avoid
% an infinite loop, \cs{tex_everypar:D} is locally cleared before doing
-% that. Back in horizontal mode, the horizontal mode items can be
-% tidied up before sorting out any items which have been set on a
-% single-paragraph basis.
+% that.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_start_paragraph_std:
+\cs_new_protected:Npn \@@_start_paragraph_common:N #1
{
\group_begin:
\box_gset_to_last:N \g_@@_last_box
\tex_par:D
- \@@_insert_vertical_items:
+ #1
\tex_everypar:D { }
\tex_noindent:D
\group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\@@_start_paragraph_std:}
+% After dealign with the common items, the horizontal mode items can be
+% tidied up before sorting out any items which have been set on a
+% single-paragraph basis.
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_start_paragraph_std:
+ {
+ \@@_start_paragraph_common:N \@@_insert_vertical_items:
\@@_insert_horizontal_items:
\@@_restore_running_parameters:
}
@@ -1499,31 +1510,32 @@
% \end{macro}
%
% \begin{macro}[int]{\@@_start_paragraph_first:}
+% \begin{macro}[aux]{\@@_insert_vspace_first:}
% For the very first paragraph in a galley, the code needs to avoid
% adding any unnecessary vertical items at the top as it will interfere with
-% vertical positioning in \cs{tex_vtop:D}.
+% vertical positioning in \cs{tex_vtop:D}. That requirement also means we
+% must not add any vertical space as the start of the box unless there
+% is a user space to insert.
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_start_paragraph_first:
{
\bool_gset_false:N \g_@@_begin_level_bool
\mode_if_horizontal:TF
- {
- \group_begin:
- \box_gset_to_last:N \g_@@_last_box
- \tex_par:D
- \@@_insert_vspace:
- \tex_everypar:D { }
- \tex_noindent:D
- \group_end:
- }
- { \@@_insert_vspace: }
+ { \@@_start_paragraph_common:N \@@_insert_vspace_first: }
+ { \@@_insert_vspace_first: }
\@@_insert_horizontal_items:
\@@_restore_running_parameters:
}
+\cs_new_protected_nopar:Npn \@@_insert_vspace_first:
+ {
+ \tl_if_empty:NF \g_@@_interpar_vspace_user_tl
+ { \skip_vertical:n { \g_@@_interpar_vspace_user_tl } }
+ }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
-% \begin{macro}[int]{\@@_insert_vertical_items, \@@_insert_vspace:}
+% \begin{macro}[int]{\@@_insert_vertical_items}
% The aim here is to insert the vertical items such that they attach to
% the correct place. This function is used as part of the \cs{tex_everypar:D}
% mechanism, meaning that the immediately-preceding item on the vertical
@@ -1532,7 +1544,8 @@
% should stay glued on. After the whatsits, a penalty for
% breaking will be inserted. This will be the user penalty if supplied,
% or the running penalty unless the no-break flag is set. Finally,
-% the inter-paragraph space is applied.
+% the inter-paragraph space is applied: only one space is ever added
+% there.
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_insert_vertical_items:
{
@@ -1550,15 +1563,6 @@
\tl_gclear:N \g_@@_interpar_penalty_user_tl
}
\bool_gset_false:N \g_galley_no_break_next_bool
- \@@_insert_vspace:
- }
-% \end{macrocode}
-% Inserting vertical space is set up as a separate function as it comes
-% up in a few places. The idea here is that any user-set space will
-% override the design value, and only one space is ever inserted.
-% \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_insert_vspace:
- {
\tl_if_empty:NTF \g_@@_interpar_vspace_user_tl
{ \skip_vertical:N \l_galley_interpar_vspace_skip }
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 096973bc23c..dc7a203660f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -36,8 +36,8 @@
%<*driver|generic|package>
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 programming layer}
-\def\ExplFileDate{2015/07/15}
-\def\ExplFileVersion{5666}
+\def\ExplFileDate{2015/07/28}
+\def\ExplFileVersion{5700}
%</driver|generic|package>
%<*driver>
\documentclass[full]{l3doc}
@@ -987,6 +987,7 @@
% \item Johannes Braams
% \item David Carlisle
% \item Robin Fairbairns
+% \item Morten H{\o}gholm
% \item Bruno Le Floch
% \item Thomas Lotze
% \item Frank Mittelbach
@@ -999,7 +1000,6 @@
% \begin{itemize}
% \item Michael Downes
% \item Denys Duchier
-% \item Morten H{\o}gholm
% \item Alan Jeffrey
% \item Martin Schr{\"o}der
% \end{itemize}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index abc040a20d0..7f24c5b9e74 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -38,7 +38,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3candidates.dtx 5613 2015-05-21 11:59:04Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 5677 2015-07-22 14:47:23Z joseph $
{L3 Experimental additions to l3kernel}
%</driver|package>
%<*driver>
@@ -967,6 +967,9 @@
% The case pairs I/i-dotless and I-dot/i are activated for these
% languages. The combining dot mark is removed when lower
% casing I-dot and introduced when upper casing i-dotless.
+% \item German (\texttt{de-alt}).
+% An alternative mapping for German in which the lower case
+% \emph{Eszett} maps to a \emph{gro\ss{}es Eszett}.
% \item Lithuanian (\texttt{lt}).
% The lower case letters i and j should retain a dot above when the
% accents grave, acute or tilde are present. This is implemented for
@@ -3822,6 +3825,18 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\__tl_change_case_upper_de-alt:Nnw}
+% A simple alternative version for German.
+% \begin{macrocode}
+\cs_new:cpn { @@_change_case_upper_de-alt:Nnw } #1#2
+ {
+ \int_compare:nNnTF { `#1 } = { 223 }
+ { \__tl_change_case_output:Vwn \c__unicode_upper_Eszett_tl }
+ {#2}
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[aux, EXP]{\@@_mixed_case:nn}
% \begin{macro}[aux, EXP]{\@@_mixed_case_aux:nn}
% \begin{macro}[aux, EXP]{\@@_mixed_case_loop:wn}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index b057b04dc80..0b6a3b58842 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -37,7 +37,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3file.dtx 5627 2015-06-07 09:26:26Z bruno $
+\GetIdInfo$Id: l3file.dtx 5688 2015-07-27 16:57:49Z bruno $
{L3 File and I/O operations}
%</driver|package>
%<*driver>
@@ -593,7 +593,8 @@
% \begin{variable}{\g_file_current_name_tl}
% The name of the current file should be available at all times.
% For the format the file name needs to be picked up at the start of the
-% file. In package mode the current file name is collected from \LaTeXe{}.
+% file. In \LaTeXe{} package mode the current file name is collected from
+% \tn{@currname}.
% \begin{macrocode}
\tl_new:N \g_file_current_name_tl
%<*initex>
@@ -604,7 +605,8 @@
}
%</initex>
%<*package>
-\tl_gset_eq:NN \g_file_current_name_tl \@currname
+\cs_if_exist:NT \@currname
+ { \tl_gset_eq:NN \g_file_current_name_tl \@currname }
%</package>
% \end{macrocode}
% \end{variable}
@@ -1044,6 +1046,22 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}[int]{\@@_new:N}
+% In package mode, streams are reserved using \tn{newread} before they
+% can be managed by \pkg{ior}. To prevent \pkg{ior} from being
+% affected by redefinitions of \tn{newread} (such as done by the
+% third-party package \pkg{morewrites}), this macro is saved here
+% under a private name. The complicated code ensures that
+% \cs{@@_new:N} is not \tn{outer} despite plain \TeX{}'s \tn{newread}
+% being \tn{outer}.
+% \begin{macrocode}
+%<*package>
+\exp_args:NNNo \exp_args:NNo \cs_new_protected_nopar:Npn \@@_new:N
+ { \cs:w newread \cs_end: }
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[int]{\@@_open:Nn, \@@_open:No}
% \begin{macro}[aux]{\@@_open_stream:Nn}
% The stream allocation itself uses the fact that there is a list of all of
@@ -1051,8 +1069,8 @@
% the top of the list. In package mode, life gets more complex as it's
% important to keep things in sync. That is done using a two-part approach:
% any streams that have already been taken up by \pkg{ior} but are now free
-% are tracked, so we first try those. If that fails, ask \LaTeXe{} for a new
-% stream and use that number (after a bit of conversion).
+% are tracked, so we first try those. If that fails, ask plain \TeX{} or \LaTeXe{}
+% for a new stream and use that number (after a bit of conversion).
% \begin{macrocode}
\cs_new_protected:Npn \@@_open:Nn #1#2
{
@@ -1064,7 +1082,7 @@
%</initex>
%<*package>
{
- \cs:w newread \cs_end: #1
+ \@@_new:N #1
\tl_set:Nx \l_@@_stream_tl { \int_eval:n {#1} }
\@@_open_stream:Nn #1 {#2}
}
@@ -1265,6 +1283,17 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[int]{\@@_new:N}
+% As for read streams, copy \tn{newwrite} in package mode, making sure
+% that it is not \tn{outer}.
+% \begin{macrocode}
+%<*package>
+\exp_args:NNNo \exp_args:NNo \cs_new_protected_nopar:Npn \@@_new:N
+ { \cs:w newwrite \cs_end: }
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\iow_open:Nn, \iow_open:cn}
% \begin{macro}[int]{\@@_open:Nn}
% \begin{macro}[aux]{\@@_open_stream:Nn}
@@ -1284,7 +1313,7 @@
%</initex>
%<*package>
{
- \cs:w newwrite \cs_end: #1
+ \@@_new:N #1
\tl_set:Nx \l_@@_stream_tl { \int_eval:n {#1} }
\@@_open_stream:Nn #1 {#2}
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index d870cb6e4e1..53986abf2c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -36,7 +36,7 @@
%
%<*driver>
\documentclass[full]{l3doc}
-\GetIdInfo$Id: l3fp-logic.dtx 5354 2014-08-23 01:35:39Z bruno $
+\GetIdInfo$Id: l3fp-logic.dtx 5680 2015-07-24 02:54:00Z bruno $
{L3 Floating-point conditionals}
\begin{document}
\DocInput{\jobname.dtx}
@@ -83,8 +83,8 @@
% \Arg{expo_2} \meta{body_2} |;|
% \item \cs{@@_minmax_o:Nw} \meta{sign} \meta{floating point array}
% \item \cs{@@_not_o:w} |?| \meta{floating point array} (with one floating point number only)
-% \item \cs{@@_\string&_o:ww} \meta{floating point} \meta{floating point}
-% \item \cs{@@_\string|_o:ww} \meta{floating point} \meta{floating point}
+% \item \cs{@@_&_o:ww} \meta{floating point} \meta{floating point}
+% \item \cs{@@_|_o:ww} \meta{floating point} \meta{floating point}
% \item \cs{@@_ternary:NwwN}, \cs{@@_ternary_auxi:NwwN},
% \cs{@@_ternary_auxii:NwwN} have to be understood.
% \end{itemize}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index e5770e48c2b..d8745a856f5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -37,7 +37,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3keys.dtx 5665 2015-07-15 06:13:22Z joseph $
+\GetIdInfo$Id: l3keys.dtx 5684 2015-07-26 07:23:48Z joseph $
{L3 Key-value interfaces}
%</driver|package>
%<*driver>
@@ -158,7 +158,7 @@
% \keys_define:nn { mymodule }
% {
% keyname .code:n = Some~code~using~#1,
-% keyname .value_required:
+% keyname .value_required:n = true
% }
% \end{verbatim}
% where the properties of the key begin from the |.| after the key
@@ -1314,7 +1314,9 @@
% |\cs_set_protected:cpn| not |\cs_new_protected:cpn| here. For the
% same reason, to avoid issues if the key has been undefined in the
% current scope but exists at a higher level, we do not use \cs{prop_new:c}
-% but rather \cs{prop_set_eq:cN}.
+% but rather \cs{prop_set_eq:cN}. The use of \cs{__chk_if_free_cs:c}
+% ensures that when logging of all new functions is active, keys
+% still show up (as we are not using \cs{..._new}).
% \begin{macrocode}
\cs_new_protected:Npn \@@_ensure_exist:n #1
{
@@ -1324,6 +1326,7 @@
}
\cs_if_exist:cF { \c_@@_code_root_tl #1 }
{
+ \__chk_if_free_cs:c { \c_@@_code_root_tl #1 }
\cs_set_protected:cpn { \c_@@_code_root_tl #1 } ##1 { }
}
}
@@ -1485,7 +1488,7 @@
\cs_new_protected:Npn \@@_default_set:n #1
{
\@@_ensure_exist:V \l_keys_path_tl
- \tl_if_blank:nTF {#1}
+ \tl_if_empty:nTF {#1}
{
\prop_remove:cn { \c_@@_info_root_tl \l_keys_path_tl }
{ default }
@@ -1875,7 +1878,7 @@
% \end{macro}
%
% \begin{macro}{.undefine:}
-% TAnother simple wrapper.
+% Another simple wrapper.
% \begin{macrocode}
\cs_new_protected_nopar:cpn { \c_@@_props_root_tl .undefine: }
{ \@@_undefine: }
@@ -2010,8 +2013,8 @@
% \end{macro}
%
% \begin{macro}[int]{\@@_set_elt:n, \@@_set_elt:nn}
-% \begin{macro}[aux]{\@@_set_elt_aux:nn}
-% \begin{macro}[aux, EXP]{\@@_key_find:w}
+% \begin{macro}[aux]{\@@_set_elt_aux:nnn, \@@_set_elt_aux:onn}
+% \begin{macro}[aux]{\@@_find_key_module:w}
% \begin{macro}[aux]{\@@_set_elt_aux:, \@@_set_elt_selective:}
% A shared system once again. First, set the current path and add a
% default if needed. There are then checks to see if the a value is
@@ -2021,28 +2024,44 @@
\cs_new_protected:Npn \@@_set_elt:n #1
{
\bool_set_true:N \l_@@_no_value_bool
- \@@_set_elt_aux:nn {#1} { }
+ \@@_set_elt_aux:onn \l_@@_module_tl {#1} { }
}
\cs_new_protected:Npn \@@_set_elt:nn #1#2
{
\bool_set_false:N \l_@@_no_value_bool
- \@@_set_elt_aux:nn {#1} {#2}
+ \@@_set_elt_aux:onn \l_@@_module_tl {#1} {#2}
}
-\cs_new_protected:Npn \@@_set_elt_aux:nn #1#2
+% \end{macrocode}
+% The key path here can be fully defined, after which there is a search
+% for the key and module names: the user may have passed them with part
+% of what is actually the module (for our purposes) in the key name. As
+% that happens on a per-key basis, we use the stack approach to restore
+% the module name without a group.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_elt_aux:nnn #1#2#3
{
- \tl_set:Nx \l_keys_path_tl { \l_@@_module_tl / \tl_to_str:n {#1} }
- \tl_set:Nx \l_keys_key_tl
- { \exp_after:wN \@@_key_find:w \l_keys_path_tl / \q_stop }
- \@@_value_or_default:n {#2}
+ \tl_set:Nx \l_keys_path_tl { \l_@@_module_tl / \tl_to_str:n {#2} }
+ \tl_clear:N \l_@@_module_tl
+ \exp_after:wN \@@_find_key_module:w \l_keys_path_tl / \q_stop
+ \@@_value_or_default:n {#3}
\bool_if:NTF \l_@@_selective_bool
{ \@@_set_elt_selective: }
{ \@@_set_elt_aux: }
+ \tl_set:Nn \l_@@_module_tl {#1}
}
-\cs_new:Npn \@@_key_find:w #1 / #2 \q_stop
+\cs_generate_variant:Nn \@@_set_elt_aux:nnn { o }
+\cs_new_protected:Npn \@@_find_key_module:w #1 / #2 \q_stop
{
\tl_if_blank:nTF {#2}
- { #1 }
- { \@@_key_find:w #2 \q_stop }
+ { \tl_set:Nn \l_keys_key_tl {#1} }
+ {
+ \tl_put_right:Nx \l_@@_module_tl
+ {
+ \tl_if_empty:NF \l_@@_module_tl { / }
+ #1
+ }
+ \@@_find_key_module:w #2 \q_stop
+ }
}
\cs_new_protected_nopar:Npn \@@_set_elt_aux:
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index d7a3c19c3ae..f8ae4de880f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -37,7 +37,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3names.dtx 5644 2015-06-30 07:59:24Z joseph $
+\GetIdInfo$Id: l3names.dtx 5691 2015-07-27 19:53:13Z joseph $
{L3 Namespace for primitives}
%</driver|package>
%<*driver>
@@ -1062,7 +1062,13 @@
\tex_let:D \pdftex_primitive:D \primitive
\tex_let:D \pdftex_shellescape:D \shellescape
\tex_fi:D
-\etex_unless:D \pdftex_ifprimitive:D \pdftex_mapfile:D
+% \end{macrocode}
+% Only \pdfTeX{} and \LuaTeX{} define \tn{pdfmapfile} and \tn{pdfmapline}.
+% \begin{macrocode}
+\tex_ifnum:D 0
+ \etex_ifdefined:D \pdftex_pdftexversion:D 1 \tex_fi:D
+ \etex_ifdefined:D \luatex_luatexversion:D 1 \tex_fi:D
+ = 0 %
\tex_let:D \pdftex_mapfile:D \tex_undefined:D
\tex_let:D \pdftex_mapline:D \tex_undefined:D
\tex_fi:D
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 8fc257e4d54..7b81df583c8 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-2014 The LaTeX3 Project
+%% File: l3seq.dtx Copyright (C) 1990-2015 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
@@ -37,7 +37,7 @@
\documentclass[full]{l3doc}
%</driver>
%<*driver|package>
-\GetIdInfo$Id: l3seq.dtx 5354 2014-08-23 01:35:39Z bruno $
+\GetIdInfo$Id: l3seq.dtx 5681 2015-07-24 03:01:31Z bruno $
{L3 Sequences and stacks}
%</driver|package>
%<*driver>
@@ -737,6 +737,100 @@
% Adds the \Arg{item} to the top of the \meta{sequence}.
% \end{function}
%
+% \section{Sequences as sets}
+%
+% Sequences can also be used as sets, such that all of their items are
+% distinct. Usage of sequences as sets is not currently widespread,
+% hence no specific set function is provided. Instead, it is explained
+% here how common set operations can be performed by combining several
+% functions described in earlier sections. When using sequences to
+% implement sets, one should be careful not to rely on the order of
+% items in the sequence representing the set.
+%
+% Sets should not contain several occurences of a given item. To make
+% sure that a \meta{sequence variable} only has distinct items, use
+% \cs{seq_remove_duplicates:N} \meta{sequence variable}. This function
+% is relatively slow, and to avoid performance issues one should only
+% use it when necessary.
+%
+% Some operations on a set \meta{seq~var} are straightforward. For
+% instance, \cs{seq_count:N} \meta{seq~var} expands to the number of
+% items, while \cs{seq_if_in:Nn(TF)} \meta{seq~var} \Arg{item} tests if
+% the \meta{item} is in the set.
+%
+% Adding an \meta{item} to a set \meta{seq~var} can be done by appending
+% it to the \meta{seq~var} if it is not already in the \meta{seq~var}:
+% \begin{quote}\ttfamily
+% \cs{seq_if_in:NnF} \meta{seq~var} \Arg{item} \\
+% \ \ \{ \cs{seq_put_right:Nn} \meta{seq~var} \Arg{item} \}
+% \end{quote}
+% Removing an \meta{item} from a set \meta{seq~var} can be done using
+% \cs{seq_remove_all:Nn},
+% \begin{quote}\ttfamily
+% \cs{seq_remove_all:Nn} \meta{seq~var} \Arg{item}
+% \end{quote}
+%
+% The intersection of two sets \meta{seq~var_1} and \meta{seq~var_2} can
+% be stored into \meta{seq~var_3} by collecting items of
+% \meta{seq~var_1} which are in \meta{seq~var_2}.
+% \begin{quote}\ttfamily
+% \cs{seq_clear:N} \meta{seq~var_3} \\
+% \cs{seq_map_inline:Nn} \meta{seq~var_1} \\
+% \ \ \{ \\
+% \ \ \ \ \cs{seq_if_in:NnT} \meta{seq~var_2} \{\#1\} \\
+% \ \ \ \ \ \ \{ \cs{seq_put_right:Nn} \meta{seq~var_3} \{\#1\} \} \\
+% \ \ \}
+% \end{quote}
+% The code as written here only works if \meta{seq~var_3} is different
+% from the other two sequence variables. To cover all cases, items
+% should first be collected in a sequence
+% |\l__|\meta{pkg}|_internal_seq|, then \meta{seq~var_3} should be set
+% equal to this internal sequence. The same remark applies to other set
+% functions.
+%
+% The union of two sets \meta{seq~var_1} and \meta{seq~var_2} can be
+% stored into \meta{seq~var_3} through
+% \begin{quote}\ttfamily
+% \cs{seq_concat:NNN} \meta{seq~var_3} \meta{seq~var_1} \meta{seq~var_2} \\
+% \cs{seq_remove_duplicates:N} \meta{seq~var_3}
+% \end{quote}
+% or by adding items to (a copy of) \meta{seq~var_1} one by one
+% \begin{quote}\ttfamily
+% \cs{seq_set_eq:NN} \meta{seq~var_3} \meta{seq~var_1} \\
+% \cs{seq_map_inline:Nn} \meta{seq~var_2} \\
+% \ \ \{ \\
+% \ \ \ \ \cs{seq_if_in:NnF} \meta{seq~var_3} \{\#1\} \\
+% \ \ \ \ \ \ \{ \cs{seq_put_right:Nn} \meta{seq~var_3} \{\#1\} \} \\
+% \ \ \}
+% \end{quote}
+% The second approach is faster than the first when the \meta{seq~var_2}
+% is short compared to \meta{seq~var_1}.
+%
+% The difference of two sets \meta{seq~var_1} and \meta{seq~var_2} can
+% be stored into \meta{seq~var_3} by removing items of the
+% \meta{seq~var_2} from (a copy of) the \meta{seq~var_1} one by one.
+% \begin{quote}\ttfamily
+% \cs{seq_set_eq:NN} \meta{seq~var_3} \meta{seq~var_1} \\
+% \cs{seq_map_inline:Nn} \meta{seq~var_2} \\
+% \ \ \{ \cs{seq_remove_all:Nn} \meta{seq~var_3} \{\#1\} \}
+% \end{quote}
+%
+% The symmetric difference of two sets \meta{seq~var_1} and
+% \meta{seq~var_2} can be stored into \meta{seq~var_3} by computing the
+% difference between \meta{seq~var_1} and \meta{seq~var_2} and storing
+% the result as |\l__|\meta{pkg}|_internal_seq|, then the difference
+% between \meta{seq~var_2} and \meta{seq~var_1}, and finally
+% concatenating the two differences to get the symmetric differences.
+% \begin{quote}\ttfamily
+% \cs{seq_set_eq:NN} |\l__|\meta{pkg}|_internal_seq| \meta{seq~var_1} \\
+% \cs{seq_map_inline:Nn} \meta{seq~var_2} \\
+% \ \ \{ \cs{seq_remove_all:Nn} |\l__|\meta{pkg}|_internal_seq| \{\#1\} \} \\
+% \cs{seq_set_eq:NN} \meta{seq~var_3} \meta{seq~var_2} \\
+% \cs{seq_map_inline:Nn} \meta{seq~var_1} \\
+% \ \ \{ \cs{seq_remove_all:Nn} \meta{seq~var_3} \{\#1\} \} \\
+% \cs{seq_concat:NNN} \meta{seq~var_3} \meta{seq~var_3} |\l__|\meta{pkg}|_internal_seq|
+% \end{quote}
+%
% \section{Constant and scratch sequences}
%
% \begin{variable}[added = 2012-07-02]{\c_empty_seq}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode-data.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode-data.dtx
index 9f3e03cf38f..66c786a88e6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode-data.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode-data.dtx
@@ -38,7 +38,7 @@
% plain \TeX{}, set up in generic mode.
%<*driver|script>
\input expl3-generic\relax
-\GetIdInfo$Id: l3unicode-data.dtx 5647 2015-07-01 12:44:26Z joseph $
+\GetIdInfo$Id: l3unicode-data.dtx 5676 2015-07-20 06:48:31Z joseph $
{L3 Case data script}
%</driver|script>
%
@@ -446,14 +446,15 @@
\tl_const:Nn \c__unicode_lower_exceptions_tl { }
\tl_const:Nn \c__unicode_mixed_exceptions_tl { }
\tl_const:Nn \c__unicode_upper_exceptions_tl { }
- \tl_const:Nn \c__unicode_std_sigma_tl { }
- \tl_const:Nn \c__unicode_final_sigma_tl { }
- \tl_const:Nn \c__unicode_accents_lt_tl { }
- \tl_const:Nn \c__unicode_dot_above_tl { }
- \tl_const:Nn \c__unicode_dotless_i_tl { I }
- \tl_const:Nn \c__unicode_dotted_I_tl { i }
- \tl_const:Nn \c__unicode_i_ogonek_tl { }
- \tl_const:Nn \c__unicode_I_ogonek_tl { }
+ \tl_const:Nn \c__unicode_std_sigma_tl { }
+ \tl_const:Nn \c__unicode_final_sigma_tl { }
+ \tl_const:Nn \c__unicode_accents_lt_tl { }
+ \tl_const:Nn \c__unicode_dot_above_tl { }
+ \tl_const:Nn \c__unicode_dotless_i_tl { I }
+ \tl_const:Nn \c__unicode_dotted_I_tl { i }
+ \tl_const:Nn \c__unicode_i_ogonek_tl { }
+ \tl_const:Nn \c__unicode_I_ogonek_tl { }
+ \tl_const:Nn \c__unicode_upper_Eszett_tl { }
\tex_endinput:D
}
\__unicode_verb_end:
@@ -521,8 +522,8 @@
{ \cs_set_eq:NN \__unicode_brace:n \use:n }
\tl_put_right:Nx \l__unicode_title_exceptions_tl
{
- \__unicode_brace:n { \luatex_Uchar:D "#1 \c_space_tl }
- \__unicode_brace:n { \luatex_Uchar:D "#8 \c_space_tl }
+ \__unicode_brace:n { \utex_char:D "#1 \c_space_tl }
+ \__unicode_brace:n { \utex_char:D "#8 \c_space_tl }
}
}
}
@@ -579,9 +580,9 @@
\tl_put_right:cx { l__unicode_ #5 _ #3 _X_ #4 _tl }
{
\__unicode_brace:n
- { \luatex_Uchar:D "#1 \c_space_tl }
+ { \utex_char:D "#1 \c_space_tl }
\__unicode_brace:n
- { \luatex_Uchar:D "#2 \c_space_tl }
+ { \utex_char:D "#2 \c_space_tl }
}
}
}
@@ -657,12 +658,12 @@
{
\tl_put_right:cx { l__unicode_ #5 _exceptions_tl }
{
- \__unicode_brace:n { \luatex_Uchar:D "#1 \c_space_tl }
+ \__unicode_brace:n { \utex_char:D "#1 \c_space_tl }
{
- \luatex_Uchar:D "#2 \c_space_tl
- \luatex_Uchar:D "#3 \c_space_tl
+ \utex_char:D "#2 \c_space_tl
+ \utex_char:D "#3 \c_space_tl
\tl_if_empty:nF {#4}
- { \luatex_Uchar:D "#4 \c_space_tl }
+ { \utex_char:D "#4 \c_space_tl }
}
}
}
@@ -743,7 +744,7 @@
\iow_now:Nx \g__unicode_result_iow
{
\tl_const:Nn \exp_not:c { c__unicode_ #1 _tl }
- { ~ \luatex_Uchar:D "#2 \c_space_tl \c_space_tl }
+ { ~ \utex_char:D "#2 \c_space_tl \c_space_tl }
}
\__unicode_special_case:nn
}
@@ -755,18 +756,19 @@
{ dotted_I } { 0130 }
{ i_ogonek } { 012F }
{ I_ogonek } { 012E }
+ { upper_Eszett } { 1E9E }
\q_recursion_tail { }
\q_recursion_stop
\iow_now:Nx \g__unicode_result_iow
{
\tl_const:Nn \exp_not:N \c__unicode_accents_lt_tl
{
- \luatex_Uchar:D "00CC
- { \luatex_Uchar:D "0069 \luatex_Uchar:D "0307 \luatex_Uchar:D "0300 }
- \luatex_Uchar:D "00CD
- { \luatex_Uchar:D "0069 \luatex_Uchar:D "0307 \luatex_Uchar:D "0301 }
- \luatex_Uchar:D "0128
- { \luatex_Uchar:D "0069 \luatex_Uchar:D "0307 \luatex_Uchar:D "0303 }
+ \utex_char:D "00CC
+ { \utex_char:D "0069 \utex_char:D "0307 \utex_char:D "0300 }
+ \utex_char:D "00CD
+ { \utex_char:D "0069 \utex_char:D "0307 \utex_char:D "0301 }
+ \utex_char:D "0128
+ { \utex_char:D "0069 \utex_char:D "0307 \utex_char:D "0303 }
}
}
% \end{macrocode}
@@ -807,7 +809,7 @@
\str_if_eq:nnTF {#2} { C }
{
\__unicode_parse_line_auxiv:nn
- {#1} { \luatex_Uchar:D "#3 \c_space_tl }
+ {#1} { \utex_char:D "#3 \c_space_tl }
}
{
\str_if_eq:nnT {#2} { F }
@@ -832,10 +834,10 @@
{
\__unicode_brace:n
{
- \luatex_Uchar:D "#2 \c_space_tl
- \luatex_Uchar:D "#3 \c_space_tl
+ \utex_char:D "#2 \c_space_tl
+ \utex_char:D "#3 \c_space_tl
\tl_if_empty:nF {#4}
- { \luatex_Uchar:D "#4 \c_space_tl }
+ { \utex_char:D "#4 \c_space_tl }
}
}
}
@@ -854,7 +856,7 @@
}
% \end{macrocode}
% As the input is read in string mode, there is a need for a rescan
-% here since \tn{Uchar} requires letters for hexadecimal digits
+% here since \tn{char} requires letters for hexadecimal digits
% beyond~$9$.
% \begin{macrocode}
\cs_new_protected:Npn \__unicode_parse_line_auxv:wnn
@@ -868,7 +870,7 @@
{
\tl_put_right:cx { l__unicode_lower_ #6 _X_ #7 _tl }
{
- \__unicode_brace:n { \luatex_Uchar:D "#8 \c_space_tl }
+ \__unicode_brace:n { \utex_char:D "#8 \c_space_tl }
\__unicode_brace:n { #9 }
}
}
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
index 1de701ee0ee..2924b08d1ba 100644
--- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
@@ -37,8 +37,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{l3keys2e}{Support package l3kernel too old}
@@ -50,7 +50,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: l3keys2e.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3keys2e.dtx 5700 2015-07-28 19:26:39Z joseph $
{LaTeX2e option processing using LaTeX3 keys}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index f18e25b54ab..45d8088dbb7 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -41,8 +41,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{xparse}{Support package l3kernel too old}
@@ -54,7 +54,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: xparse.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: xparse.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental document command parser}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index 20c56b00706..09c46d3be52 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -41,8 +41,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}[2015/07/14]
-%<package>\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+%<package>\@ifpackagelater{expl3}{2015/07/28}
%<package> {}
%<package> {%
%<package> \PackageError{xtemplate}{Support package l3kernel too old}
@@ -54,7 +54,7 @@
%<package> }%
%<package> \endinput
%<package> }
-\GetIdInfo$Id: xtemplate.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: xtemplate.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental prototype document functions}
%</driver|package>
%<*driver>
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
index dc1efc1f218..5fd4ada3ef3 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
@@ -46,8 +46,8 @@
%%
%% -----------------------------------------------------------------------
%%
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3sort}{Support package l3kernel too old}
@@ -59,7 +59,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3sort.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3sort.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental sorting functions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
index bbcdb5f332b..a07319fa527 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
@@ -45,8 +45,8 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3flag}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3flag.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3flag.dtx 5700 2015-07-28 19:26:39Z 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 168fb0f2390..ccc1b802342 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
@@ -45,8 +45,8 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3regex.dtx 5700 2015-07-28 19:26:39Z 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 cfa65116eba..64b70dc3449 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
@@ -45,8 +45,8 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3regex.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental regular expressions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty
index 399f4f381e0..f916146b61e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty
@@ -45,8 +45,8 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3str}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3str-expl.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3str-expl.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental strings}
\def\ExplFileName{l3str}
\ProvidesExplPackage
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 5952ddd387e..e138c303f62 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
@@ -45,8 +45,8 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3tl-build}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3tl-build.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3tl-build.dtx 5700 2015-07-28 19:26:39Z 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 afb35d711b3..6ce235f7c03 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -47,8 +47,8 @@
%%
%% -----------------------------------------------------------------------
%%
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3galley}{Support package l3kernel too old}
@@ -60,7 +60,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3galley.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3galley.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental galley code}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -390,15 +390,19 @@
}
}
\box_new:N \g__galley_last_box
-\cs_new_protected_nopar:Npn \__galley_start_paragraph_std:
+\cs_new_protected:Npn \__galley_start_paragraph_common:N #1
{
\group_begin:
\box_gset_to_last:N \g__galley_last_box
\tex_par:D
- \__galley_insert_vertical_items:
+ #1
\tex_everypar:D { }
\tex_noindent:D
\group_end:
+ }
+\cs_new_protected_nopar:Npn \__galley_start_paragraph_std:
+ {
+ \__galley_start_paragraph_common:N \__galley_insert_vertical_items:
\__galley_insert_horizontal_items:
\__galley_restore_running_parameters:
}
@@ -406,19 +410,16 @@
{
\bool_gset_false:N \g__galley_begin_level_bool
\mode_if_horizontal:TF
- {
- \group_begin:
- \box_gset_to_last:N \g__galley_last_box
- \tex_par:D
- \__galley_insert_vspace:
- \tex_everypar:D { }
- \tex_noindent:D
- \group_end:
- }
- { \__galley_insert_vspace: }
+ { \__galley_start_paragraph_common:N \__galley_insert_vspace_first: }
+ { \__galley_insert_vspace_first: }
\__galley_insert_horizontal_items:
\__galley_restore_running_parameters:
}
+\cs_new_protected_nopar:Npn \__galley_insert_vspace_first:
+ {
+ \tl_if_empty:NF \g__galley_interpar_vspace_user_tl
+ { \skip_vertical:n { \g__galley_interpar_vspace_user_tl } }
+ }
\cs_new_protected_nopar:Npn \__galley_insert_vertical_items:
{
\g_galley_whatsit_previous_tl
@@ -435,10 +436,6 @@
\tl_gclear:N \g__galley_interpar_penalty_user_tl
}
\bool_gset_false:N \g_galley_no_break_next_bool
- \__galley_insert_vspace:
- }
-\cs_new_protected_nopar:Npn \__galley_insert_vspace:
- {
\tl_if_empty:NTF \g__galley_interpar_vspace_user_tl
{ \skip_vertical:N \l_galley_interpar_vspace_skip }
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index a15d2022461..1b601e21869 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -81,8 +81,8 @@
%% -----------------------------------------------------------------------
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 programming layer}
-\def\ExplFileDate{2015/07/15}
-\def\ExplFileVersion{5666}
+\def\ExplFileDate{2015/07/28}
+\def\ExplFileVersion{5700}
\begingroup
\def\next{\endgroup}
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -446,7 +446,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3names.dtx 5644 2015-06-30 07:59:24Z joseph $
+\GetIdInfo$Id: l3names.dtx 5691 2015-07-27 19:53:13Z joseph $
{L3 Namespace for primitives}
\let \tex_global:D \global
\let \tex_let:D \let
@@ -1269,7 +1269,10 @@
\tex_let:D \pdftex_primitive:D \primitive
\tex_let:D \pdftex_shellescape:D \shellescape
\tex_fi:D
-\etex_unless:D \pdftex_ifprimitive:D \pdftex_mapfile:D
+\tex_ifnum:D 0
+ \etex_ifdefined:D \pdftex_pdftexversion:D 1 \tex_fi:D
+ \etex_ifdefined:D \luatex_luatexversion:D 1 \tex_fi:D
+ = 0 %
\tex_let:D \pdftex_mapfile:D \tex_undefined:D
\tex_let:D \pdftex_mapline:D \tex_undefined:D
\tex_fi:D
@@ -3640,7 +3643,7 @@
{ c__unicode_ #9 _ #6 _X_ #7 _tl }
{ #8 }
}
-%% File: l3seq.dtx Copyright (C) 1990-2014 The LaTeX3 Project
+%% File: l3seq.dtx Copyright (C) 1990-2015 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
@@ -3672,7 +3675,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3seq.dtx 5354 2014-08-23 01:35:39Z bruno $
+\GetIdInfo$Id: l3seq.dtx 5681 2015-07-24 03:01:31Z bruno $
{L3 Sequences and stacks}
\cs_new:Npn \__seq_item:n
{
@@ -7926,10 +7929,11 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3file.dtx 5627 2015-06-07 09:26:26Z bruno $
+\GetIdInfo$Id: l3file.dtx 5688 2015-07-27 16:57:49Z bruno $
{L3 File and I/O operations}
\tl_new:N \g_file_current_name_tl
-\tl_gset_eq:NN \g_file_current_name_tl \@currname
+\cs_if_exist:NT \@currname
+ { \tl_gset_eq:NN \g_file_current_name_tl \@currname }
\seq_new:N \g__file_stack_seq
\seq_new:N \g__file_record_seq
\tl_new:N \l__file_internal_tl
@@ -8133,13 +8137,15 @@
\prg_return_true:
}
}
+\exp_args:NNNo \exp_args:NNo \cs_new_protected_nopar:Npn \__ior_new:N
+ { \cs:w newread \cs_end: }
\cs_new_protected:Npn \__ior_open:Nn #1#2
{
\ior_close:N #1
\seq_gpop:NNTF \g__ior_streams_seq \l__ior_stream_tl
{ \__ior_open_stream:Nn #1 {#2} }
{
- \cs:w newread \cs_end: #1
+ \__ior_new:N #1
\tl_set:Nx \l__ior_stream_tl { \int_eval:n {#1} }
\__ior_open_stream:Nn #1 {#2}
}
@@ -8223,6 +8229,8 @@
}
\cs_new_protected:Npn \iow_new:N #1 { \cs_new_eq:NN #1 \c_term_iow }
\cs_generate_variant:Nn \iow_new:N { c }
+\exp_args:NNNo \exp_args:NNo \cs_new_protected_nopar:Npn \__iow_new:N
+ { \cs:w newwrite \cs_end: }
\cs_new_protected:Npn \iow_open:Nn #1#2
{ \__file_name_sanitize:nn {#2} { \__iow_open:Nn #1 } }
\cs_generate_variant:Nn \iow_open:Nn { c }
@@ -8232,7 +8240,7 @@
\seq_gpop:NNTF \g__iow_streams_seq \l__iow_stream_tl
{ \__iow_open_stream:Nn #1 {#2} }
{
- \cs:w newwrite \cs_end: #1
+ \__iow_new:N #1
\tl_set:Nx \l__iow_stream_tl { \int_eval:n {#1} }
\__iow_open_stream:Nn #1 {#2}
}
@@ -8972,7 +8980,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3keys.dtx 5665 2015-07-15 06:13:22Z joseph $
+\GetIdInfo$Id: l3keys.dtx 5684 2015-07-26 07:23:48Z joseph $
{L3 Key-value interfaces}
\int_new:N \g__keyval_level_int
\tl_new:N \l__keyval_key_tl
@@ -9164,6 +9172,7 @@
}
\cs_if_exist:cF { \c__keys_code_root_tl #1 }
{
+ \__chk_if_free_cs:c { \c__keys_code_root_tl #1 }
\cs_set_protected:cpn { \c__keys_code_root_tl #1 } ##1 { }
}
}
@@ -9271,7 +9280,7 @@
\cs_new_protected:Npn \__keys_default_set:n #1
{
\__keys_ensure_exist:V \l_keys_path_tl
- \tl_if_blank:nTF {#1}
+ \tl_if_empty:nTF {#1}
{
\prop_remove:cn { \c__keys_info_root_tl \l_keys_path_tl }
{ default }
@@ -9530,28 +9539,37 @@
\cs_new_protected:Npn \__keys_set_elt:n #1
{
\bool_set_true:N \l__keys_no_value_bool
- \__keys_set_elt_aux:nn {#1} { }
+ \__keys_set_elt_aux:onn \l__keys_module_tl {#1} { }
}
\cs_new_protected:Npn \__keys_set_elt:nn #1#2
{
\bool_set_false:N \l__keys_no_value_bool
- \__keys_set_elt_aux:nn {#1} {#2}
+ \__keys_set_elt_aux:onn \l__keys_module_tl {#1} {#2}
}
-\cs_new_protected:Npn \__keys_set_elt_aux:nn #1#2
+\cs_new_protected:Npn \__keys_set_elt_aux:nnn #1#2#3
{
- \tl_set:Nx \l_keys_path_tl { \l__keys_module_tl / \tl_to_str:n {#1} }
- \tl_set:Nx \l_keys_key_tl
- { \exp_after:wN \__keys_key_find:w \l_keys_path_tl / \q_stop }
- \__keys_value_or_default:n {#2}
+ \tl_set:Nx \l_keys_path_tl { \l__keys_module_tl / \tl_to_str:n {#2} }
+ \tl_clear:N \l__keys_module_tl
+ \exp_after:wN \__keys_find_key_module:w \l_keys_path_tl / \q_stop
+ \__keys_value_or_default:n {#3}
\bool_if:NTF \l__keys_selective_bool
{ \__keys_set_elt_selective: }
{ \__keys_set_elt_aux: }
+ \tl_set:Nn \l__keys_module_tl {#1}
}
-\cs_new:Npn \__keys_key_find:w #1 / #2 \q_stop
+\cs_generate_variant:Nn \__keys_set_elt_aux:nnn { o }
+\cs_new_protected:Npn \__keys_find_key_module:w #1 / #2 \q_stop
{
\tl_if_blank:nTF {#2}
- { #1 }
- { \__keys_key_find:w #2 \q_stop }
+ { \tl_set:Nn \l_keys_key_tl {#1} }
+ {
+ \tl_put_right:Nx \l__keys_module_tl
+ {
+ \tl_if_empty:NF \l__keys_module_tl { / }
+ #1
+ }
+ \__keys_find_key_module:w #2 \q_stop
+ }
}
\cs_new_protected_nopar:Npn \__keys_set_elt_aux:
{
@@ -16407,7 +16425,7 @@
%%
%% -----------------------------------------------------------------------
%%
-\GetIdInfo$Id: l3candidates.dtx 5613 2015-05-21 11:59:04Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 5677 2015-07-22 14:47:23Z joseph $
{L3 Experimental additions to l3kernel}
\group_begin:
\tex_lccode:D `? = `: \scan_stop:
@@ -17907,6 +17925,12 @@
#3 \q_recursion_stop
}
}
+\cs_new:cpn { __tl_change_case_upper_de-alt:Nnw } #1#2
+ {
+ \int_compare:nNnTF { `#1 } = { 223 }
+ { \__tl_change_case_output:Vwn \c__unicode_upper_Eszett_tl }
+ {#2}
+ }
\cs_new:Npn \__tl_mixed_case:nn #1#2
{
\etex_unexpanded:D \exp_after:wN
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 95d8485fd85..e9a3144afc8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -47,8 +47,8 @@
%% -----------------------------------------------------------------------
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 programming layer}
-\def\ExplFileDate{2015/07/15}
-\def\ExplFileVersion{5666}
+\def\ExplFileDate{2015/07/28}
+\def\ExplFileVersion{5700}
\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 4b34972bb49..5e8ed84d543 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -47,8 +47,8 @@
%% -----------------------------------------------------------------------
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 programming layer}
-\def\ExplFileDate{2015/07/15}
-\def\ExplFileVersion{5666}
+\def\ExplFileDate{2015/07/28}
+\def\ExplFileVersion{5700}
\let\ExplLoaderFileVersion\ExplFileVersion
\ProvidesPackage{\ExplFileName}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def b/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
index f0802edf6c2..1246af783e5 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
@@ -9,10 +9,9 @@
%% Version 8.0.0 dated 2015-01-13, 18:16:36
%% which are maintained by the Unicode Consortium.
%%
-%% Generated on 2015-07-01.
+%% Generated on 2015-07-20.
%%
-\ProvidesExplFile {l3unicode-data.def} {2015/07/01} {5647} {L3 Unicode
-data}
+\ProvidesExplFile {l3unicode-data.def} {2015/07/20} {-1} {L3 Unicode data}
\pdftex_if_engine:T
{
\group_begin:
@@ -49,14 +48,15 @@ data}
\tl_const:Nn \c__unicode_lower_exceptions_tl { }
\tl_const:Nn \c__unicode_mixed_exceptions_tl { }
\tl_const:Nn \c__unicode_upper_exceptions_tl { }
- \tl_const:Nn \c__unicode_std_sigma_tl { }
- \tl_const:Nn \c__unicode_final_sigma_tl { }
- \tl_const:Nn \c__unicode_accents_lt_tl { }
- \tl_const:Nn \c__unicode_dot_above_tl { }
- \tl_const:Nn \c__unicode_dotless_i_tl { I }
- \tl_const:Nn \c__unicode_dotted_I_tl { i }
- \tl_const:Nn \c__unicode_i_ogonek_tl { }
- \tl_const:Nn \c__unicode_I_ogonek_tl { }
+ \tl_const:Nn \c__unicode_std_sigma_tl { }
+ \tl_const:Nn \c__unicode_final_sigma_tl { }
+ \tl_const:Nn \c__unicode_accents_lt_tl { }
+ \tl_const:Nn \c__unicode_dot_above_tl { }
+ \tl_const:Nn \c__unicode_dotless_i_tl { I }
+ \tl_const:Nn \c__unicode_dotted_I_tl { i }
+ \tl_const:Nn \c__unicode_i_ogonek_tl { }
+ \tl_const:Nn \c__unicode_I_ogonek_tl { }
+ \tl_const:Nn \c__unicode_upper_Eszett_tl { }
\tex_endinput:D
}
\tl_const:cn { c__unicode_lower_0_X_0_tl } { ÈèĬĭƐɛǴǵϨϩҰұԔԕᏬꮼḔḕṸṹỜờⒸⓒⰤⱔⲈⲉꙨꙩ }
@@ -269,6 +269,7 @@ data}
\tl_const:Nn \c__unicode_dotted_I_tl { İ }
\tl_const:Nn \c__unicode_i_ogonek_tl { į }
\tl_const:Nn \c__unicode_I_ogonek_tl { Į }
+\tl_const:Nn \c__unicode_upper_Eszett_tl { ẞ }
\tl_const:Nn \c__unicode_accents_lt_tl {Ì{i̇̀}Í{i̇́}Ĩ{i̇̃}}
\tl_const:cn { c__unicode_fold_0_X_0_tl } { ÈèĬĭƐɛǴǵϨϩҰұԔԕḔḕṸṹỜờᾤ{ὤι}ⒸⓒⰤⱔⲈⲉꙨꙩꭼᎬ }
\tl_const:cn { c__unicode_fold_0_X_1_tl } { ÉéƑƒჍⴭᾥ{ὥι}ⒹⓓⰥⱕⳭⳮꭽᎭ }
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 7efae37b0e6..1e61a8c8a59 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -46,8 +46,8 @@
%%
%% -----------------------------------------------------------------------
%%
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{l3keys2e}{Support package l3kernel too old}
@@ -59,7 +59,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3keys2e.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: l3keys2e.dtx 5700 2015-07-28 19:26:39Z joseph $
{LaTeX2e option processing using LaTeX3 keys}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index befd3da667a..f46f3727e76 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -50,8 +50,8 @@
%%
%% -----------------------------------------------------------------------
%%
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{xparse}{Support package l3kernel too old}
@@ -63,7 +63,7 @@
}%
\endinput
}
-\GetIdInfo$Id: xparse.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: xparse.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental document command parser}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index 64fa70a81f5..e9555109b6d 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -50,8 +50,8 @@
%%
%% -----------------------------------------------------------------------
%%
-\RequirePackage{expl3}[2015/07/14]
-\@ifpackagelater{expl3}{2015/07/14}
+\RequirePackage{expl3}[2015/07/28]
+\@ifpackagelater{expl3}{2015/07/28}
{}
{%
\PackageError{xtemplate}{Support package l3kernel too old}
@@ -63,7 +63,7 @@
}%
\endinput
}
-\GetIdInfo$Id: xtemplate.dtx 5662 2015-07-14 21:32:38Z joseph $
+\GetIdInfo$Id: xtemplate.dtx 5700 2015-07-28 19:26:39Z joseph $
{L3 Experimental prototype document functions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}