summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-24 22:18:02 +0000
committerKarl Berry <karl@freefriends.org>2018-08-24 22:18:02 +0000
commit9067afb3f8bce172638d12a6f926ab82547590e6 (patch)
treefa13c48c4ed98564fbcee7220e7c1b76b4fbfefe /Master/texmf-dist/tex/latex
parent8d113437aa8a3fae9dc8603507fa4aa9f64c5517 (diff)
l3 (24aug18)
git-svn-id: svn://tug.org/texlive/trunk@48476 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty177
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex297
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty12
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty2
25 files changed, 407 insertions, 157 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 2c6a256c808..e7c603173c5 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,7 +20,7 @@
%%
%% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2018-05-12}{}
+\ProvidesExplPackage{l3color}{2018-08-24}{}
{L3 Experimental color support}
\tl_new:N \l__color_tmp_tl
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
@@ -48,7 +48,7 @@
\cs_generate_variant:Nn \__color_convert:nnN { VV }
\cs_new_protected:Npn \__color_convert:nnnN #1#2#3#4
{
- \str_if_eq_x:nnT {#1} { spot } % TO DO!!!
+ \str_if_eq:nnT {#1} { spot } % TO DO!!!
{ }
\tl_set:Nx #4
{ \use:c { __color_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \q_stop }
@@ -160,7 +160,7 @@
\__color_extract:nNN {#2} \l__color_next_model_tl \l__color_next_value_tl
\tl_if_eq:NNF \l__color_model_tl \l__color_next_model_tl
{
- \str_if_eq_x:nnT { \l__color_model_tl } { gray }
+ \str_if_eq:VnT \l__color_model_tl { gray }
{
\use:x
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index a10b21221ac..677b39d1f7a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -27,7 +27,7 @@
%%
%% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2018-05-12}{}
+\ProvidesExplPackage{l3draw}{2018-08-24}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
%% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project
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 e56a46d4da1..2ef2e02ede2 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-convert}{2018-05-12}{}
+\ProvidesExplPackage{l3str-convert}{2018-08-24}{}
{L3 Experimental string encoding conversions}
\cs_if_exist:NF \use_ii_i:nn
{ \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
index 83f53a20f49..a6d0b4297cd 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
@@ -118,10 +118,10 @@
}
\cs_new_protected:Npn \__str_decode_utf_xvi_bom:NN #1#2
{
- \str_if_eq_x:nnTF { #1#2 } { ^^ff ^^fe }
+ \str_if_eq:nnTF { #1#2 } { ^^ff ^^fe }
{ \__str_decode_utf_xvi:Nw 2 }
{
- \str_if_eq_x:nnTF { #1#2 } { ^^fe ^^ff }
+ \str_if_eq:nnTF { #1#2 } { ^^fe ^^ff }
{ \__str_decode_utf_xvi:Nw 1 }
{ \__str_decode_utf_xvi:Nw 1 #1#2 }
}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
index 992ee7ce19a..ee3840d6686 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
@@ -94,10 +94,10 @@
}
\cs_new_protected:Npn \__str_decode_utf_xxxii_bom:NNNN #1#2#3#4
{
- \str_if_eq_x:nnTF { #1#2#3#4 } { ^^ff ^^fe ^^00 ^^00 }
+ \str_if_eq:nnTF { #1#2#3#4 } { ^^ff ^^fe ^^00 ^^00 }
{ \__str_decode_utf_xxxii:Nw 2 }
{
- \str_if_eq_x:nnTF { #1#2#3#4 } { ^^00 ^^00 ^^fe ^^ff }
+ \str_if_eq:nnTF { #1#2#3#4 } { ^^00 ^^00 ^^fe ^^ff }
{ \__str_decode_utf_xxxii:Nw 1 }
{ \__str_decode_utf_xxxii:Nw 1 #1#2#3#4 }
}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
index d290b2f0f91..d5397540d78 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
@@ -70,7 +70,7 @@
{ \__str_unescape_string_repeat:NNNNNN ?? }
}
{
- \str_case_x:nnF {#2}
+ \str_case_e:nnF {#2}
{
{ \c_backslash_str } { 134 }
{ ( } { 50 }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index ddb42af9343..e19591cfe6b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2018-05-12}{}
+\ProvidesExplPackage{l3str-format}{2018-08-24}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
new file mode 100644
index 00000000000..b3c0cb8095a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -0,0 +1,177 @@
+%%
+%% This is file `l3sys-shell.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% l3sys-shell.dtx (with options: `package')
+%%
+%% Copyright (C) 2018 The LaTeX3 Project
+%%
+%% It may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License (LPPL), either version 1.3c of
+%% this license or (at your option) any later version. The latest
+%% version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "l3experimental bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project
+\RequirePackage{expl3}
+\ProvidesExplPackage{l3sys-shell}{2018-08-24}{}
+ {L3 Experimental system shell functions}
+\cs_new:Npn \__sys_path_to_win:n #1
+ {
+ \exp_after:wN \__sys_path_to_win:w \tl_to_str:n {#1} ~ \q_stop
+ }
+\cs_new:Npn \__sys_path_to_win:w #1 ~ #2 \q_stop
+ {
+ \__sys_path_to_win:N #1 \q_nil
+ \tl_if_empty:nF {#2}
+ {
+ \c_space_tl
+ \__sys_path_to_win:w #2 \q_stop
+ }
+ }
+\cs_new:Npn \__sys_path_to_win:N #1
+ {
+ \quark_if_nil:NF #1
+ {
+ \token_if_eq_meaning:NNTF #1 /
+ { \c_backslash_str }
+ {#1}
+ \__sys_path_to_win:N
+ }
+ }
+\cs_new_protected:Npx \sys_shell_cp:nn #1#2
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \sys_shell_now:x
+ {
+ \sys_if_platform_unix:T
+ {
+ cp~-f~ \exp_not:N \tl_to_str:n {#1} ~
+ \exp_not:N \tl_to_str:n {#2}
+ }
+ \sys_if_platform_windows:T
+ {
+ copy~/y~ \exp_not:N \__sys_path_to_win:n {#1} ~
+ \exp_not:N \__sys_path_to_win:n {#2}
+ }
+ }
+ }
+ }
+\cs_new_protected:Npx \sys_shell_mkdir:n #1
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \sys_shell_now:x
+ {
+ \sys_if_platform_unix:T
+ { mkdir~-p~ \exp_not:N \tl_to_str:n {#1} }
+ \sys_if_platform_windows:T
+ {
+ if~not~exist~
+ \exp_not:N \__sys_path_to_win:n { #1 / nul } ~
+ mkdir~ \exp_not:N \__sys_path_to_win:n {#1}
+ }
+ }
+ }
+ }
+\cs_new_protected:Npx \sys_shell_mv:nn #1#2
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \sys_shell_now:x
+ {
+ \sys_if_platform_unix:T
+ {
+ mv~ \exp_not:N \tl_to_str:n {#1} ~
+ \exp_not:N \tl_to_str:n {#2}
+ }
+ \sys_if_platform_windows:T
+ {
+ copy~/y~ \exp_not:N \__sys_path_to_win:n {#1} ~
+ \exp_not:N \__sys_path_to_win:n {#2}
+ \token_to_str:N & \token_to_str:N &
+ del~/f~/q~\exp_not:N \__sys_path_to_win:n {#1}
+ }
+ }
+ }
+ }
+\cs_new_protected:Npx \sys_shell_rm:n #1
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \sys_shell_now:x
+ {
+ \sys_if_platform_unix:T
+ { rm~-f~ \exp_not:N \tl_to_str:n {#1} }
+ \sys_if_platform_windows:T
+ { del~/f~/q~ \exp_not:N \__sys_path_to_win:n {#1} }
+ }
+ }
+ }
+\cs_new_protected:Npx \sys_shell_rmdir:n #1
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \sys_shell_mkdir:n {#1}
+ \sys_shell_now:x
+ {
+ \sys_if_platform_unix:T
+ { rm~-rf~ \exp_not:N \tl_to_str:n {#1} }
+ \sys_if_platform_windows:T
+ { rmdir~/s~/q~ \exp_not:N \__sys_path_to_win:n {#1} }
+ }
+ }
+ }
+\tl_new:N \l__sys_tmp_tl
+\cs_new_protected:Npx \sys_shell_get_pwd:N #1
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \exp_not:N \tl_set_from_shell:Nnn \exp_not:N \l__sys_tmp_tl
+ {
+ \char_set_catcode_other:N \exp_not:N \\
+ \char_set_catcode_other:N \exp_not:N \#
+ \char_set_catcode_other:N \exp_not:N \~
+ \char_set_catcode_other:N \exp_not:N \%
+ \char_set_catcode_space:N \exp_not:N \ %
+ }
+ {
+ \sys_if_platform_unix:T { pwd }
+ \sys_if_platform_windows:T { cd }
+ }
+ \str_set:NV #1 \exp_not:N \l__sys_tmp_tl
+ }
+ }
+\cs_new_protected:Npx \sys_shell_split_ls:nN #1#2
+ {
+ \sys_if_shell_unrestricted:T
+ {
+ \exp_not:N \tl_set_from_shell:Nnn \exp_not:N \l__sys_tmp_tl
+ {
+ \ExplSyntaxOff
+ \char_set_catcode_other:N \exp_not:N \\
+ \char_set_catcode_other:N \exp_not:N \#
+ \char_set_catcode_other:N \exp_not:N \~
+ \char_set_catcode_other:N \exp_not:N \%
+ \char_set_catcode_other:n { 13 }
+ }
+ {
+ \sys_if_platform_unix:T { ls~-1~ #1 }
+ \sys_if_platform_windows:T { dir~/b~ #1 }
+ }
+ \str_set:NV \exp_not:N \l__sys_tmp_tl \exp_not:N \l__sys_tmp_tl
+ \seq_set_split:NnV #2 { \char_generate:nn { `\^^M } { 12 } }
+ \exp_not:N \l__sys_tmp_tl
+ \seq_pop_right:NN #2 \exp_not:N \l__sys_tmp_tl
+ }
+ }
+%%
+%%
+%% End of file `l3sys-shell.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index 7dc752d1b07..54b8bf8e409 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2018-05-12}{}
+\ProvidesExplPackage{xcoffins}{2018-08-24}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 8842c475e02..e5faec167c8 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -33,7 +33,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2018-05-12}{}
+\ProvidesExplPackage{l3galley}{2018-08-24}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
@@ -213,7 +213,7 @@
}
\cs_new_protected:Npn \__galley_par_aux:N #1
{
- \str_if_eq_x:nnF {#1} { \s__galley_par_omit }
+ \str_if_eq:nnF {#1} { \s__galley_par_omit }
{
\__galley_par_auxii:
#1
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index aa605b1bfc0..67b147bcc75 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -21,7 +21,7 @@
%% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach
%% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2018-05-12}{}
+\ProvidesExplPackage{xgalley}{2018-08-24}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index b07a1cf252b..ee3ce0a28f8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -63,7 +63,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-06-14}%
+\def\ExplFileDate{2018-08-23}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -225,7 +225,7 @@
}>0 %
\everyjob\expandafter{%
\the\expandafter\everyjob
- \csname\detokenize{lua_now_x:n}\endcsname{require("expl3")}%
+ \csname\detokenize{lua_now:n}\endcsname{require("expl3")}%
}%
\fi
\fi
@@ -2172,7 +2172,10 @@
\cs_set_nopar:Npx \l__exp_internal_tl {#1}
\l__exp_internal_tl
}
-\cs_set:Npn \use_x:n #1 { \tex_expanded:D {#1} }
+\cs_set:Npn \use:e #1 { \tex_expanded:D {#1} }
+\tex_ifdefined:D \tex_expanded:D \tex_else:D
+ \cs_set:Npn \use:e #1 { \exp_args:Ne \use:n {#1} }
+\tex_fi:D
\cs_set:Npn \use:n #1 {#1}
\cs_set:Npn \use:nn #1#2 {#1#2}
\cs_set:Npn \use:nnn #1#2#3 {#1#2#3}
@@ -3018,7 +3021,7 @@
{
\bool_if:NTF #3
{
- \str_if_eq_x:nnF { }
+ \str_if_eq:eeF { }
{ \tl_map_function:nN {#2} \__cs_generate_from_signature:n }
{
\__kernel_msg_error:nnx { kernel } { non-base-function }
@@ -5018,7 +5021,7 @@
\exp_not:c { tl_ #1 :Nx } ##1
{ \exp_not:N \tl_to_str:n {##2} }
}
- \cs_generate_variant:cn { str_ #1 :Nn } { Nx , cn , cx }
+ \cs_generate_variant:cn { str_ #1 :Nn } { NV , Nx , cn , cV , cx }
\__str_tmp:n
}
}
@@ -5092,46 +5095,46 @@
{ p , T , F , TF }
\prg_new_eq_conditional:NNn \str_if_empty:c \tl_if_empty:c
{ p , T , F , TF }
-\cs_new:Npn \__str_if_eq_x:nn #1#2 { \tex_strcmp:D {#1} {#2} }
+\cs_new:Npn \__str_if_eq:nn #1#2 { \tex_strcmp:D {#1} {#2} }
\cs_if_exist:NT \tex_luatexversion:D
{
- \cs_set_eq:NN \lua_escape_x:n \tex_luaescapestring:D
- \cs_set_eq:NN \lua_now_x:n \tex_directlua:D
- \cs_set:Npn \__str_if_eq_x:nn #1#2
+ \cs_set_eq:NN \lua_escape:e \tex_luaescapestring:D
+ \cs_set_eq:NN \lua_now:e \tex_directlua:D
+ \cs_set:Npn \__str_if_eq:nn #1#2
{
- \lua_now_x:n
+ \lua_now:e
{
l3kernel.strcmp
(
- " \__str_escape_x:n {#1} " ,
- " \__str_escape_x:n {#2} "
+ " \__str_escape:n {#1} " ,
+ " \__str_escape:n {#2} "
)
}
}
- \cs_new:Npn \__str_escape_x:n #1
+ \cs_new:Npn \__str_escape:n #1
{
- \lua_escape_x:n
- { \__kernel_tl_to_str:w \use_x:n { {#1} } }
+ \lua_escape:e
+ { \__kernel_tl_to_str:w \use:e { {#1} } }
}
}
\prg_new_conditional:Npnn \str_if_eq:nn #1#2 { p , T , F , TF }
{
\if_int_compare:w
- \__str_if_eq_x:nn { \exp_not:n {#1} } { \exp_not:n {#2} }
+ \__str_if_eq:nn { \exp_not:n {#1} } { \exp_not:n {#2} }
= 0 \exp_stop_f:
\prg_return_true: \else: \prg_return_false: \fi:
}
\prg_generate_conditional_variant:Nnn \str_if_eq:nn
- { V , o , nV , no , VV } { p , T , F , TF }
-\prg_new_conditional:Npnn \str_if_eq_x:nn #1#2 { p , T , F , TF }
+ { V , v , o , nV , no , VV , nv } { p , T , F , TF }
+\prg_new_conditional:Npnn \str_if_eq:ee #1#2 { p , T , F , TF }
{
- \if_int_compare:w \__str_if_eq_x:nn {#1} {#2} = 0 \exp_stop_f:
+ \if_int_compare:w \__str_if_eq:nn {#1} {#2} = 0 \exp_stop_f:
\prg_return_true: \else: \prg_return_false: \fi:
}
\prg_new_conditional:Npnn \str_if_eq:NN #1#2 { p , TF , T , F }
{
\if_int_compare:w
- \__str_if_eq_x:nn { \tl_to_str:N #1 } { \tl_to_str:N #2 }
+ \__str_if_eq:nn { \tl_to_str:N #1 } { \tl_to_str:N #2 }
= 0 \exp_stop_f: \prg_return_true: \else: \prg_return_false: \fi:
}
\prg_generate_conditional_variant:Nnn \str_if_eq:NN
@@ -5181,33 +5184,33 @@
{ \__str_case_end:nw {#3} }
{ \__str_case:nw {#1} }
}
-\cs_new:Npn \str_case_x:nn #1#2
+\cs_new:Npn \str_case_e:nn #1#2
{
\exp:w
- \__str_case_x:nnTF {#1} {#2} { } { }
+ \__str_case_e:nnTF {#1} {#2} { } { }
}
-\cs_new:Npn \str_case_x:nnT #1#2#3
+\cs_new:Npn \str_case_e:nnT #1#2#3
{
\exp:w
- \__str_case_x:nnTF {#1} {#2} {#3} { }
+ \__str_case_e:nnTF {#1} {#2} {#3} { }
}
-\cs_new:Npn \str_case_x:nnF #1#2
+\cs_new:Npn \str_case_e:nnF #1#2
{
\exp:w
- \__str_case_x:nnTF {#1} {#2} { }
+ \__str_case_e:nnTF {#1} {#2} { }
}
-\cs_new:Npn \str_case_x:nnTF #1#2
+\cs_new:Npn \str_case_e:nnTF #1#2
{
\exp:w
- \__str_case_x:nnTF {#1} {#2}
+ \__str_case_e:nnTF {#1} {#2}
}
-\cs_new:Npn \__str_case_x:nnTF #1#2#3#4
- { \__str_case_x:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop }
-\cs_new:Npn \__str_case_x:nw #1#2#3
+\cs_new:Npn \__str_case_e:nnTF #1#2#3#4
+ { \__str_case_e:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop }
+\cs_new:Npn \__str_case_e:nw #1#2#3
{
- \str_if_eq_x:nnTF {#1} {#2}
+ \str_if_eq:eeTF {#1} {#2}
{ \__str_case_end:nw {#3} }
- { \__str_case_x:nw {#1} }
+ { \__str_case_e:nw {#1} }
}
\cs_new:Npn \__str_case_end:nw #1#2#3 \q_mark #4#5 \q_stop
{ \exp_end: #1 #4 }
@@ -5611,6 +5614,22 @@
\cs_new_eq:NN \str_show:n \tl_show:n
\cs_new_eq:NN \str_show:N \tl_show:N
\cs_generate_variant:Nn \str_show:N { c }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_case_e:nn }
+\cs_new:Npn \str_case_x:nn { \str_case_e:nn }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_case_e:nnT }
+\cs_new:Npn \str_case_x:nnT { \str_case_e:nnT }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_case_e:nnF }
+\cs_new:Npn \str_case_x:nnF { \str_case_e:nnF }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_case_e:nnTF }
+\cs_new:Npn \str_case_x:nnTF { \str_case_e:nnTF }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_if_eq_p:ee }
+\cs_new:Npn \str_if_eq_x_p:nn { \str_if_eq_p:ee }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_if_eq:eeT }
+\cs_new:Npn \str_if_eq_x:nnT { \str_if_eq:eeT }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_if_eq:eeF }
+\cs_new:Npn \str_if_eq_x:nnF { \str_if_eq:eeF }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_if_eq:eeTF }
+\cs_new:Npn \str_if_eq_x:nnTF { \str_if_eq:eeTF }
%% File: l3quark.dtx Copyright (C) 1990-2018 The LaTeX3 Project
\__kernel_patch:nnNNpn { \__kernel_chk_var_scope:NN q #1 } { }
\cs_new_protected:Npn \quark_new:N #1
@@ -7610,7 +7629,7 @@
\tl_map_inline:nn { { luatex } { pdftex } { ptex } { uptex } { xetex } }
{
\__sys_const:nn { sys_if_engine_ #1 }
- { \str_if_eq_x_p:nn \c_sys_engine_str {#1} }
+ { \str_if_eq_p:Vn \c_sys_engine_str {#1} }
}
\str_const:Nx \c_sys_output_str
{
@@ -7620,9 +7639,9 @@
{ dvi }
}
\__sys_const:nn { sys_if_output_dvi }
- { \str_if_eq_x_p:nn \c_sys_output_str { dvi } }
+ { \str_if_eq_p:Vn \c_sys_output_str { dvi } }
\__sys_const:nn { sys_if_output_pdf }
- { \str_if_eq_x_p:nn \c_sys_output_str { pdf } }
+ { \str_if_eq_p:Vn \c_sys_output_str { pdf } }
\__sys_const:nn { sys_if_rand_exist }
{ \cs_if_exist_p:N \tex_uniformdeviate:D }
%% File: l3clist.dtx Copyright (C) 2004-2011 Frank Mittelbach,
@@ -8373,7 +8392,7 @@
{
#3
\exp_after:wN \exp_after:wN \exp_after:wN \exp_end:
- \lua_now_x:n { l3kernel.charcat(#1, #2) }
+ \lua_now:e { l3kernel.charcat(#1, #2) }
}
}
{
@@ -8567,7 +8586,7 @@
##1 \tl_to_str:n { ma } ##2 \c_colon_str ##3 \exp_not:N \q_stop
}
{
- \str_if_eq_x:nnTF { #2 } { cro }
+ \str_if_eq:nnTF { #2 } { cro }
{ \prg_return_true: }
{ \prg_return_false: }
}
@@ -8623,7 +8642,7 @@
\exp_not:N \prg_return_false:
\exp_not:N \else:
}
- \exp_not:N \str_if_eq_x:nnTF
+ \exp_not:N \str_if_eq:eeTF
{
\exp_not:N \exp_after:wN
\exp_not:c { __token_delimit_by_ #2 :w }
@@ -9065,7 +9084,7 @@
}
\cs_new:Npn \__prop_item_Nn:nwwn #1#2 \__prop_pair:wn #3 \s__prop #4
{
- \str_if_eq_x:nnTF {#1} {#3}
+ \str_if_eq:eeTF {#1} {#3}
{ \prg_break:n { \exp_not:n {#4} } }
{ \__prop_item_Nn:nwwn {#1} }
}
@@ -9150,7 +9169,7 @@
}
\cs_new:Npn \__prop_if_in:nwwn #1#2 \__prop_pair:wn #3 \s__prop #4
{
- \str_if_eq_x:nnTF {#1} {#3}
+ \str_if_eq:eeTF {#1} {#3}
{ \__prop_if_in:N }
{ \__prop_if_in:nwwn {#1} }
}
@@ -9671,7 +9690,7 @@
\seq_put_right:Nn \l__msg_class_loop_seq {#1}
\prop_get:cnNT { l__msg_redirect_ #1 _prop } {#3} \l__msg_class_tl
{
- \str_if_eq_x:nnF { \l__msg_class_tl } {#1}
+ \str_if_eq:VnF \l__msg_class_tl {#1}
{
\tl_if_eq:NNTF \l__msg_class_tl \l__msg_current_class_tl
{
@@ -11407,7 +11426,7 @@
\cs_generate_variant:Nn \skip_gsub:Nn { c }
\prg_new_conditional:Npnn \skip_if_eq:nn #1#2 { p , T , F , TF }
{
- \str_if_eq_x:nnTF { \skip_eval:n { #1 } } { \skip_eval:n { #2 } }
+ \str_if_eq:eeTF { \skip_eval:n { #1 } } { \skip_eval:n { #2 } }
{ \prg_return_true: }
{ \prg_return_false: }
}
@@ -11868,11 +11887,8 @@
\cs_if_exist:cTF
{ \c__keys_type_root_tl \__keys_parent:o \l_keys_path_tl }
{
- \str_if_eq_x:nnTF
- {
- \exp_not:v
- { \c__keys_type_root_tl \__keys_parent:o \l_keys_path_tl }
- }
+ \str_if_eq:vnTF
+ { \c__keys_type_root_tl \__keys_parent:o \l_keys_path_tl }
{ choice }
{
\__kernel_msg_error:nnxx { kernel } { nested-choice-key }
@@ -13117,10 +13133,10 @@
#2
\s__fp_mark { #3 #1 } #4
}
-\cs_new:Npn \__fp_str_if_eq_x:nn #1#2 { \tex_strcmp:D {#1} {#2} }
+\cs_new:Npn \__fp_str_if_eq:nn #1#2 { \tex_strcmp:D {#1} {#2} }
\sys_if_engine_luatex:T
{
- \cs_set:Npn \__fp_str_if_eq_x:nn #1#2
+ \cs_set:Npn \__fp_str_if_eq:nn #1#2
{
\tex_directlua:D
{
@@ -14210,7 +14226,7 @@
\if_catcode:w \scan_stop: \exp_not:N #1
\if_meaning:w \scan_stop: #1
\if_int_compare:w
- \__fp_str_if_eq_x:nn { \s__fp } { \exp_not:N #1 }
+ \__fp_str_if_eq:nn { \s__fp } { \exp_not:N #1 }
= 0 \exp_stop_f:
0
\__kernel_msg_expandable_error:nnn
@@ -14224,7 +14240,7 @@
\fi:
\else:
\if_int_compare:w
- \__fp_str_if_eq_x:nn { \int_value:w #1 } { \tex_the:D #1 }
+ \__fp_str_if_eq:nn { \int_value:w #1 } { \tex_the:D #1 }
= 0 \exp_stop_f:
\int_value:w #1
\else:
@@ -14512,7 +14528,7 @@
{
\if_catcode:w \scan_stop: \exp_not:N #2
\if_int_compare:w
- \__fp_str_if_eq_x:nn { \s__fp_mark } { \exp_not:N #2 }
+ \__fp_str_if_eq:nn { \s__fp_mark } { \exp_not:N #2 }
= 0 \exp_stop_f:
\exp_after:wN \exp_after:wN
\exp_after:wN \__fp_parse_infix_mark:NNN
@@ -17125,7 +17141,7 @@
\cs_new:Npn \__fp_pow_normal_o:ww
\s__fp \__fp_chk:w 1 #1#2#3; \s__fp \__fp_chk:w #4#5
{
- \if_int_compare:w \__fp_str_if_eq_x:nn { #2 #3 }
+ \if_int_compare:w \__fp_str_if_eq:nn { #2 #3 }
{ 1 {1000} {0000} {0000} {0000} } = 0 \exp_stop_f:
\if_int_compare:w #4 #1 = 32 \exp_stop_f:
\exp_after:wN \__fp_case_return_ii_o:ww
@@ -20145,7 +20161,7 @@
}
\cs_new:Npn \__regex_escape_x_test:N #1
{
- \str_if_eq_x:nnTF {#1} { break } { ; }
+ \str_if_eq:nnTF {#1} { break } { ; }
{
\if_charcode:w \c_space_token #1
\exp_after:wN \__regex_escape_x_test:N
@@ -20167,7 +20183,7 @@
}
\cs_new:Npn \__regex_escape_x:N #1
{
- \str_if_eq_x:nnTF {#1} { break } { ; }
+ \str_if_eq:nnTF {#1} { break } { ; }
{
\__regex_hexadecimal_use:NTF #1
{ ; \__regex_escape_loop:N }
@@ -20176,7 +20192,7 @@
}
\cs_new:Npn \__regex_escape_x_loop:N #1
{
- \str_if_eq_x:nnTF {#1} { break }
+ \str_if_eq:nnTF {#1} { break }
{ ; \__regex_escape_x_loop_error:n { } {#1} }
{
\__regex_hexadecimal_use:NTF #1
@@ -20550,7 +20566,7 @@
}
\cs_new_protected:Npn \__regex_compile_quantifier_braced_auxi:w #1#2
{
- \str_case_x:nnF { #1 #2 }
+ \str_case_e:nnF { #1 #2 }
{
{ \__regex_compile_special:N \c_right_brace_str }
{
@@ -22865,7 +22881,7 @@
{ Missing~right~brace~inserted~for~'\iow_char:N\\u'~escape. }
{
LaTeX~
- \str_if_eq_x:nnTF { } {#2}
+ \str_if_eq:eeTF { } {#2}
{ reached~the~end~of~the~string~ }
{ encountered~an~escaped~alphanumeric~character '\iow_char:N\\#2'~ }
when~parsing~the~argument~of~an~
@@ -22995,7 +23011,7 @@
}
\cs_new:Npn \__regex_msg_repeated:nnN #1#2#3
{
- \str_if_eq_x:nnF { #1 #2 } { 1 0 }
+ \str_if_eq:eeF { #1 #2 } { 1 0 }
{
, ~ repeated ~
\int_case:nnF {#2}
@@ -23421,7 +23437,7 @@
{ \l__box_right_new_dim - \l__box_left_new_dim }
\box_use_drop:N \l__box_internal_box
}
-\cs_new_protected:Npn \__box_rotate_x:nnN #1#2#3
+\cs_new_protected:Npn \__box_rotate_xdir:nnN #1#2#3
{
\dim_set:Nn #3
{
@@ -23432,7 +23448,7 @@
}
}
}
-\cs_new_protected:Npn \__box_rotate_y:nnN #1#2#3
+\cs_new_protected:Npn \__box_rotate_ydir:nnN #1#2#3
{
\dim_set:Nn #3
{
@@ -23445,46 +23461,46 @@
}
\cs_new_protected:Npn \__box_rotate_quadrant_one:
{
- \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
+ \__box_rotate_ydir:nnN \l__box_right_dim \l__box_top_dim
\l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
+ \__box_rotate_ydir:nnN \l__box_left_dim \l__box_bottom_dim
\l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
+ \__box_rotate_xdir:nnN \l__box_left_dim \l__box_top_dim
\l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
+ \__box_rotate_xdir:nnN \l__box_right_dim \l__box_bottom_dim
\l__box_right_new_dim
}
\cs_new_protected:Npn \__box_rotate_quadrant_two:
{
- \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
+ \__box_rotate_ydir:nnN \l__box_right_dim \l__box_bottom_dim
\l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
+ \__box_rotate_ydir:nnN \l__box_left_dim \l__box_top_dim
\l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
+ \__box_rotate_xdir:nnN \l__box_right_dim \l__box_top_dim
\l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
+ \__box_rotate_xdir:nnN \l__box_left_dim \l__box_bottom_dim
\l__box_right_new_dim
}
\cs_new_protected:Npn \__box_rotate_quadrant_three:
{
- \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
+ \__box_rotate_ydir:nnN \l__box_left_dim \l__box_bottom_dim
\l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
+ \__box_rotate_ydir:nnN \l__box_right_dim \l__box_top_dim
\l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
+ \__box_rotate_xdir:nnN \l__box_right_dim \l__box_bottom_dim
\l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
+ \__box_rotate_xdir:nnN \l__box_left_dim \l__box_top_dim
\l__box_right_new_dim
}
\cs_new_protected:Npn \__box_rotate_quadrant_four:
{
- \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
+ \__box_rotate_ydir:nnN \l__box_left_dim \l__box_top_dim
\l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
+ \__box_rotate_ydir:nnN \l__box_right_dim \l__box_bottom_dim
\l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
+ \__box_rotate_xdir:nnN \l__box_left_dim \l__box_bottom_dim
\l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
+ \__box_rotate_xdir:nnN \l__box_right_dim \l__box_top_dim
\l__box_right_new_dim
}
\fp_new:N \l__box_scale_x_fp
@@ -24533,25 +24549,24 @@
Poles~of~coffin~#1 : #3 .
}
%% File: l3luatex.dtx Copyright (C) 2010-2018 The LaTeX3 Project
-\cs_new_eq:NN \__luatex_escape_x:n \tex_luaescapestring:D
-\cs_new_eq:NN \__luatex_now_x:n \tex_directlua:D
-\cs_new_eq:NN \__luatex_shipout_x:n \tex_latelua:D
-\cs_undefine:N \lua_escape_x:n
-\cs_undefine:N \lua_now_x:n
-\cs_new:Npn \lua_now_x:n #1 { \__luatex_now_x:n {#1} }
-\cs_new:Npn \lua_now:n #1 { \lua_now_x:n { \exp_not:n {#1} } }
-\cs_new_protected:Npn \lua_shipout_x:n #1 { \__luatex_shiphout_x:n {#1} }
+\cs_new_eq:NN \__lua_escape:n \tex_luaescapestring:D
+\cs_new_eq:NN \__lua_now:n \tex_directlua:D
+\cs_new_eq:NN \__lua_shipout:n \tex_latelua:D
+\cs_undefine:N \lua_escape:e
+\cs_undefine:N \lua_now:e
+\cs_new:Npn \lua_now:e #1 { \__lua_now:n {#1} }
+\cs_new:Npn \lua_now:n #1 { \lua_now:e { \exp_not:n {#1} } }
+\cs_new_protected:Npn \lua_shipout_e:n #1 { \__lua_shiphout:n {#1} }
\cs_new_protected:Npn \lua_shipout:n #1
- { \lua_shipout_x:n { \exp_not:n {#1} } }
-\cs_new:Npn \lua_escape_x:n #1 { \__luatex_escape_x:n {#1} }
-\cs_new:Npn \lua_escape:n #1 { \lua_escape_x:n { \exp_not:n {#1} } }
+ { \lua_shipout_e:n { \exp_not:n {#1} } }
+\cs_new:Npn \lua_escape:e #1 { \__lua_escape:n {#1} }
+\cs_new:Npn \lua_escape:n #1 { \lua_escape:e { \exp_not:n {#1} } }
\sys_if_engine_luatex:F
{
\clist_map_inline:nn
{
- \use_x:n ,
- \lua_escape_x:n , \lua_escape:n ,
- \lua_now_x:n , \lua_now:n
+ \lua_escape:n , \lua_escape:e ,
+ \lua_now:n , \lua_now:e
}
{
\cs_set:Npn #1 ##1
@@ -24561,7 +24576,7 @@
}
}
\clist_map_inline:nn
- { \lua_shipout_x:n , \lua_shipout:n }
+ { \lua_shipout_e:n , \lua_shipout:n }
{
\cs_set_protected:Npn #1 ##1
{
@@ -24576,6 +24591,12 @@
The~feature~you~are~using~is~only~available~
with~the~LuaTeX~engine.~LaTeX3~ignored~'#1'.
}
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \lua_now:e }
+\cs_new:Npn \lua_now_x:n #1 { \__lua_now:n {#1} }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \lua_escape:e }
+\cs_new:Npn \lua_escape_x:n #1 { \__lua_escape:n {#1} }
+\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \lua_shipout_e:n }
+\cs_new_protected:Npn \lua_shipout_x:n #1 { \__lua_shipout:n {#1} }
%% File: l3unicode.dtx Copyright (C) 2018 The LaTeX3 Project
\ior_new:N \g__char_data_ior
\bool_lazy_or:nnTF { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: }
@@ -24648,7 +24669,7 @@
{
\tl_if_blank:nF {#1}
{
- \str_if_eq_x:nnF { \tl_head:n {#1} } { \c_hash_str }
+ \str_if_eq:eeF { \tl_head:n {#1} } { \c_hash_str }
{ \__char_data_auxi:w #1 \q_stop }
}
}
@@ -24685,9 +24706,9 @@
{
\tl_if_blank:nF {#1}
{
- \str_if_eq_x:nnTF { \tl_head:n {#1} } { \c_hash_str }
+ \str_if_eq:eeTF { \tl_head:n {#1} } { \c_hash_str }
{
- \str_if_eq_x:nnT
+ \str_if_eq:eeT
{#1}
{ \c_hash_str \c_space_tl Conditional~Mappings }
{ \ior_map_break: }
@@ -25097,10 +25118,10 @@
\file_get_full_name:nN {#1} \l__file_full_name_str
\str_set:Nx #3
{
- \lua_now_x:n
+ \lua_now:e
{
l3kernel.file#2
- ( " \lua_escape_x:n { \l__file_full_name_str } " )
+ ( " \lua_escape:e { \l__file_full_name_str } " )
}
}
}
@@ -25510,6 +25531,29 @@
\tex_shellescape:D
}
}
+\sys_if_engine_luatex:TF
+ {
+ \str_const:Nx \c_sys_platform_str
+ { \lua_now:n { tex.print(os.type) } }
+ }
+ {
+ \file_if_exist:nTF { nul: }
+ {
+ \file_if_exist:nF { /dev/null }
+ { \str_const:Nn \c_sys_platform_str { windows } }
+ }
+ {
+ \file_if_exist:nT { /dev/null }
+ { \str_const:Nn \c_sys_platform_str { unix } }
+ }
+ }
+\cs_if_exist:NF \c_sys_platform_str
+ { \str_const:Nn \c_sys_platform_str { unknown } }
+\clist_map_inline:nn { unix , windows }
+ {
+ \__sys_const:nn { sys_if_platform_ #1 }
+ { \str_if_eq_p:Vn \c_sys_platform_str { #1 } }
+ }
\__sys_const:nn { sys_if_shell }
{ \int_compare_p:nNn \c_sys_shell_escape_int > 0 }
\__sys_const:nn { sys_if_shell_unrestricted }
@@ -25522,8 +25566,8 @@
{
\cs_new_protected:Npn \sys_shell_now:n #1
{
- \lua_now_x:n
- { os.execute(" \lua_escape_x:n { \tl_to_str:n {#1} } ") }
+ \lua_now:e
+ { os.execute(" \lua_escape:e { \tl_to_str:n {#1} } ") }
}
}
{
@@ -25535,8 +25579,8 @@
{
\cs_new_protected:Npn \sys_shell_shipout:n #1
{
- \lua_shipout_x:n
- { os.execute(" \lua_escape_x:n { \tl_to_str:n {#1} } ") }
+ \lua_shipout_e:n
+ { os.execute(" \lua_escape:e { \tl_to_str:n {#1} } ") }
}
}
{
@@ -25610,21 +25654,27 @@
\str_if_empty:NTF \l__tl_file_name_str
{ \__kernel_file_missing:n {#4} }
{
- \group_begin:
- \exp_args:No \tex_everyeof:D
- { \c__tl_rescan_marker_tl \exp_not:N }
- #3 \scan_stop:
- \exp_after:wN \__tl_from_file_do:w
- \exp_after:wN \prg_do_nothing:
- \tex_input:D \l__tl_file_name_str \scan_stop:
- \exp_args:NNNo \group_end:
- #1 #2 \l__tl_internal_a_tl
+ \exp_args:NV \__tl_set_from:nNNn
+ \l__tl_file_name_str
+ #1 #2 {#3}
}
}
\exp_args:Nno \use:nn
{ \cs_new_protected:Npn \__tl_from_file_do:w #1 }
{ \c__tl_rescan_marker_tl }
{ \tl_set:No \l__tl_internal_a_tl {#1} }
+\cs_new_protected:Npn \__tl_set_from:nNNn #1#2#3#4
+ {
+ \group_begin:
+ \exp_args:No \tex_everyeof:D
+ { \c__tl_rescan_marker_tl \exp_not:N }
+ #4 \scan_stop:
+ \exp_after:wN \__tl_from_file_do:w
+ \exp_after:wN \prg_do_nothing:
+ \tex_input:D #1 \scan_stop:
+ \exp_args:NNNo \group_end:
+ #2 #3 \l__tl_internal_a_tl
+ }
\cs_new_protected:Npn \tl_set_from_file_x:Nnn
{ \__tl_set_from_file_x:NNnn \tl_set:Nn }
\cs_new_protected:Npn \tl_gset_from_file_x:Nnn
@@ -25647,6 +25697,29 @@
}
}
\str_new:N \l__tl_file_name_str
+\cs_new_protected:Npn \tl_set_from_shell:Nnn
+ { \__tl_set_from_shell:NNnn \tl_set:Nn }
+\cs_generate_variant:Nn \tl_set_from_shell:Nnn { c }
+\cs_new_protected:Npn \tl_gset_from_shell:Nnn
+ { \__tl_set_from_shell:NNnn \tl_gset:Nn }
+\cs_generate_variant:Nn \tl_gset_from_shell:Nnn { c }
+\cs_new_protected:Npn \__tl_set_from_shell:NNnn #1#2#3#4
+ {
+ \sys_if_shell:TF
+ {
+ \tl_set:Nn \l__tl_internal_a_tl {#4}
+ \tl_if_in:NnTF \l__tl_internal_a_tl { " }
+ {
+ \__kernel_msg_error:nnx
+ { kernel } { quote-in-shell } {#4}
+ }
+ { \__tl_set_from:nNNn { | " #4 " } #1 #2 {#3} }
+ }
+ { #1 #2 { } }
+ }
+\__kernel_msg_new:nnnn { kernel } { quote-in-shell }
+ { Quotes~in~shell~command~'#1'. }
+ { Shell~commands~cannot~contain~quotes~("). }
\cs_new:Npn \char_lower_case:N #1
{ \__char_change_case:nNN { lower } \char_value_lccode:n #1 }
\cs_new:Npn \char_upper_case:N #1
@@ -27009,7 +27082,7 @@
\__kernel_deprecation_error:Nnn \str_case:onn
{ \str_case:onF } { 2015-07-14 }
\__kernel_deprecation_error:Nnn \str_case_x:nnn
- { \str_case_x:nnF } { 2015-07-14 }
+ { \str_case_e:nnF } { 2015-07-14 }
\__kernel_deprecation_error:Nnn \tl_case:cnn
{ \tl_case:cnF } { 2015-07-14 }
\__kernel_deprecation_error:Nnn \tl_case:Nnn
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 0a797cade44..373507a4c79 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-06-14}%
+\def\ExplFileDate{2018-08-23}%
\let\ExplLoaderFileDate\ExplFileDate
\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 8c35b008653..6c3b94acfda 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
-\def\ExplFileDate{2018-06-14}%
+\def\ExplFileDate{2018-08-23}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index dce81b3df6e..3247d6f568c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -855,7 +855,7 @@
\tl_greplace_all:Nno \g__codedoc_base_name_tl
{ ~ } { \c_catcode_other_space_tl }
\seq_get:NN #1 \l__codedoc_tmpa_tl
- \str_if_eq_x:nnTF { \l__codedoc_tmpa_tl } { \scan_stop: }
+ \str_if_eq:VnTF \l__codedoc_tmpa_tl { \scan_stop: }
{
\seq_gclear:N \g__codedoc_variants_seq
\__codedoc_names_typeset_auxii:x { \g__codedoc_base_name_tl }
@@ -918,7 +918,7 @@
#1
{
\l__codedoc_tmpa_tl
- \str_if_eq_x:nnF { \l__codedoc_tmpb_tl } { \scan_stop: }
+ \str_if_eq:VnF \l__codedoc_tmpb_tl { \scan_stop: }
{ : \l__codedoc_tmpb_tl }
\bool_if:NT \l__codedoc_macro_TF_bool { TF }
}
@@ -2065,7 +2065,7 @@
\tl_if_empty:nTF {#3}
{ { } { } { } }
{
- \str_if_eq_x:nnTF {#3} { TeX }
+ \str_if_eq:nnTF {#3} { TeX }
{
{ TeX~and~LaTeX2e }
{ \string\TeX{}~and~\string\LaTeXe{} }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index dfb4dec6f0d..e4dc5a16b41 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -20,11 +20,11 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvidpfmx.def}{2018-06-14}{}
+ {l3dvidpfmx.def}{2018-08-23}{}
{L3 Experimental driver: dvipdfmx}
-\cs_new_eq:NN \__driver_literal_x:n \tex_special:D
+\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal_x:n { \exp_not:n {#1} } }
+ { \__driver_literal:e { \exp_not:n {#1} } }
\cs_generate_variant:Nn \__driver_literal:n { x }
\cs_new_protected:Npn \driver_color_pickup:N #1 { }
\AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index 7a13c44ddee..920c8628651 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -20,11 +20,11 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvips.def}{2018-06-14}{}
+ {l3dvips.def}{2018-08-23}{}
{L3 Experimental driver: dvips}
-\cs_new_eq:NN \__driver_literal_x:n \tex_special:D
+\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal_x:n { \exp_not:n {#1} } }
+ { \__driver_literal:e { \exp_not:n {#1} } }
\cs_generate_variant:Nn \__driver_literal:n { x }
\cs_new_protected:Npn \driver_color_pickup:N #1 { }
\AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
index d11ba6a2554..32d4f658f60 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
@@ -20,11 +20,11 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3dvisvgm.def}{2018-06-14}{}
+ {l3dvisvgm.def}{2018-08-23}{}
{L3 Experimental driver: dvisvgm}
-\cs_new_eq:NN \__driver_literal_x:n \tex_special:D
+\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal_x:n { \exp_not:n {#1} } }
+ { \__driver_literal:e { \exp_not:n {#1} } }
\cs_generate_variant:Nn \__driver_literal:n { x }
\cs_new_protected:Npn \driver_color_pickup:N #1 { }
\AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index f1ed2af34f8..be271f63788 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -20,11 +20,11 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3pdfmode.def}{2018-06-14}{}
+ {l3pdfmode.def}{2018-08-23}{}
{L3 Experimental driver: PDF mode}
-\cs_new_eq:NN \__driver_literal_x:n \tex_special:D
+\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal_x:n { \exp_not:n {#1} } }
+ { \__driver_literal:e { \exp_not:n {#1} } }
\cs_generate_variant:Nn \__driver_literal:n { x }
\cs_new_protected:Npn \driver_color_pickup:N #1 { }
\AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index f73a321a40f..afaabad8519 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -20,11 +20,11 @@
%%
%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
- {l3xdvidpfmx.def}{2018-06-14}{}
+ {l3xdvidpfmx.def}{2018-08-23}{}
{L3 Experimental driver: xdvipdfmx}
-\cs_new_eq:NN \__driver_literal_x:n \tex_special:D
+\cs_new_eq:NN \__driver_literal:e \tex_special:D
\cs_new_protected:Npn \__driver_literal:n #1
- { \__driver_literal_x:n { \exp_not:n {#1} } }
+ { \__driver_literal:e { \exp_not:n {#1} } }
\cs_generate_variant:Nn \__driver_literal:n { x }
\cs_new_protected:Npn \driver_color_pickup:N #1 { }
\AtBeginDocument
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index f802661268a..aea02783a52 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3keys2e}{2018-05-12}{}
+\ProvidesExplPackage{l3keys2e}{2018-08-23}{}
{LaTeX2e option processing using LaTeX3 keys}
\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
\cs_generate_variant:Nn \keys_if_exist:nnT { nx }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
index 694620c5ffd..cc364a280c1 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
@@ -33,7 +33,7 @@
\endinput
}
\RequirePackage{xparse}
-\ProvidesExplPackage{xfp}{2018-05-12}{}
+\ProvidesExplPackage{xfp}{2018-08-23}{}
{L3 Floating point unit}
\NewExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
\NewExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
index c572992f6d8..3a5e7940987 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
@@ -34,7 +34,7 @@
\endinput
}
\RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
-\ProvidesExplPackage{xfrac}{2018-05-12}{}
+\ProvidesExplPackage{xfrac}{2018-08-23}{}
{L3 Experimental split-level fractions}
\keys_define:nn { xfrac }
{
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index 6eda5ffc2e8..82ae71afa2c 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -36,7 +36,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xparse}{2018-05-12}{}
+\ProvidesExplPackage{xparse}{2018-08-23}{}
{L3 Experimental document command parser}
\tl_new:N \l__xparse_arg_spec_tl
\tl_new:N \l__xparse_args_tl
@@ -983,7 +983,7 @@
\tl_if_blank:oTF { \use_none:n ##1 }
{ \__xparse_add_arg:o { \use_none:n ##1 } }
{
- \str_if_eq_x:nnTF
+ \str_if_eq:eeTF
{ \exp_not:o { \use_none:n ##1 } }
{ { \exp_not:o { \use_ii:nnn ##1 \q_nil } } }
{ \__xparse_add_arg:o { \use_ii:nn ##1 } }
@@ -1393,7 +1393,7 @@
}
}
\cs_new_protected:Npn \__xparse_grab_v_token_if_char:NTF #1
- { \str_if_eq_x:nnTF { } { \str_tail:n {#1} } }
+ { \str_if_eq:eeTF { } { \str_tail:n {#1} } }
\cs_new_protected:Npn \__xparse_add_arg:n #1
{
\tl_put_right:Nn \l__xparse_args_tl { {#1} }
@@ -1438,7 +1438,7 @@
\tl_if_blank:oTF { \use_none:nn #1#2 }
{ \__xparse_put_arg_expandable:ow { \use_none:nn #1#2 } }
{
- \str_if_eq_x:nnTF
+ \str_if_eq:eeTF
{ \exp_not:o { \use_none:nn #1#2 } }
{ { \exp_not:o { \use_iii:nnnn #1#2 \q_nil } } }
{ \__xparse_put_arg_expandable:ow { \use_iii:nnn #1#2 } }
@@ -1479,7 +1479,7 @@
\tl_if_blank:oTF { \use_none:n #4 }
{ \__xparse_put_arg_expandable:ow { \use_none:n #4 } }
{
- \str_if_eq_x:nnTF
+ \str_if_eq:eeTF
{ \exp_not:o { \use_none:n #4 } }
{ { \exp_not:o { \use_ii:nnn #4 \q_nil } } }
{ \__xparse_put_arg_expandable:ow { \use_ii:nn #4 } }
@@ -1796,7 +1796,7 @@
}
\cs_new_protected:Npn \__xparse_cmd_if_xparse:NTF #1
{
- \exp_args:Nf \str_case_x:nnTF
+ \exp_args:Nf \str_case_e:nnTF
{
\exp_args:Nf \tl_if_empty:nT { \token_get_arg_spec:N #1 }
{
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index ee38ffd7f69..912ddd9a897 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -36,7 +36,7 @@
}%
\endinput
}
-\ProvidesExplPackage{xtemplate}{2018-05-12}{}
+\ProvidesExplPackage{xtemplate}{2018-08-23}{}
{L3 Experimental prototype document functions}
\tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ }
\tl_const:Nn \c__xtemplate_defaults_root_tl { template~defaults~>~ }