summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty8
-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-convert.sty74
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex403
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty24
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def6
-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.sty57
15 files changed, 466 insertions, 160 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
index b2f59ab27cd..18dea9646a4 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3sort}{Support package l3kernel too old}
@@ -59,12 +59,12 @@
}%
\endinput
}
-\GetIdInfo$Id: l3sort.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3sort.dtx 6001 2015-09-11 21:50:23Z joseph $
{L3 Experimental sorting functions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\int_const:Nn \c__sort_max_length_int
- { \luatex_if_engine:TF { 49152 } { 24576 } }
+ { \sys_if_engine_luatex:TF { 49152 } { 24576 } }
\int_new:N \l__sort_length_int
\int_new:N \l__sort_block_int
\int_new:N \l__sort_begin_int
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
index 7ba07c8b626..ae812d5afb1 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3flag}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3flag.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3flag.dtx 6001 2015-09-11 21:50:23Z 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 e8c92a8efda..da16502dece 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3regex.dtx 6001 2015-09-11 21:50:23Z 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 5d58f570101..199e2dd9d2b 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3regex.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3regex.dtx 6001 2015-09-11 21:50:23Z joseph $
{L3 Experimental regular expressions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
index 7ecf6196ed4..e811c9e00a9 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{expl3}
-\GetIdInfo$Id: l3str-convert.dtx 5659 2015-07-14 18:58:00Z joseph $
+\GetIdInfo$Id: l3str-convert.dtx 5998 2015-09-11 19:51:00Z joseph $
{L3 Experimental string encoding conversions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -54,7 +54,15 @@
\cs_if_exist:NF \use_ii_i:nn
{ \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } }
\int_const:Nn \c_max_char_int
- { \pdftex_if_engine:TF { "FF } { "10FFFF } }
+ {
+ \bool_if:nTF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
+ { "10FFFF }
+ { "FF }
+ }
\cs_new_protected_nopar:Npn \__str_tmp:w { }
\tl_new:N \l__str_internal_tl
\int_new:N \l__str_internal_int
@@ -399,8 +407,11 @@
\char_set_catcode_comment:N \%
\int_set:Nn \tex_endlinechar:D {32}
}
-\pdftex_if_engine:TF
- { \cs_new_eq:NN \__str_filter_bytes:n \use:n }
+\bool_if:nTF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
{
\cs_new:Npn \__str_filter_bytes:n #1
{
@@ -419,8 +430,12 @@
\__str_filter_bytes_aux:N
}
}
-\pdftex_if_engine:TF
- { \cs_new_protected_nopar:Npn \__str_convert_unescape_: { } }
+ { \cs_new_eq:NN \__str_filter_bytes:n \use:n }
+\bool_if:nTF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
{
\cs_new_protected_nopar:Npn \__str_convert_unescape_:
{
@@ -430,6 +445,7 @@
\__str_if_flag_error:nnx { str_byte } { non-byte } { bytes }
}
}
+ { \cs_new_protected_nopar:Npn \__str_convert_unescape_: { } }
\cs_new_eq:NN \__str_convert_unescape_bytes: \__str_convert_unescape_:
\cs_new_protected_nopar:Npn \__str_convert_escape_: { }
\cs_new_eq:NN \__str_convert_escape_bytes: \__str_convert_escape_:
@@ -439,7 +455,28 @@
{ #1 \s__tl \__int_value:w `#1 \s__tl }
\group_begin:
\char_set_catcode_other:n { 0 }
- \pdftex_if_engine:TF
+ \bool_if:nTF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
+ {
+ \cs_new_protected_nopar:Npn \__str_convert_encode_:
+ {
+ \__tl_gbuild_x:Nw \g__str_result_tl
+ \exp_after:wN \__str_encode_native_loop:w
+ \g__str_result_tl \s__tl { \q_stop \__prg_break: } \s__tl
+ \__prg_break_point:
+ \__tl_build_end:
+ }
+ \cs_new_protected:Npn \__str_encode_native_loop:w #1 \s__tl #2 \s__tl
+ {
+ \use_none_delimit_by_q_stop:w #2 \q_stop
+ \tex_lccode:D \l__str_internal_int \__int_eval:w #2 \__int_eval_end:
+ \tl_to_lowercase:n { \__tl_build_one:n { ^^@ } }
+ \__str_encode_native_loop:w
+ }
+ }
{
\cs_new_protected_nopar:Npn \__str_convert_encode_:
{
@@ -465,23 +502,6 @@
To~manipulate~arbitrary~Unicode,~use~LuaTeX~or~XeTeX.
}
}
- {
- \cs_new_protected_nopar:Npn \__str_convert_encode_:
- {
- \__tl_gbuild_x:Nw \g__str_result_tl
- \exp_after:wN \__str_encode_native_loop:w
- \g__str_result_tl \s__tl { \q_stop \__prg_break: } \s__tl
- \__prg_break_point:
- \__tl_build_end:
- }
- \cs_new_protected:Npn \__str_encode_native_loop:w #1 \s__tl #2 \s__tl
- {
- \use_none_delimit_by_q_stop:w #2 \q_stop
- \tex_lccode:D \l__str_internal_int \__int_eval:w #2 \__int_eval_end:
- \tl_to_lowercase:n { \__tl_build_one:n { ^^@ } }
- \__str_encode_native_loop:w
- }
- }
\group_end:
\cs_new_protected_nopar:Npn \__str_convert_decode_clist:
{
@@ -614,7 +634,11 @@
}
\__msg_kernel_new:nnn { str } { file-not-found }
{ File~'l3str-#1.def'~not~found. }
-\pdftex_if_engine:F
+\bool_if:nT
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
{
\__msg_kernel_new:nnnn { str } { non-byte }
{ String~invalid~in~escaping~'#1':~it~may~only~contain~bytes. }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty
index 645282820f0..db0c177ea56 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3str}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3str-expl.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3str-expl.dtx 6001 2015-09-11 21:50:23Z joseph $
{L3 Experimental strings}
\def\ExplFileName{l3str}
\ProvidesExplPackage
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 129f34e20d2..32b6f0565ee 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3galley}{Support package l3kernel too old}
@@ -60,7 +60,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3galley.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3galley.dtx 6001 2015-09-11 21:50:23Z joseph $
{L3 Experimental galley code}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index d6a472cf469..0c0e211dda4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -38,6 +38,7 @@
%% l3coffins.dtx (with options: `package')
%% l3color.dtx (with options: `package')
%% l3candidates.dtx (with options: `package')
+%% l3sys.dtx (with options: `package')
%% l3luatex.dtx (with options: `package')
%%
%% EXPERIMENTAL CODE
@@ -81,8 +82,8 @@
%% -----------------------------------------------------------------------
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 programming layer}
-\def\ExplFileDate{2015/09/06}
-\def\ExplFileVersion{5925}
+\def\ExplFileDate{2015/09/11}
+\def\ExplFileVersion{6002}
\begingroup
\def\next{\endgroup}
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -241,7 +242,7 @@
}
}
\endgroup
-\GetIdInfo$Id: l3bootstrap.dtx 5729 2015-07-31 05:56:12Z joseph $
+\GetIdInfo$Id: l3bootstrap.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Bootstrap code}
\begingroup
\expandafter\ifx\csname directlua\endcsname\relax
@@ -295,7 +296,48 @@
\global\everyjob\expandafter
{%
\the\expandafter\everyjob
- \expandafter\luatex_directlua:D\expandafter{\tempa}%
+ \expandafter\lua_now_x:n\expandafter{\tempa}%
+ }
+ \fi
+ \fi
+ \fi
+\endgroup
+\begingroup
+ \expandafter\ifx\csname directlua\endcsname\relax
+ \else
+ \ifnum\luatexversion<70 %
+ \else
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname newcatcodetable\endcsname\relax
+ \directlua{tex.enableprimitives("",{"initcatcodetable"})}
+ \chardef\ucharcat@table"7000 %
+ \initcatcodetable\ucharcat@table
+ \else
+ \newcatcodetable\ucharcat@table
+ \fi
+ \catcode`\_=11 %
+ \catcode`\:=11 %
+ \def\tempa
+ {%
+ l3kernel = l3kernel or { }
+ local utf8_char = unicode.utf8.char
+ function l3kernel.charcat(charcode, catcode)
+ tex.setcatcode(\number\ucharcat@table, charcode, catcode)
+ tex.sprint(\number\ucharcat@table, utf8_char(charcode))
+ end
+ }
+ \directlua{\tempa}
+ \ifnum 0%
+ \directlua
+ {%
+ if status.ini_version then
+ tex.write("1")
+ end
+ }>0 %
+ \global\everyjob\expandafter
+ {%
+ \the\expandafter\everyjob
+ \expandafter\lua_now_x:n\expandafter{\tempa}%
}
\fi
\fi
@@ -447,7 +489,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3names.dtx 5848 2015-08-17 05:27:13Z joseph $
+\GetIdInfo$Id: l3names.dtx 5939 2015-09-07 21:15:55Z joseph $
{L3 Namespace for primitives}
\let \tex_global:D \global
\let \tex_let:D \let
@@ -1331,6 +1373,11 @@
\tex_let:D \utex_mathcode:D \XeTeXmathcode
\tex_let:D \utex_mathcodenum:D \XeTeXmathcodenum
\tex_fi:D
+\etex_ifdefined:D \luatex_luatexversion:D
+ \tex_let:D \pdftex_pdftexbanner:D \tex_undefined:D
+ \tex_let:D \pdftex_pdftexbanner:D \tex_undefined:D
+ \tex_let:D \pdftex_pdftexversion:D \tex_undefined:D
+\tex_fi:D
\etex_ifdefined:D \normalend
\tex_let:D \tex_end:D \normalend
\tex_let:D \tex_everyjob:D \normaleveryjob
@@ -1389,7 +1436,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3basics.dtx 5897 2015-08-28 09:06:29Z joseph $
+\GetIdInfo$Id: l3basics.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Basic definitions}
\tex_let:D \if_true: \tex_iftrue:D
\tex_let:D \if_false: \tex_iffalse:D
@@ -2108,40 +2155,6 @@
{ \__msg_show_wrap:n { > ~ \token_to_str:N #1 = \cs_meaning:N #1 } }
\cs_new_protected_nopar:Npn \cs_show:c
{ \group_begin: \exp_args:NNc \group_end: \cs_show:N }
-\cs_new_eq:NN \luatex_if_engine:T \use_none:n
-\cs_new_eq:NN \luatex_if_engine:F \use:n
-\cs_new_eq:NN \luatex_if_engine:TF \use_ii:nn
-\cs_new_eq:NN \pdftex_if_engine:T \use:n
-\cs_new_eq:NN \pdftex_if_engine:F \use_none:n
-\cs_new_eq:NN \pdftex_if_engine:TF \use_i:nn
-\cs_new_eq:NN \xetex_if_engine:T \use_none:n
-\cs_new_eq:NN \xetex_if_engine:F \use:n
-\cs_new_eq:NN \xetex_if_engine:TF \use_ii:nn
-\cs_new_eq:NN \luatex_if_engine_p: \c_false_bool
-\cs_new_eq:NN \pdftex_if_engine_p: \c_true_bool
-\cs_new_eq:NN \xetex_if_engine_p: \c_false_bool
-\cs_if_exist:NT \xetex_XeTeXversion:D
- {
- \cs_gset_eq:NN \pdftex_if_engine:T \use_none:n
- \cs_gset_eq:NN \pdftex_if_engine:F \use:n
- \cs_gset_eq:NN \pdftex_if_engine:TF \use_ii:nn
- \cs_gset_eq:NN \xetex_if_engine:T \use:n
- \cs_gset_eq:NN \xetex_if_engine:F \use_none:n
- \cs_gset_eq:NN \xetex_if_engine:TF \use_i:nn
- \cs_gset_eq:NN \pdftex_if_engine_p: \c_false_bool
- \cs_gset_eq:NN \xetex_if_engine_p: \c_true_bool
- }
-\cs_if_exist:NT \luatex_directlua:D
- {
- \cs_gset_eq:NN \luatex_if_engine:T \use:n
- \cs_gset_eq:NN \luatex_if_engine:F \use_none:n
- \cs_gset_eq:NN \luatex_if_engine:TF \use_i:nn
- \cs_gset_eq:NN \pdftex_if_engine:T \use_none:n
- \cs_gset_eq:NN \pdftex_if_engine:F \use:n
- \cs_gset_eq:NN \pdftex_if_engine:TF \use_ii:nn
- \cs_gset_eq:NN \luatex_if_engine_p: \c_true_bool
- \cs_gset_eq:NN \pdftex_if_engine_p: \c_false_bool
- }
\cs_new_nopar:Npn \prg_do_nothing: { }
\cs_new_eq:NN \__prg_break_point:Nn \use_ii:nn
\cs_new:Npn \__prg_map_break:Nn #1#2#3 \__prg_break_point:Nn #4#5
@@ -2187,7 +2200,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3expan.dtx 5897 2015-08-28 09:06:29Z joseph $
+\GetIdInfo$Id: l3expan.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Argument expansion}
\cs_new:Npn \__exp_arg_next:nnn #1#2#3 { #2 \::: { #3 {#1} } }
\cs_new:Npn \__exp_arg_next:Nnn #1#2#3 { #2 \::: { #3 #1 } }
@@ -2667,7 +2680,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3tl.dtx 5908 2015-09-02 14:50:27Z joseph $
+\GetIdInfo$Id: l3tl.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Token lists}
\cs_new_protected:Npn \tl_new:N #1
{
@@ -2848,16 +2861,25 @@
{ \__tl_set_rescan:NNnn \prg_do_nothing: \use:n }
\cs_new_protected:Npn \__tl_set_rescan:NNnn #1#2#3#4
{
- \group_begin:
- \exp_args:No \etex_everyeof:D { \c__tl_rescan_marker_tl \exp_not:N }
- \int_compare:nNnT \tex_endlinechar:D = { 32 }
- { \tex_endlinechar:D \c_minus_one }
- \tex_newlinechar:D \tex_endlinechar:D
- #3 \scan_stop:
- \exp_args:No \__tl_set_rescan:n { \tl_to_str:n {#4} }
- \exp_args:NNNo
- \group_end:
- #1 #2 \l__tl_internal_a_tl
+ \tl_if_empty:nTF {#4}
+ {
+ \group_begin:
+ #3
+ \group_end:
+ #1 #2 { }
+ }
+ {
+ \group_begin:
+ \exp_args:No \etex_everyeof:D { \c__tl_rescan_marker_tl \exp_not:N }
+ \int_compare:nNnT \tex_endlinechar:D = { 32 }
+ { \tex_endlinechar:D \c_minus_one }
+ \tex_newlinechar:D \tex_endlinechar:D
+ #3 \scan_stop:
+ \exp_args:No \__tl_set_rescan:n { \tl_to_str:n {#4} }
+ \exp_args:NNNo
+ \group_end:
+ #1 #2 \l__tl_internal_a_tl
+ }
}
\cs_new_protected:Npn \__tl_set_rescan_multi:n #1
{
@@ -3574,7 +3596,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3str.dtx 5920 2015-09-05 07:55:06Z joseph $
+\GetIdInfo$Id: l3str.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Strings}
\cs_new:Npn \str_head:n #1
{
@@ -3592,7 +3614,7 @@
}
\cs_new:Npn \__str_tail:w #1 X #2 \q_stop { \fi: #1 }
\cs_new:Npn \__str_if_eq_x:nn #1#2 { \pdftex_strcmp:D {#1} {#2} }
-\luatex_if_engine:T
+\cs_if_exist:NT \luatex_luatexversion:D
{
\cs_set:Npn \__str_if_eq_x:nn #1#2
{
@@ -4339,7 +4361,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3int.dtx 5885 2015-08-24 13:29:14Z mittelba $
+\GetIdInfo$Id: l3int.dtx 5987 2015-09-11 05:44:48Z joseph $
{L3 Integers}
\cs_new_eq:NN \__int_value:w \tex_number:D
\cs_new_eq:NN \__int_eval:w \etex_numexpr:D
@@ -4439,15 +4461,20 @@
}
}
\cs_generate_variant:Nn \int_const:Nn { c }
-\pdftex_if_engine:TF
- {
- \cs_new_eq:NN \__int_constdef:Nw \tex_mathchardef:D
- \tex_mathchardef:D \c__max_constdef_int 32 767 ~
- }
- {
- \cs_new_eq:NN \__int_constdef:Nw \tex_chardef:D
- \tex_chardef:D \c__max_constdef_int 1 114 111 ~
- }
+\if_int_odd:w 0
+ \cs_if_exist:NT \luatex_luatexversion:D { 1 }
+ \cs_if_exist:NT \uptex_disablecjktoken:D
+ { \if_int_compare:w \ptex_jis:D "2121 = "3000 ~ 1 \fi: }
+ \cs_if_exist:NT \xetex_XeTeXversion:D { 1 }
+ ~
+ \cs_if_exist:NTF \uptex_disablecjktoken:D
+ { \cs_new_eq:NN \__int_constdef:Nw \uptex_kchardef:D }
+ { \cs_new_eq:NN \__int_constdef:Nw \tex_chardef:D }
+ \__int_constdef:Nw \c__max_constdef_int 1114111 ~
+\else:
+ \cs_new_eq:NN \__int_constdef:Nw \tex_mathchardef:D
+ \tex_mathchardef:D \c__max_constdef_int 32767 ~
+\fi:
\cs_new_protected:Npn \int_zero:N #1 { #1 = \c_zero }
\cs_new_protected:Npn \int_gzero:N #1 { \tex_global:D #1 = \c_zero }
\cs_generate_variant:Nn \int_zero:N { c }
@@ -5303,7 +5330,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3prg.dtx 5891 2015-08-25 08:00:59Z mittelba $
+\GetIdInfo$Id: l3prg.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Control structures}
%%
\cs_new_eq:NN \if_bool:N \tex_ifodd:D
@@ -7295,7 +7322,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3msg.dtx 5891 2015-08-25 08:00:59Z mittelba $
+\GetIdInfo$Id: l3msg.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Messages}
\tl_new:N \l__msg_internal_tl
\tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ }
@@ -8733,7 +8760,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3skip.dtx 5893 2015-08-26 16:16:52Z mittelba $
+\GetIdInfo$Id: l3skip.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Dimensions and skips}
\cs_new_eq:NN \if_dim:w \tex_ifdim:D
\cs_new_eq:NN \__dim_eval:w \etex_dimexpr:D
@@ -9173,7 +9200,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3keys.dtx 5869 2015-08-20 01:19:17Z bruno $
+\GetIdInfo$Id: l3keys.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Key-value interfaces}
\int_new:N \g__keyval_level_int
\tl_new:N \l__keyval_key_tl
@@ -16718,7 +16745,7 @@
%%
%% -----------------------------------------------------------------------
%%
-\GetIdInfo$Id: l3candidates.dtx 5911 2015-09-03 08:24:00Z joseph $
+\GetIdInfo$Id: l3candidates.dtx 6002 2015-09-11 22:13:30Z joseph $
{L3 Experimental additions to l3kernel}
\cs_new_protected_nopar:Npn \cs_log:N
{ \__msg_log_next: \cs_show:N }
@@ -18607,6 +18634,137 @@
\__char_tmp:nN { char_set_active_eq } \cs_set_eq:NN
\__char_tmp:nN { char_gset_active_eq } \cs_gset_eq:NN
\group_end:
+\cs_new:Npn \char_generate:nn #1#2
+ {
+ \exp:w \exp_after:wN \__char_generate_aux:w
+ \int_use:N \__int_eval:w #1 \exp_after:wN ;
+ \int_use:N \__int_eval:w #2 ;
+ }
+\cs_new:Npn \__char_generate_aux:w #1 ; #2 ;
+ {
+ \if_int_compare:w #2 = \c_thirteen
+ \__msg_kernel_expandable_error:nn { kernel } { char-active }
+ \else:
+ \if_int_compare:w #2 = \c_ten
+ \if_int_compare:w #1 = \c_zero
+ \__msg_kernel_expandable_error:nn { kernel } { char-null-space }
+ \else:
+ \__msg_kernel_expandable_error:nn { kernel } { char-space }
+ \fi:
+ \else:
+ \if_int_odd:w 0
+ \if_int_compare:w #2 < \c_one 1 \fi:
+ \if_int_compare:w #2 = \c_five 1 \fi:
+ \if_int_compare:w #2 = \c_nine 1 \fi:
+ \if_int_compare:w #2 > \c_thirteen 1 \fi: \exp_stop_f:
+ \__msg_kernel_expandable_error:nn { kernel }
+ { char-invalid-catcode }
+ \else:
+ \if_int_odd:w 0
+ \if_int_compare:w #1 < \c_zero 1 \fi:
+ \if_int_compare:w #1 > \c__char_max_int 1 \fi: \exp_stop_f:
+ \__msg_kernel_expandable_error:nn { kernel }
+ { char-out-of-range }
+ \else:
+ \__char_generate_aux:nnw {#1} {#2}
+ \fi:
+ \fi:
+ \fi:
+ \fi:
+ \exp_end:
+ }
+\tl_new:N \l__char_tmp_tl
+\group_begin:
+ \cs_set_nopar:Npn ^^L { }
+ \char_set_catcode_other:n { 0 }
+ \if_int_odd:w 0
+ \cs_if_exist:NT \luatex_directlua:D { 1 }
+ \cs_if_exist:NT \utex_charcat:D { 1 } \exp_stop_f:
+ \int_const:Nn \c__char_max_int { 1114111 }
+ \cs_if_exist:NTF \luatex_directlua:D
+ {
+ \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end:
+ {
+ #3
+ \exp_after:wN \exp_end:
+ \luatex_directlua:D { l3kernel.charcat(#1, #2) }
+ }
+ }
+ {
+ \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end:
+ {
+ #3
+ \exp_after:wN \exp_end:
+ \utex_charcat:D #1 ~ #2 ~
+ }
+ }
+ \else:
+ \int_const:Nn \c__char_max_int { 255 }
+ \tl_set:Nn \l__char_tmp_tl { \exp_not:N \or: }
+ \char_set_catcode_group_begin:n { 0 } % {
+ \tl_put_right:Nn \l__char_tmp_tl { ^^@ \if_false: } }
+ \char_set_catcode_group_end:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { { \fi: \exp_not:N \or: ^^@ } % }
+ \tl_set:Nx \l__char_tmp_tl { \l__char_tmp_tl }
+ \char_set_catcode_math_toggle:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \char_set_catcode_alignment:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: }
+ \char_set_catcode_parameter:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \char_set_catcode_math_superscript:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \char_set_catcode_math_subscript:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: }
+ \char_set_catcode_space:n { 0 }
+ \tl_put_right:No \l__char_tmp_tl { \use:n { \or: } ^^@ }
+ \char_set_catcode_letter:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \char_set_catcode_other:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \char_set_catcode_active:n { 0 }
+ \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ }
+ \cs_set_protected:Npn \__char_tmp:n #1
+ {
+ \char_set_lccode:nn { 0 } {#1}
+ \char_set_lccode:nn { 32 } {#1}
+ \exp_args:Nx \tex_lowercase:D
+ {
+ \tl_const:cn { c__char_ \__int_to_roman:w #1 _tl }
+ { \exp_not:o \l__char_tmp_tl }
+ }
+ }
+ \int_step_function:nnnN { 0 } { 1 } { 11 } \__char_tmp:n
+ \group_begin:
+ \tl_replace_once:Nnn \l__char_tmp_tl { ^^@ } { \ERROR }
+ \__char_tmp:n { 12 }
+ \group_end:
+ \int_step_function:nnnN { 13 } { 1 } { 255 } \__char_tmp:n
+ \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end:
+ {
+ #3
+ \exp_after:wN \exp_after:wN
+ \exp_after:wN \exp_end:
+ \exp_after:wN \exp_after:wN
+ \if_case:w #2
+ \exp_last_unbraced:Nv \exp_stop_f:
+ { c__char_ \__int_to_roman:w #1 _tl }
+ \fi:
+ }
+ \fi:
+\group_end:
+\__msg_kernel_new:nnn { kernel } { char-active }
+ { Cannot~generate~active~chars. }
+\__msg_kernel_new:nnn { kernel } { char-invalid-catcode }
+ { Invalid~catcode~for~char~generation. }
+\__msg_kernel_new:nnn { kernel } { char-null-space }
+ { Cannot~generate~null~char~as~a~space. }
+\__msg_kernel_new:nnn { kernel } { char-out-of-range }
+ { Charcode~requested~out~of~engine~range. }
+\__msg_kernel_new:nnn { kernel } { char-space }
+ { Cannot~generate~space~chars. }
\group_begin:
\char_set_catcode_other:N \O
\char_set_catcode_other:N \U
@@ -18655,6 +18813,109 @@
{ \fp_gset:Nn #1 { \dim_to_fp:n {#2} } }
\cs_generate_variant:Nn \fp_set_from_dim:Nn { c }
\cs_generate_variant:Nn \fp_gset_from_dim:Nn { c }
+%% File: l3sys.dtx Copyright (C) 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
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "l3kernel bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/svnroot/experimental/trunk/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX3 Project.
+%%
+%% -----------------------------------------------------------------------
+\GetIdInfo$Id$
+ {L3 Experimental system/runtime functions}
+\clist_map_inline:nn { lua , pdf , p , up , xe }
+ {
+ \cs_new_eq:cN { sys_if_engine_ #1 tex:T } \use_none:n
+ \cs_new_eq:cN { sys_if_engine_ #1 tex:F } \use:n
+ \cs_new_eq:cN { sys_if_engine_ #1 tex:TF } \use_ii:nn
+ \cs_new_eq:cN { sys_if_engine_ #1 tex_p: } \c_false_bool
+ }
+\cs_if_exist:NT \luatex_luatexversion:D
+ {
+ \cs_gset_eq:NN \sys_if_engine_luatex:T \use:n
+ \cs_gset_eq:NN \sys_if_engine_luatex:F \use_none:n
+ \cs_gset_eq:NN \sys_if_engine_luatex:TF \use_i:nn
+ \cs_gset_eq:NN \sys_if_engine_luatex_p: \c_true_bool
+ }
+\cs_if_exist:NT \pdftex_pdftexversion:D
+ {
+ \cs_gset_eq:NN \sys_if_engine_pdftex:T \use:n
+ \cs_gset_eq:NN \sys_if_engine_pdftex:F \use_none:n
+ \cs_gset_eq:NN \sys_if_engine_pdftex:TF \use_i:nn
+ \cs_gset_eq:NN \sys_if_engine_pdftex_p: \c_true_bool
+ }
+\cs_if_exist:NT \ptex_kanjiskip:D
+ {
+ \bool_if:nTF
+ {
+ \cs_if_exist_p:N \uptex_disablecjktoken:D &&
+ \int_compare_p:nNn { \ptex_jis:D "2121 } = { "3000 }
+ }
+ {
+ \cs_gset_eq:NN \sys_if_engine_uptex:T \use:n
+ \cs_gset_eq:NN \sys_if_engine_uptex:F \use_none:n
+ \cs_gset_eq:NN \sys_if_engine_uptex:TF \use_i:nn
+ \cs_gset_eq:NN \sys_if_engine_uptex_p: \c_true_bool
+ }
+ {
+ \cs_gset_eq:NN \sys_if_engine_ptex:T \use:n
+ \cs_gset_eq:NN \sys_if_engine_ptex:F \use_none:n
+ \cs_gset_eq:NN \sys_if_engine_ptex:TF \use_i:nn
+ \cs_gset_eq:NN \sys_if_engine_ptex_p: \c_true_bool
+ }
+ }
+\cs_if_exist:NT \xetex_XeTeXversion:D
+ {
+ \cs_gset_eq:NN \sys_if_engine_xetex:T \use:n
+ \cs_gset_eq:NN \sys_if_engine_xetex:F \use_none:n
+ \cs_gset_eq:NN \sys_if_engine_xetex:TF \use_i:nn
+ \cs_gset_eq:NN \sys_if_engine_xetex_p: \c_true_bool
+ }
+\prg_new_eq_conditional:NNn \luatex_if_engine: \sys_if_engine_luatex:
+ { T , F , TF , p }
+\prg_new_eq_conditional:NNn \xetex_if_engine: \sys_if_engine_xetex:
+ { T , F , TF , p }
+\bool_if:nTF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
+ {
+ \cs_new_eq:NN \pdftex_if_engine:T \use_none:n
+ \cs_new_eq:NN \pdftex_if_engine:F \use:n
+ \cs_new_eq:NN \pdftex_if_engine:TF \use_ii:nn
+ \cs_new_eq:NN \pdftex_if_engine_p: \c_false_bool
+ }
+ {
+ \cs_new_eq:NN \pdftex_if_engine:T \use:n
+ \cs_new_eq:NN \pdftex_if_engine:F \use_none:n
+ \cs_new_eq:NN \pdftex_if_engine:TF \use_i:nn
+ \cs_new_eq:NN \pdftex_if_engine_p: \c_true_bool
+ }
%% File: l3luatex.dtx Copyright (C) 2010-2015 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
@@ -18687,7 +18948,7 @@
%% prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
-\GetIdInfo$Id: l3luatex.dtx 5646 2015-06-30 21:19:24Z joseph $
+\GetIdInfo$Id: l3luatex.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Experimental LuaTeX-specific functions}
\cs_new:Npn \lua_now_x:n #1 { \luatex_directlua:D {#1} }
\cs_new:Npn \lua_now:n #1 { \lua_now_x:n { \exp_not:n {#1} } }
@@ -18696,7 +18957,7 @@
{ \lua_shipout_x:n { \exp_not:n {#1} } }
\cs_new:Npn \lua_escape_x:n #1 { \luatex_luaescapestring:D {#1} }
\cs_new:Npn \lua_escape:n #1 { \lua_escape_x:n { \exp_not:n {#1} } }
-\luatex_if_engine:F
+\sys_if_engine_luatex:F
{
\clist_map_inline:nn
{ \lua_now_x:n , \lua_now:n , \lua_escape_x:n , \lua_escape:n }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index a5203a71d7e..b06f37d4c6d 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/09/06}
-\def\ExplFileVersion{5925}
+\def\ExplFileDate{2015/09/11}
+\def\ExplFileVersion{6002}
\let\ExplLoaderFileVersion\ExplFileVersion
\begingroup
\def\tempa{LaTeX2e}
@@ -116,7 +116,7 @@
}
\tex_input:D
l3
- \xetex_if_engine:TF
+ \sys_if_engine_xetex:TF
{ xdvipdfmx }
{
\bool_if:nTF
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index fc1a2022831..acd8aaf809f 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/09/06}
-\def\ExplFileVersion{5925}
+\def\ExplFileDate{2015/09/11}
+\def\ExplFileVersion{6002}
\let\ExplLoaderFileVersion\ExplFileVersion
\ProvidesPackage{\ExplFileName}
[%
@@ -134,19 +134,27 @@
{
\tl_set:Nx \l__expl_driver_tl
{
- \xetex_if_engine:TF
+ \sys_if_engine_xetex:TF
{ xdvipdfmx }
{
\__expl_if_pdf:TF
{ pdfmode }
- { dvips }
+ {
+ \bool_if:nTF
+ {
+ \sys_if_engine_pdftex_p: ||
+ \sys_if_engine_luatex_p:
+ }
+ { dvips }
+ { dvipdfmx }
+ }
}
}
},
driver / dvipdfmx .code:n =
{
\tl_set:Nn \l__expl_driver_tl { dvipdfmx }
- \xetex_if_engine:TF
+ \sys_if_engine_xetex:TF
{
\__msg_kernel_error:nnnn { expl } { wrong-driver }
{ dvipdfmx } { xdvipdfmx }
@@ -164,7 +172,7 @@
driver / dvips .code:n =
{
\tl_set:Nn \l__expl_driver_tl { dvips }
- \xetex_if_engine:TF
+ \sys_if_engine_xetex:TF
{
\__msg_kernel_error:nnnn { expl } { wrong-driver }
{ dvips } { xdvipdfmx }
@@ -184,7 +192,7 @@
driver / pdfmode .code:n =
{
\tl_set:Nn \l__expl_driver_tl { pdfmode }
- \xetex_if_engine:TF
+ \sys_if_engine_xetex:TF
{
\__msg_kernel_error:nnnn { expl } { wrong-driver }
{ pdfmode } { xdvipdfmx }
@@ -202,7 +210,7 @@
driver / xdvipdfmx .code:n =
{
\tl_set:Nn \l__expl_driver_tl { xdvipdfmx }
- \xetex_if_engine:F
+ \sys_if_engine_xetex:F
{
\__expl_if_pdf:TF
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 1dd35279f65..c06eb9cbee2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -50,7 +50,7 @@
\let \fileversionOld \ExplFileVersion
\let \filedescriptionOld \ExplFileDescription
\RequirePackage{expl3,xparse,calc}
-\GetIdInfo$Id: l3doc.dtx 5903 2015-09-02 06:03:07Z joseph $
+\GetIdInfo$Id: l3doc.dtx 5983 2015-09-10 18:57:56Z joseph $
{L3 Experimental documentation class}
\ProvidesExplClass
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -314,6 +314,10 @@
\providecommand*\LuaTeX{\hologo{LuaTeX}}
\providecommand*\pdfTeX{\hologo{pdfTeX}}
\providecommand*\XeTeX{\hologo{XeTeX}}
+\providecommand*\pTeX{p\kern-.2em\hologo{TeX}}
+\providecommand*\upTeX{up\kern-.2em\hologo{TeX}}
+\providecommand*\epTeX{$\varepsilon$-\pTeX}
+\providecommand*\eupTeX{$\varepsilon$-\upTeX}
\DeclareExpandableDocumentCommand \cmd { O{} m }
{ \__codedoc_cmd:no {#1} { \token_to_str:N #2 } }
\DeclareExpandableDocumentCommand \cs { O{} m }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def b/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
index 399ad3dd390..a08bc0fff3e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3unicode-data.def
@@ -12,7 +12,11 @@
%% Generated on 2015-07-20.
%%
\ProvidesExplFile {l3unicode-data.def} {2015/07/20} {5676} {L3 Unicode data}
-\pdftex_if_engine:T
+\bool_if:nF
+ {
+ \sys_if_engine_luatex_p: ||
+ \sys_if_engine_xetex_p:
+ }
{
\group_begin:
\cs_set_protected:Npn \__unicode_tmp:NN #1#2
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 7e836dd3dcd..9dffe8d39d6 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{l3keys2e}{Support package l3kernel too old}
@@ -59,7 +59,7 @@
}%
\endinput
}
-\GetIdInfo$Id: l3keys2e.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: l3keys2e.dtx 6001 2015-09-11 21:50:23Z 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 bde3d90f6db..9c1441858b5 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{xparse}{Support package l3kernel too old}
@@ -63,7 +63,7 @@
}%
\endinput
}
-\GetIdInfo$Id: xparse.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: xparse.dtx 6001 2015-09-11 21:50:23Z 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 ba9d715489a..c761e58bb88 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/09/06]
-\@ifpackagelater{expl3}{2015/09/06}
+\RequirePackage{expl3}[2015/09/11]
+\@ifpackagelater{expl3}{2015/09/11}
{}
{%
\PackageError{xtemplate}{Support package l3kernel too old}
@@ -63,7 +63,7 @@
}%
\endinput
}
-\GetIdInfo$Id: xtemplate.dtx 5925 2015-09-06 09:25:46Z joseph $
+\GetIdInfo$Id: xtemplate.dtx 6001 2015-09-11 21:50:23Z joseph $
{L3 Experimental prototype document functions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -328,41 +328,46 @@
\__xtemplate_parse_keys_elt:n {#1}
\use:c { __xtemplate_store_value_ \l__xtemplate_keytype_tl :n } {#2}
}
-\group_begin:
-\char_set_lccode:nn { `\@ } { `\: }
-\char_set_catcode_other:N \@
-\tl_to_lowercase:n
+\cs_new_protected:Npx \__xtemplate_split_keytype:n #1
{
- \group_end:
- \cs_new_protected:Npn \__xtemplate_split_keytype:n #1
+ \exp_not:N \bool_set_false:N \exp_not:N \l__xtemplate_error_bool
+ \tl_set:Nn \exp_not:N \l__xtemplate_tmp_tl {#1}
+ \tl_remove_all:Nn \exp_not:N \l__xtemplate_tmp_tl { ~ }
+ \tl_replace_all:Nnn \exp_not:N \l__xtemplate_tmp_tl { : } { \token_to_str:N : }
+ \tl_if_in:onTF \exp_not:N \l__xtemplate_tmp_tl { \token_to_str:N : }
{
- \bool_set_false:N \l__xtemplate_error_bool
- \tl_set:Nn \l__xtemplate_tmp_tl {#1}
- \tl_remove_all:Nn \l__xtemplate_tmp_tl { ~ }
- \tl_replace_all:Nnn \l__xtemplate_tmp_tl { : } { @ }
- \tl_if_in:onTF \l__xtemplate_tmp_tl { @ }
+ \exp_not:n
{
\tl_clear:N \l__xtemplate_key_name_tl
\exp_after:wN \__xtemplate_split_keytype_aux:w
\l__xtemplate_tmp_tl \q_stop
}
- {
- \bool_set_true:N \l__xtemplate_error_bool
- \msg_error:nnx { xtemplate } { missing-keytype } {#1}
- }
}
- \cs_new_protected:Npn \__xtemplate_split_keytype_aux:w #1 @ #2 \q_stop
{
- \tl_put_right:Nx \l__xtemplate_key_name_tl { \tl_to_str:n {#1} }
- \tl_if_in:nnTF {#2} { @ }
+ \exp_not:N \bool_set_true:N \exp_not:N \l__xtemplate_error_bool
+ \msg_error:nnx { xtemplate } { missing-keytype } {#1}
+ }
+ }
+\use:x
+ {
+ \cs_new_protected:Npn \exp_not:N \__xtemplate_split_keytype_aux:w
+ ##1 \token_to_str:N : ##2 \exp_not:N \q_stop
+ {
+ \tl_put_right:Nx \exp_not:N \l__xtemplate_key_name_tl
+ { \exp_not:N \tl_to_str:n {##1} }
+ \tl_if_in:nnTF {##2} { \token_to_str:N : }
{
- \tl_put_right:Nn \l__xtemplate_key_name_tl { @ }
- \__xtemplate_split_keytype_aux:w #2 \q_stop
+ \tl_put_right:Nn \exp_not:N \l__xtemplate_key_name_tl
+ { \token_to_str:N : }
+ \exp_not:N \__xtemplate_split_keytype_aux:w ##2 \exp_not:N \q_stop
}
{
- \tl_if_empty:NTF \l__xtemplate_key_name_tl
- { \msg_error:nnx { xtemplate } { empty-key-name } { @ #2 } }
- { \__xtemplate_split_keytype_arg:n {#2} }
+ \exp_not:N \tl_if_empty:NTF \exp_not:N \l__xtemplate_key_name_tl
+ {
+ \msg_error:nnx { xtemplate } { empty-key-name }
+ { \token_to_str:N : ##2 }
+ }
+ { \exp_not:N \__xtemplate_split_keytype_arg:n {##2} }
}
}
}