diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx | 143 |
1 files changed, 23 insertions, 120 deletions
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx index 1ebd28dafc7..84bb42f2ac1 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx +++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.ltx @@ -23,6 +23,7 @@ \message{xparse <2020-03-03>}% } \ExplSyntaxOn +\file_input:n { xparse-generic.tex } \tl_new:N \l__xparse_arg_spec_tl \tl_new:N \l__xparse_args_tl \tl_new:N \l__xparse_args_i_tl @@ -190,7 +191,6 @@ \str_set:Nx \l__xparse_environment_str {#1} \str_set:Nx \l__xparse_environment_str { \tl_trim_spaces:o { \l__xparse_environment_str } } - \cs_if_exist:cTF { \l__xparse_environment_str } { \__kernel_msg_info:nnxx { xparse } { redefine-environment } { \l__xparse_environment_str } { \tl_to_str:n {#2} } @@ -221,13 +221,10 @@ \cs_generate_from_arg_count:cNnn { environment~ #1 ~end~aux~ } \cs_set:Npn \l__xparse_current_arg_int {#4} - \cs_set_eq:cc {#1} { environment~ #1 } - \cs_set_eq:cc { end #1 } { environment~ #1 ~end } } } \cs_new_protected:Npn \__xparse_start_env:nnnnn #1#2 { - \cs_if_exist_use:N \conditionally@traceoff \str_set:Nn \l__xparse_environment_str {#2} \bool_set_true:N \l__xparse_environment_bool \__xparse_start_aux:ccnnnn @@ -237,7 +234,6 @@ } \cs_new_protected:Npx \__xparse_start:nNNnnn #1#2#3 { - \exp_not:n { \cs_if_exist_use:N \conditionally@traceoff } \exp_not:c { xparse~function~is~not~expandable } \exp_not:n { \bool_set_false:N \l__xparse_environment_bool } \exp_not:N \__xparse_start_aux:NNnnnn @@ -257,7 +253,6 @@ { \tl_if_empty:NF \l__xparse_defaults_tl { \__xparse_defaults: } \tl_if_empty:NF \l__xparse_process_all_tl { \__xparse_args_process: } - \cs_if_exist_use:N \conditionally@traceon \exp_after:wN \l__xparse_fn_code_tl \l__xparse_args_tl } \cs_new_protected:Npn \__xparse_defaults: @@ -416,8 +411,21 @@ \int_incr:N \l__xparse_current_arg_int \cs_if_exist_use:cF { __xparse_normalize_type_ \tl_to_str:n {#1} :w } { - \__kernel_msg_error:nnxx { xparse } { unknown-argument-type } - { \__xparse_environment_or_command: } { \tl_to_str:n {#1} } + \bool_lazy_any:nTF + { + { \str_if_eq_p:nn {#1} { G } } + { \str_if_eq_p:nn {#1} { g } } + { \str_if_eq_p:nn {#1} { l } } + { \str_if_eq_p:nn {#1} { u } } + } + { + \__kernel_msg_error:nnxx { xparse } { xparse-argument-type } + { \__xparse_environment_or_command: } { \tl_to_str:n {#1} } + } + { + \__kernel_msg_error:nnxx { xparse } { unknown-argument-type } + { \__xparse_environment_or_command: } { \tl_to_str:n {#1} } + } \__xparse_bad_def:wn } } @@ -433,8 +441,6 @@ \quark_if_recursion_tail_stop_do:nn {##1} { \__xparse_bad_arg_spec:wn } \__xparse_normalize_type_E:w {##1} { } } - \cs_new_protected:Npn \__xparse_normalize_type_g:w - { \__xparse_normalize_type_G:w {#1} } \cs_new_protected:Npn \__xparse_normalize_type_o:w { \__xparse_normalize_type_D:w [ ] {#1} } \cs_new_protected:Npn \__xparse_normalize_type_O:w @@ -522,14 +528,6 @@ \__xparse_normalize_E_unique_check:w #2 \q_stop } } -\cs_new_protected:Npn \__xparse_normalize_type_G:w #1 - { - \quark_if_recursion_tail_stop_do:nn {#1} { \__xparse_bad_arg_spec:wn } - \__xparse_normalize_check_gv:N G - \__xparse_add_arg_spec:n { G {#1} } - \tl_put_right:Nn \l__xparse_last_delimiters_tl { { } } - \__xparse_normalize_arg_spec_loop:n - } \cs_new_protected:Npn \__xparse_normalize_type_t:w #1 { \quark_if_recursion_tail_stop_do:Nn #1 { \__xparse_bad_arg_spec:wn } @@ -545,12 +543,6 @@ \bool_set_false:N \l__xparse_long_bool \__xparse_normalize_arg_spec_loop:n } -\cs_new_protected:Npn \__xparse_normalize_type_l:w - { - \__xparse_normalize_check_lu:N l - \__xparse_add_arg_spec_mandatory:n { l } - \__xparse_normalize_arg_spec_loop:n - } \cs_new_protected:Npn \__xparse_normalize_type_m:w { \__xparse_delimiter_check:nnn { } { m } { \iow_char:N \{ } @@ -567,13 +559,6 @@ \__xparse_add_arg_spec_mandatory:n { R #1 #2 {#3} } \__xparse_normalize_arg_spec_loop:n } -\cs_new_protected:Npn \__xparse_normalize_type_u:w #1 - { - \quark_if_recursion_tail_stop_do:nn {#1} { \__xparse_bad_arg_spec:wn } - \__xparse_normalize_check_lu:N u - \__xparse_add_arg_spec_mandatory:n { u {#1} } - \__xparse_normalize_arg_spec_loop:n - } \cs_new_protected:Npn \__xparse_normalize_type_v:w { \__xparse_normalize_check_gv:N v @@ -779,20 +764,6 @@ \tl_put_right:Nn \l__xparse_signature_tl { {#1} } \__xparse_prepare_signature:N } -\cs_new_protected:Npn \__xparse_add_type_G:w #1 - { - \__xparse_flush_m_args: - \__xparse_add_default:n {#1} - \__xparse_add_grabber:N G - \__xparse_prepare_signature:N - } -\cs_new_protected:Npn \__xparse_add_type_l:w - { - \__xparse_flush_m_args: - \__xparse_add_default: - \__xparse_add_grabber:N l - \__xparse_prepare_signature:N - } \cs_new_protected:Npn \__xparse_add_type_m:w { \__xparse_add_default: @@ -817,14 +788,6 @@ \tl_put_right:Nn \l__xparse_signature_tl {#1} \__xparse_prepare_signature:N } -\cs_new_protected:Npn \__xparse_add_type_u:w #1 - { - \__xparse_flush_m_args: - \__xparse_add_default: - \__xparse_add_grabber:N u - \tl_put_right:Nn \l__xparse_signature_tl { {#1} } - \__xparse_prepare_signature:N - } \cs_new_protected:Npn \__xparse_add_type_v:w { \__xparse_flush_m_args: @@ -946,8 +909,6 @@ \tl_put_right:Nx \l__xparse_tmpb_tl { \exp_not:o \l__xparse_tmpa_tl \exp_not:N #1 } } -\cs_new_protected:Npn \__xparse_add_expandable_type_l:w - { \__xparse_add_expandable_type_u:w ## } \cs_new_protected:Npn \__xparse_add_expandable_type_m:w { \__xparse_add_default: @@ -968,18 +929,6 @@ } \__xparse_prepare_signature:N } -\cs_new_protected:Npn \__xparse_add_expandable_type_u:w #1 - { - \__xparse_add_default: - \bool_if:NTF \l__xparse_long_bool - { \cs_set:cpn } - { \cs_set_nopar:cpn } - { \l__xparse_expandable_aux_name_tl } ##1 \q__xparse ##2 ##3 ##4 #1 - { ##1 {##4} \q__xparse ##2 ##3 } - \__xparse_add_expandable_grabber:nn { u } - { \exp_not:c { \l__xparse_expandable_aux_name_tl } } - \__xparse_prepare_signature:N - } \cs_new_protected:Npn \__xparse_add_expandable_grabber:nn #1#2 { \tl_put_right:Nx \l__xparse_signature_tl @@ -1201,46 +1150,6 @@ } } \cs_new_protected:Npn \__xparse_grab_E_finalise: { } -\cs_new_protected:Npn \__xparse_grab_G:w #1 \__xparse_run_code: - { - \__xparse_grab_G_aux:nNN {#1} \cs_set_protected_nopar:Npn - \__xparse_peek_nonspace:NTF - } -\cs_new_protected:Npn \__xparse_grab_G_long:w #1 \__xparse_run_code: - { - \__xparse_grab_G_aux:nNN {#1} \cs_set_protected:Npn - \__xparse_peek_nonspace:NTF - } -\cs_new_protected:Npn \__xparse_grab_G_obey_spaces:w #1 \__xparse_run_code: - { - \__xparse_grab_G_aux:nNN {#1} \cs_set_protected_nopar:Npn - \peek_meaning:NTF - } -\cs_new_protected:Npn \__xparse_grab_G_long_obey_spaces:w #1 \__xparse_run_code: - { - \__xparse_grab_G_aux:nNN {#1} \cs_set_protected:Npn - \peek_meaning:NTF - } -\cs_new_protected:Npn \__xparse_grab_G_aux:nNN #1#2#3 - { - \tl_set:Nn \l__xparse_signature_tl {#1} - \exp_after:wN #2 \l__xparse_fn_tl ##1 - { \__xparse_add_arg:n {##1} } - #3 \c_group_begin_token - { \l__xparse_fn_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 } -\cs_new_protected:Npn \__xparse_grab_l_long:w #1 \__xparse_run_code: - { \__xparse_grab_l_aux:nN {#1} \cs_set_protected:Npn } -\cs_new_protected:Npn \__xparse_grab_l_aux:nN #1#2 - { - \tl_set:Nn \l__xparse_signature_tl {#1} - \exp_after:wN #2 \l__xparse_fn_tl ##1## - { \__xparse_add_arg:n {##1} } - \l__xparse_fn_tl - } \cs_new_protected:Npn \__xparse_grab_m:w #1 \__xparse_run_code: { \tl_set:Nn \l__xparse_signature_tl {#1} @@ -1345,17 +1254,6 @@ } \l__xparse_fn_tl } -\cs_new_protected:Npn \__xparse_grab_u:w #1#2 \__xparse_run_code: - { \__xparse_grab_u_aux:nnN {#1} {#2} \cs_set_protected_nopar:Npn } -\cs_new_protected:Npn \__xparse_grab_u_long:w #1#2 \__xparse_run_code: - { \__xparse_grab_u_aux:nnN {#1} {#2} \cs_set_protected:Npn } -\cs_new_protected:Npn \__xparse_grab_u_aux:nnN #1#2#3 - { - \tl_set:Nn \l__xparse_signature_tl {#2} - \exp_after:wN #3 \l__xparse_fn_tl ##1 #1 - { \__xparse_add_arg:n {##1} } - \l__xparse_fn_tl - } \tl_new:N \l__xparse_v_arg_tl \cs_new_protected:Npn \__xparse_grab_v:w { @@ -1468,8 +1366,6 @@ } \cs_new_protected:Npn \__xparse_grab_v_aux_catcodes: { - \cs_set_eq:NN \do \char_set_catcode_other:N - \dospecials \tex_endlinechar:D = `\^^M \scan_stop: \bool_if:NTF \l__xparse_long_bool { \char_set_catcode_other:n { \tex_endlinechar:D } } @@ -2143,6 +2039,13 @@ The~letter~'#2'~does~not~specify~a~known~argument~type. \c__xparse_ignore_def_tl } +\__kernel_msg_new:nnnn { xparse } { xparse-argument-type } + { Deprecated~argument~type~'#2'~for~the~#1~requires~xparse. } + { + The~letter~'#2'~specifies~a~known~argument~type~that~requires~ + the~xparse~package. + \c__xparse_ignore_def_tl + } \__kernel_msg_new:nnn { xparse } { if-boolean } { Invalid~use~\iow_char:N\\IfBooleanTF~{#1} } \__kernel_msg_new:nnnn { xparse } { loop-in-defaults } |