summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty77
1 files changed, 29 insertions, 48 deletions
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index 812f8863e59..b6b5fed0410 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -23,8 +23,8 @@
%% (C) Copyright 2004-2008 Frank Mittelbach,
%% The LaTeX3 Project
%% (C) Copyright 2009-2017 The LaTeX3 Project
-\RequirePackage{expl3}[2017/09/18]
-\@ifpackagelater{expl3}{2017/09/18}
+\RequirePackage{expl3}[2017/11/14]
+\@ifpackagelater{expl3}{2017/11/14}
{}
{%
\PackageError{xparse}{Support package l3kernel too old}
@@ -36,10 +36,8 @@
}%
\endinput
}
-\ProvidesExplPackage{xparse}{2017/09/18}{}
+\ProvidesExplPackage{xparse}{2017/11/14}{}
{L3 Experimental document command parser}
-\tl_const:Nx \c__xparse_no_value_tl
- { \char_generate:nn { `\- } { 11 } NoValue- }
\tl_new:N \l__xparse_arg_spec_tl
\tl_new:N \l__xparse_args_tl
\tl_new:N \l__xparse_args_i_tl
@@ -290,7 +288,7 @@
{
\exp_not:N \exp_not:n
{
- \__xparse_if_no_value:nTF {#2}
+ \tl_if_novalue:nTF {#2}
{ \exp_not:o {#3} }
{ \exp_not:n { ## #1 } }
}
@@ -309,7 +307,7 @@
\cs_new_protected:Npn \__xparse_args_process_loop:nn #1#2
{
\tl_set:Nn \ProcessedArgument {#1}
- \__xparse_if_no_value:nF {#1}
+ \tl_if_novalue:nF {#1}
{ \tl_map_function:nN {#2} \__xparse_args_process_aux:n }
\tl_put_right:No \l__xparse_args_ii_tl
{ \exp_after:wN { \ProcessedArgument } }
@@ -349,7 +347,7 @@
}
\cs_new:Npn \__xparse_end_expandable_defaults:nnw #1#2
{
- \__xparse_if_no_value:nTF {#2}
+ \tl_if_novalue:nTF {#2}
{ \exp_args:No \__xparse_end_expandable_defaults:nw {#1} }
{ \__xparse_end_expandable_defaults:nw {#2} }
}
@@ -425,7 +423,7 @@
\cs_new_protected:Npn \__xparse_normalize_type_s:w
{ \__xparse_normalize_type_t:w * }
}
-\exp_args:No \__xparse_tmp:w { \c__xparse_no_value_tl }
+\exp_args:No \__xparse_tmp:w { \c_novalue_tl }
\cs_new_protected:cpn { __xparse_normalize_type_>:w } #1#2
{
\quark_if_recursion_tail_stop_do:nn {#2} { \__xparse_bad_arg_spec:wn }
@@ -733,7 +731,7 @@
\cs_new_protected:Npn \__xparse_add_type_v:w
{
\__xparse_flush_m_args:
- \exp_args:No \__xparse_add_default:n \c__xparse_no_value_tl
+ \exp_args:No \__xparse_add_default:n \c_novalue_tl
\__xparse_add_grabber_mandatory:N v
\__xparse_prepare_signature:N
}
@@ -782,7 +780,7 @@
}
\cs_new_protected:Npn \__xparse_add_default:n #1
{
- \__xparse_if_no_value:nTF {#1}
+ \tl_if_novalue:nTF {#1}
{ \__xparse_add_default: }
{
\int_incr:N \l__xparse_current_arg_int
@@ -793,7 +791,7 @@
\cs_new_protected:Npn \__xparse_add_default:
{
\int_incr:N \l__xparse_current_arg_int
- \tl_put_right:Nn \l__xparse_defaults_tl { \c__xparse_no_value_tl }
+ \tl_put_right:Nn \l__xparse_defaults_tl { \c_novalue_tl }
}
\cs_new_protected:Npn \__xparse_add_default_E:nn #1#2
{
@@ -854,7 +852,7 @@
{ \exp_not:o \l__xparse_tmpb_tl }
{
\prg_replicate:nn { \tl_count:n {#1} }
- { { \c__xparse_no_value_tl } }
+ { { \c_novalue_tl } }
}
}
\__xparse_prepare_signature:N
@@ -952,7 +950,7 @@
\__xparse_grab_D_aux:NNnN #1#2 {#3} #4
\use:c { peek_meaning_remove #5 :NTF } #1
{ \__xparse_grab_D_call:Nw #1 }
- { \__xparse_add_arg:o \c__xparse_no_value_tl }
+ { \__xparse_add_arg:o \c_novalue_tl }
}
\cs_new_protected:Npn \__xparse_grab_D_aux:NNnN #1#2#3#4
{
@@ -1061,7 +1059,7 @@
\tl_map_inline:nn {#1}
{
\prop_get:NnNF \l__xparse_tmp_prop {####1} \l__xparse_tmpb_tl
- { \tl_set_eq:NN \l__xparse_tmpb_tl \c__xparse_no_value_tl }
+ { \tl_set_eq:NN \l__xparse_tmpb_tl \c_novalue_tl }
\tl_put_right:Nx \l__xparse_args_tl
{ { \exp_not:V \l__xparse_tmpb_tl } }
}
@@ -1100,7 +1098,7 @@
{ \__xparse_add_arg:n {##1} }
\use:c { peek_meaning #3 :NTF } \c_group_begin_token
{ \l__xparse_fn_tl }
- { \__xparse_add_arg:o \c__xparse_no_value_tl }
+ { \__xparse_add_arg:o \c_novalue_tl }
}
\cs_new_protected:Npn \__xparse_grab_l:w #1 \__xparse_run_code:
{ \__xparse_grab_l_aux:nN {#1} \cs_set_protected_nopar:Npn }
@@ -1199,7 +1197,7 @@
\__msg_kernel_error:nnxx { xparse } { missing-required }
{ \exp_after:wN \token_to_str:N \l__xparse_fn_tl }
{ \token_to_str:N #1 }
- \__xparse_add_arg:o \c__xparse_no_value_tl
+ \__xparse_add_arg:o \c_novalue_tl
}
}
\cs_new_protected:Npn \__xparse_grab_t:w
@@ -1356,14 +1354,14 @@
{ \exp_after:wN \token_to_str:N \l__xparse_fn_tl }
{ \tl_to_str:N \l__xparse_v_arg_tl }
{ \tl_to_str:n {#1} }
- \__xparse_add_arg:o \c__xparse_no_value_tl
+ \__xparse_add_arg:o \c_novalue_tl
}
{
\__msg_kernel_error:nnxxx { xparse } { verbatim-tokenized }
{ \exp_after:wN \token_to_str:N \l__xparse_fn_tl }
{ \tl_to_str:N \l__xparse_v_arg_tl }
{ \tl_to_str:n {#1} }
- \__xparse_add_arg:o \c__xparse_no_value_tl
+ \__xparse_add_arg:o \c_novalue_tl
}
}
\cs_new_protected:Npn \__xparse_grab_v_aux_put:N #1
@@ -1403,7 +1401,7 @@
{ ##4 {#1} \q__xparse ##5 ##6 {##7} }
}
}
-\exp_args:No \__xparse_tmp:w { \c__xparse_no_value_tl }
+\exp_args:No \__xparse_tmp:w { \c_novalue_tl }
\cs_new:Npn \__xparse_expandable_grab_D:NNNwNNnnn #1#2#3#4 \q__xparse #5#6#7#8#9
{
\exp_args:Nof \__xparse_expandable_grab_D:nnNNNwNN
@@ -1455,7 +1453,7 @@
{ ##3 {#1} \q__xparse ##4 ##5 {##6} }
}
}
-\exp_args:No \__xparse_tmp:w { \c__xparse_no_value_tl }
+\exp_args:No \__xparse_tmp:w { \c_novalue_tl }
\cs_new:Npn \__xparse_expandable_grab_D_alt:NNwn #1#2#3 \q__xparse #4
{
\tl_if_blank:oTF { \use_none:n #4 }
@@ -1487,7 +1485,7 @@
\quark_if_nil:NTF #4
{ \__xparse_expandable_grab_E_end:nnw {#1} {#3} }
{
- \__xparse_if_no_value:nTF {#8}
+ \tl_if_novalue:nTF {#8}
{ \str_if_eq:onTF { #4 { } #1 #5 } {#5} }
{ \use_ii:nn }
{ \__xparse_expandable_grab_E_find:w { #2 #4 #5 #6 } {#3} ~ }
@@ -1535,7 +1533,7 @@
}
}
}
-\exp_args:No \__xparse_tmp:w { \c__xparse_no_value_tl }
+\exp_args:No \__xparse_tmp:w { \c_novalue_tl }
\cs_new:Npn \__xparse_expandable_grab_R_alt:w #1 \q__xparse #2#3
{ #2 { \__xparse_expandable_grab_R_alt_aux:NNnwNn #1 \q__xparse #2#3 } }
\cs_set_protected:Npn \__xparse_tmp:w #1
@@ -1561,7 +1559,7 @@
}
}
}
-\exp_args:No \__xparse_tmp:w { \c__xparse_no_value_tl }
+\exp_args:No \__xparse_tmp:w { \c_novalue_tl }
\cs_new:Npn \__xparse_expandable_grab_t:w #1 \q__xparse #2#3
{ #2 { \__xparse_expandable_grab_t_aux:NNwn #1 \q__xparse #2 #3 } }
\cs_new:Npn \__xparse_expandable_grab_t_aux:NNwn #1#2#3 \q__xparse #4#5#6
@@ -1644,7 +1642,7 @@
\tl_put_right:Nx \ProcessedArgument
{
\prg_replicate:nn { #2 + 1 - (#1) }
- { { \exp_not:V \c__xparse_no_value_tl } }
+ { { \exp_not:V \c_novalue_tl } }
}
}
}
@@ -1718,23 +1716,6 @@
{ \tl_show:N \ArgumentSpecification }
{ \__xparse_get_arg_spec_error:n {#1} }
}
-\use:x
- {
- \prg_new_conditional:Npnn \exp_not:N \__xparse_if_no_value:n ##1
- { T , F , TF }
- {
- \exp_not:N \str_if_eq:onTF
- {
- \exp_not:N \__xparse_if_value_aux:w ? ##1 { }
- \c__xparse_no_value_tl
- }
- { ? { } \c__xparse_no_value_tl }
- { \exp_not:N \prg_return_true: }
- { \exp_not:N \prg_return_false: }
- }
- \cs_new:Npn \exp_not:N \__xparse_if_value_aux:w ##1 \c__xparse_no_value_tl
- {##1}
- }
\cs_new_protected:Npn \__xparse_check_definable:nNT #1
{ \exp_args:Nx \__xparse_check_definable_aux:nN { \tl_trim_spaces:n {#1} } }
\group_begin:
@@ -2131,12 +2112,12 @@
\cs_new_eq:NN \IfBooleanTF \bool_if:NTF
\cs_new_eq:NN \IfBooleanT \bool_if:NT
\cs_new_eq:NN \IfBooleanF \bool_if:NF
-\cs_new_eq:NN \IfNoValueF \__xparse_if_no_value:nF
-\cs_new_eq:NN \IfNoValueT \__xparse_if_no_value:nT
-\cs_new_eq:NN \IfNoValueTF \__xparse_if_no_value:nTF
-\cs_new:Npn \IfValueF { \__xparse_if_no_value:nT }
-\cs_new:Npn \IfValueT { \__xparse_if_no_value:nF }
-\cs_new:Npn \IfValueTF #1#2#3 { \__xparse_if_no_value:nTF {#1} {#3} {#2} }
+\cs_new_eq:NN \IfNoValueF \tl_if_novalue:nF
+\cs_new_eq:NN \IfNoValueT \tl_if_novalue:nT
+\cs_new_eq:NN \IfNoValueTF \tl_if_novalue:nTF
+\cs_new:Npn \IfValueF { \tl_if_novalue:nT }
+\cs_new:Npn \IfValueT { \tl_if_novalue:nF }
+\cs_new:Npn \IfValueTF #1#2#3 { \tl_if_novalue:nTF {#1} {#3} {#2} }
\tl_new:N \ProcessedArgument
\cs_new_eq:NN \ReverseBoolean \__xparse_bool_reverse:N
\cs_new_eq:NN \SplitArgument \__xparse_split_argument:nnn