diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-29 20:47:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-29 20:47:01 +0000 |
commit | db0facd61cf60ed3452c300b54f11c0524a50a53 (patch) | |
tree | 74963ac7b29b8e5c006ddeee61b1fe8b5c28a068 | |
parent | c65840a39db649af13ec3ceefaa2481d37d1e086 (diff) |
l3 (29jul15)
git-svn-id: svn://tug.org/texlive/trunk@37997 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differindex 0b82bfbc168..7c8abb3b204 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf Binary files differindex 15dedc48e2c..bc42a2d0f14 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf Binary files differindex 1a30352807b..3f291501b17 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-expl.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf Binary files differindex b23a969d707..95b9747ae6a 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf Binary files differindex 3cfaa704d82..63dd0aefbb7 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf Binary files differindex 7622eb04692..eaa8f8bb421 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf 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 Binary files differindex a07494b5596..853d1726ccd 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf Binary files differindex 62902a2c74b..1a849a51390 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf Binary files differindex 19490908663..89d72980101 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf Binary files differindex ee7e8f8fc61..df7ba029347 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf Binary files differindex bb254d0b5a3..50e40e8402d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf Binary files differindex 5d6e4f50ca4..2e993e3ffb1 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf Binary files differindex 5573c6334c2..2078093ab6e 100644 --- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf +++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf diff --git a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf Binary files differindex 263df86ed87..4327233bb7e 100644 --- a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf +++ b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf diff --git a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf Binary files differindex 3a70a7fb3c5..96f77afc83e 100644 --- a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf +++ b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf diff --git a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf Binary files differindex 9da359d03e2..e89f239b38d 100644 --- a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf +++ b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf 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} |