diff options
author | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
commit | f78ef933642c4be9fd32c6ec1d846912f751ae65 (patch) | |
tree | beb179870f7e226889c112201a34ab0ff5dde4c2 /Master/texmf-dist/tex/latex/l3kernel | |
parent | cd9c32dfd264eb7b5dc559f8a8355140b63d12ba (diff) |
l3 (18oct18)
git-svn-id: svn://tug.org/texlive/trunk@48935 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
8 files changed, 304 insertions, 165 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index cf7dd09bf49..2dc9acf97aa 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-09-24}% +\def\ExplFileDate{2018-10-17}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -8770,6 +8770,22 @@ \tex_afterassignment:D \__peek_true_aux:w \cs_set_eq:NN \__peek_tmp:w } +\cs_new_protected:Npn \peek_remove_spaces:n #1 + { + \cs_set:Npx \__peek_false:w { \exp_not:n {#1} } + \group_align_safe_begin: + \cs_set:Npn \__peek_true_aux:w { \peek_after:Nw \__peek_remove_spaces: } + \__peek_true_aux:w + } +\cs_new_protected:Npn \__peek_remove_spaces: + { + \if_meaning:w \l_peek_token \c_space_token + \exp_after:wN \__peek_true_remove:w + \else: + \group_align_safe_end: + \exp_after:wN \__peek_false:w + \fi: + } \cs_new_protected:Npn \__peek_token_generic_aux:NNNTF #1#2#3#4#5 { \group_align_safe_begin: @@ -8841,82 +8857,43 @@ \exp_after:wN \__peek_false:w \fi: } -\cs_new_protected:Npn \__peek_ignore_spaces_execute_branches: +\tl_map_inline:nn { { catcode } { charcode } { meaning } } { - \if_meaning:w \l_peek_token \c_space_token - \exp_after:wN \peek_after:Nw - \exp_after:wN \__peek_ignore_spaces_execute_branches: - \exp:w \exp_end_continue_f:w - \else: - \exp_after:wN \__peek_execute_branches: - \fi: + \tl_map_inline:nn { { } { _remove } } + { + \tl_map_inline:nn { { TF } { T } { F } } + { + \cs_new_protected:cpx { peek_ #1 ##1 :N ####1 } + { + \exp_not:c { __peek_token ##1 _generic:NN ####1 } + \exp_not:c { __peek_execute_branches_ #1 : } + } + } + } + } +\tl_map_inline:nn + { + { catcode } { catcode_remove } + { charcode } { charcode_remove } + { meaning } { meaning_remove } + } + { + \cs_new_protected:cpx { peek_#1_ignore_spaces:NTF } ##1##2##3 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NTF } ##1 {##2} {##3} } + } + \cs_new_protected:cpx { peek_#1_ignore_spaces:NT } ##1##2 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NT } ##1 {##2} } + } + \cs_new_protected:cpx { peek_#1_ignore_spaces:NF } ##1##2 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NF } ##1 {##2} } + } } -\group_begin: - \cs_set:Npn \__peek_def:nnnn #1#2#3#4 - { - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { TF } - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { T } - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { F } - } - \cs_set:Npn \__peek_def:nnnnn #1#2#3#4#5 - { - \cs_new_protected:cpx { #1 #5 } - { - \tl_if_empty:nF {#2} - { \exp_not:n { \cs_set_eq:NN \__peek_execute_branches: #2 } } - \exp_not:c { #3 #5 } - \exp_not:n {#4} - } - } - \__peek_def:nnnn { peek_catcode:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_catcode: } - \__peek_def:nnnn { peek_catcode_ignore_spaces:N } - { \__peek_execute_branches_catcode: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_catcode_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_catcode: } - \__peek_def:nnnn { peek_catcode_remove_ignore_spaces:N } - { \__peek_execute_branches_catcode: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_charcode:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_charcode: } - \__peek_def:nnnn { peek_charcode_ignore_spaces:N } - { \__peek_execute_branches_charcode: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_charcode_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_charcode: } - \__peek_def:nnnn { peek_charcode_remove_ignore_spaces:N } - { \__peek_execute_branches_charcode: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_meaning:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_meaning: } - \__peek_def:nnnn { peek_meaning_ignore_spaces:N } - { \__peek_execute_branches_meaning: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_meaning_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_meaning: } - \__peek_def:nnnn { peek_meaning_remove_ignore_spaces:N } - { \__peek_execute_branches_meaning: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } -\group_end: \exp_args:Nno \use:nn { \cs_new:Npn \__peek_get_prefix_arg_replacement:wN #1 } { \tl_to_str:n { macro : } #2 -> #3 \q_stop #4 } @@ -9264,8 +9241,9 @@ } } %% File: l3msg.dtx Copyright (C) 2009-2018 The LaTeX3 Project -\tl_new:N \l__msg_internal_tl -\bool_new:N \l__msg_line_context_bool +\tl_new:N \l__msg_tmp_tl +\str_new:N \l__msg_name_str +\str_new:N \l__msg_text_str \tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ } \tl_const:Nn \c__msg_more_text_prefix_tl { msg~extra~text~>~ } \prg_new_conditional:Npnn \msg_if_exist:nn #1#2 { p , T , F , TF } @@ -9350,49 +9328,61 @@ \c_space_tl \msg_line_number: } -\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3 +\cs_new_protected:Npn \__msg_interrupt:Nnnn #1#2#3#4 { - \tl_if_empty:nTF {#3} + \str_set:Nx \l__msg_text_str { #1 {#2} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#2} } + \tl_if_empty:nTF {#4} { - \__msg_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl } - {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl } + \__msg_interrupt_wrap:nnn {#3} + { \c__msg_continue_text_tl } + { \c__msg_no_info_text_tl } } { - \__msg_interrupt_wrap:nn { \\ #3 } - {#1 \\\\ #2 \\\\ \c__msg_help_text_tl } + \__msg_interrupt_wrap:nnn {#3} + { \c__msg_help_text_tl } + {#4} } } -\cs_new_protected:Npn \__msg_interrupt_wrap:nn #1#2 +\cs_new_protected:Npn \__msg_interrupt_wrap:nnn #1#2#3 { - \iow_wrap:nnnN {#1} { | ~ } { } \__msg_interrupt_more_text:n - \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_interrupt_text:n + \iow_wrap:nnnN { \\ #3 } { } { } \__msg_interrupt_more_text:n + \group_begin: + \int_sub:Nn \l_iow_line_count_int { 2 } + \iow_wrap:nxnN { \l__msg_text_str : ~ #1 } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + + 2 + } + { ~ } + } + { } \__msg_interrupt_text:n + \iow_wrap:nnnN { \l__msg_tmp_tl \\ \\ #2 } { } { } + \__msg_interrupt:n } -\cs_new_protected:Npn \__msg_interrupt_more_text:n #1 +\cs_new_protected:Npn \__msg_interrupt_text:n #1 { - \exp_args:Nx \tex_errhelp:D - { - |''''''''''''''''''''''''''''''''''''''''''''''' - #1 \iow_newline: - |............................................... - } + \group_end: + \tl_set:Nn \l__msg_tmp_tl {#1} } +\cs_new_protected:Npn \__msg_interrupt_more_text:n #1 + { \exp_args:Nx \tex_errhelp:D { #1 \iow_newline: } } \group_begin: - \char_set_lccode:nn {`\{} {`\ } - \char_set_lccode:nn {`\}} {`\ } - \char_set_lccode:nn {`\&} {`\!} + \char_set_lccode:nn { 38 } { 32 } % & + \char_set_lccode:nn { 46 } { 32 } % . + \char_set_lccode:nn { 123 } { 32 } % { + \char_set_lccode:nn { 125 } { 32 } % } \char_set_catcode_active:N \& \tex_lowercase:D { \group_end: - \cs_new_protected:Npn \__msg_interrupt_text:n #1 + \cs_new_protected:Npn \__msg_interrupt:n #1 { - \iow_term:x - { - \iow_newline: - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - \iow_newline: - ! - } + \iow_term:n { } \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J } { \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } @@ -9414,47 +9404,52 @@ } } } -\cs_new_protected:Npn \msg_log:n #1 - { - \iow_log:n { ................................................. } - \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n - \iow_log:n { ................................................. } - } -\cs_new_protected:Npn \msg_term:n #1 - { - \iow_term:n { ************************************************* } - \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n - \iow_term:n { ************************************************* } - } \cs_new:Npn \msg_fatal_text:n #1 { - Fatal~#1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + Fatal ~ + \msg_error_text:n {#1} } \cs_new:Npn \msg_critical_text:n #1 { - Critical~#1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + Critical ~ + \msg_error_text:n {#1} } \cs_new:Npn \msg_error_text:n #1 + { \__msg_text:nn {#1} { Error } } +\cs_new:Npn \msg_warning_text:n #1 + { \__msg_text:nn {#1} { Warning } } +\cs_new:Npn \msg_info_text:n #1 + { \__msg_text:nn {#1} { Info } } +\cs_new:Npn \__msg_text:nn #1#2 { - #1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \exp_args:Nf \__msg_text:n { \msg_module_type:n {#1} } + \msg_module_name:n {#1} ~ + #2 } -\cs_new:Npn \msg_warning_text:n #1 +\cs_new:Npn \__msg_text:n #1 { - #1~warning - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \tl_if_blank:nF {#1} + { #1 ~ } } -\cs_new:Npn \msg_info_text:n #1 +\prop_new:N \g_msg_module_name_prop +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 } +\prop_new:N \g_msg_module_type_prop +\prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { } +\cs_new:Npn \msg_module_type:n #1 { - #1~info - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \prop_if_in:NnTF \g_msg_module_type_prop {#1} + { \prop_item:Nn \g_msg_module_type_prop {#1} } + { Package } + } +\cs_new:Npn \msg_module_name:n #1 + { + \prop_if_in:NnTF \g_msg_module_name_prop {#1} + { \prop_item:Nn \g_msg_module_name_prop {#1} } + {#1} } \cs_new:Npn \msg_see_documentation_text:n #1 { - \\ \\ See~the~ - \str_if_eq:nnTF {#1} { LaTeX } { LaTeX3 } {#1} ~ + See~the~ \msg_module_name:n {#1} ~ documentation~for~further~information. } \group_begin: @@ -9498,23 +9493,19 @@ } \__msg_class_new:nn { fatal } { - \msg_interrupt:nnn - { \msg_fatal_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_fatal_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } { \c__msg_fatal_text_tl } \tex_end:D } \__msg_class_new:nn { critical } { - \msg_interrupt:nnn - { \msg_critical_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_critical_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } { \c__msg_critical_text_tl } \tex_endinput:D } @@ -9524,12 +9515,10 @@ { \c__msg_more_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} { - \msg_interrupt:nnn - { \msg_error_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_error_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } } } \cs_new_protected:Npn \__msg_error:cnnnnn #1#2#3#4#5#6 @@ -9541,19 +9530,47 @@ \cs_new:Npn \__msg_no_more_text:nnnn #1#2#3#4 { } \__msg_class_new:nn { warning } { - \msg_term:n + \str_set:Nx \l__msg_text_str { \msg_warning_text:n {#1} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} } + \iow_term:n { } + \iow_wrap:nxnN { - \msg_warning_text:n {#1} : ~ "#2" \\ \\ + \l__msg_text_str : ~ \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + } + { ~ } + } + { } \iow_term:n + \iow_term:n { } } \__msg_class_new:nn { info } { - \msg_log:n + \str_set:Nx \l__msg_text_str { \msg_info_text:n {#1} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} } + \iow_log:n { } + \iow_wrap:nxnN { - \msg_info_text:n {#1} : ~ "#2" \\ \\ + \l__msg_text_str : ~ \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + } + { ~ } + } + { } \iow_log:n + \iow_log:n { } } \__msg_class_new:nn { log } { @@ -9586,13 +9603,13 @@ { \tl_if_empty:nF {#1} { \exp_args:No \iow_term:n { \use_none:n #1 } } - \tl_set:Nn \l__msg_internal_tl {#2} + \tl_set:Nn \l__msg_tmp_tl {#2} \__kernel_iow_with:Nnn \tex_newlinechar:D { 10 } { \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } { \tex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN - { \exp_after:wN \l__msg_internal_tl } + { \exp_after:wN \l__msg_tmp_tl } } } } @@ -10148,6 +10165,85 @@ \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnnn { nnfff } \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff } \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_log:n } +\cs_new_protected:Npn \msg_log:n #1 + { + \iow_log:n { ................................................. } + \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n + \iow_log:n { ................................................. } + } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_term:n } +\cs_new_protected:Npn \msg_term:n #1 + { + \iow_term:n { ************************************************* } + \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n + \iow_term:n { ************************************************* } + } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { [Defined~error~message] } +\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3 + { + \tl_if_empty:nTF {#3} + { + \__msg_old_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl } + {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl } + } + { + \__msg_old_interrupt_wrap:nn { \\ #3 } + {#1 \\\\ #2 \\\\ \c__msg_help_text_tl } + } + } +\cs_new_protected:Npn \__msg_old_interrupt_wrap:nn #1#2 + { + \iow_wrap:nnnN {#1} { | ~ } { } \__msg_old_interrupt_more_text:n + \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_old_interrupt_text:n + } +\cs_new_protected:Npn \__msg_old_interrupt_more_text:n #1 + { + \exp_args:Nx \tex_errhelp:D + { + |''''''''''''''''''''''''''''''''''''''''''''''' + #1 \iow_newline: + |............................................... + } + } +\group_begin: + \char_set_lccode:nn {`\{} {`\ } + \char_set_lccode:nn {`\}} {`\ } + \char_set_lccode:nn {`\&} {`\!} + \char_set_catcode_active:N \& +\tex_lowercase:D + { + \group_end: + \cs_new_protected:Npn \__msg_old_interrupt_text:n #1 + { + \iow_term:x + { + \iow_newline: + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + \iow_newline: + ! + } + \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J } + { + \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } + { + \group_begin: + \cs_set_protected:Npn & + { + \tex_errmessage:D + { + #1 + \use_none:n + { ............................................ } + } + } + \exp_after:wN + \group_end: + & + } + } + } + } %% File: l3file.dtx Copyright (C) 1990-2018 The LaTeX3 Project \tl_new:N \l__ior_internal_tl \int_const:Nn \c_term_ior { 16 } @@ -10476,6 +10572,7 @@ \exp_args:NNf \group_end: #4 { \tl_to_str:N \l__iow_wrap_tl } } +\cs_generate_variant:Nn \iow_wrap:nnnN { nx } \cs_new_protected:Npn \__iow_wrap_do: { \tl_set:Nx \l__iow_wrap_tl @@ -11766,6 +11863,7 @@ \bool_new:N \l__keys_no_value_bool \bool_new:N \l__keys_only_known_bool \tl_new:N \l_keys_path_tl +\tl_new:N \l__keys_inherit_tl \tl_new:N \l__keys_property_tl \bool_new:N \l__keys_selective_bool \bool_new:N \l__keys_filtered_bool @@ -12409,6 +12507,7 @@ \cs_if_exist:cT { \c__keys_code_root_tl ##1 / \l_keys_key_tl } { + \tl_set:Nn \l__keys_inherit_tl {##1} \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } @@ -12450,8 +12549,18 @@ } \cs_new:Npn \__keys_choice_find:n #1 { - \__keys_execute:nn { \l_keys_path_tl / \__keys_remove_spaces:n {#1} } - { \__keys_execute:nn { \l_keys_path_tl / unknown } { } } + \tl_if_empty:NTF \l__keys_inherit_tl + { \__keys_choice_find:nn { \l_keys_path_tl } {#1} } + { + \__keys_choice_find:nn + { \l__keys_inherit_tl / \l_keys_key_tl } {#1} + } + } +\cs_new:Npn \__keys_choice_find:nn #1#2 + { + \cs_if_exist:cTF { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } + { \use:c { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } {#2} } + { \use:c { \c__keys_code_root_tl #1 / unknown } {#2} } } \cs_new:Npn \__keys_multichoice_find:n #1 { \clist_map_function:nN {#1} \__keys_choice_find:n } @@ -20017,7 +20126,7 @@ \__regex_build_for_cs:n {#1} \bool_set_eq:NN \l__regex_saved_success_bool \g__regex_success_bool - \exp_args:NV \__regex_match:n \l__regex_cs_name_tl + \exp_args:NV \__regex_match_cs:n \l__regex_cs_name_tl \if_meaning:w \c_true_bool \g__regex_success_bool \group_insert_after:N \__regex_break_true:w \fi: @@ -21488,6 +21597,7 @@ } \cs_new_protected:Npn \__regex_build_for_cs:n #1 { + \int_set_eq:NN \l__regex_min_state_int \l__regex_max_active_int \int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int \__regex_build_new_state: \__regex_build_new_state: @@ -21867,6 +21977,34 @@ \__regex_match_once: } \__kernel_patch:nnNNpn + { + \__regex_trace_push:nnN { regex } { 1 } \__regex_match_cs:n + \__regex_trace:nnx { regex } { 1 } { analyzing~query~token~list } + } + { \__regex_trace_pop:nnN { regex } { 1 } \__regex_match_cs:n } +\cs_new_protected:Npn \__regex_match_cs:n #1 + { + \int_zero:N \l__regex_balance_int + \int_set:Nn \l__regex_curr_pos_int + { + \int_max:nn { 2 * \l__regex_max_state_int - \l__regex_min_state_int } + { \l__regex_max_pos_int } + + 1 + } + \__regex_query_set:nnn { } { -1 } { -2 } + \int_set_eq:NN \l__regex_min_pos_int \l__regex_curr_pos_int + \str_map_inline:nn {#1} + { + \__regex_query_set:nnn { \exp_not:n {##1} } + { \tl_if_blank:nTF {##1} { 10 } { 12 } } + { `##1 } + } + \int_set_eq:NN \l__regex_max_pos_int \l__regex_curr_pos_int + \__regex_query_set:nnn { } { -1 } { -2 } + \__regex_match_init: + \__regex_match_once: + } +\__kernel_patch:nnNNpn { \__regex_trace:nnx { regex } { 1 } { initializing } } { } \cs_new_protected:Npn \__regex_match_init: @@ -22850,7 +22988,8 @@ { Invalid~nested~'\iow_char:N\\c'~escape~in~regular~expression. } { The~'\iow_char:N\\c'~escape~cannot~be~used~within~ - a~control~sequence~test~'\iow_char:N\\c{...}'.~ + a~control~sequence~test~'\iow_char:N\\c{...}'~ + nor~another~category~test.~ To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'. } \__kernel_msg_new:nnnn { kernel } { c-C-invalid } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index f2b84f74d19..d3418218871 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-09-24}% +\def\ExplFileDate{2018-10-17}% \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 5252ad1cbe0..01e187d6e17 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-09-24}% +\def\ExplFileDate{2018-10-17}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index cf97021907a..b198d0276eb 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvidpfmx.def}{2018-09-24}{} + {l3dvidpfmx.def}{2018-10-17}{} {L3 Experimental driver: dvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 6c8e6f89389..66e022fa358 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvips.def}{2018-09-24}{} + {l3dvips.def}{2018-10-17}{} {L3 Experimental driver: dvips} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index 467baf479fb..2b962c28bd7 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvisvgm.def}{2018-09-24}{} + {l3dvisvgm.def}{2018-10-17}{} {L3 Experimental driver: dvisvgm} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index 0435270fb92..b298d97cb86 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3pdfmode.def}{2018-09-24}{} + {l3pdfmode.def}{2018-10-17}{} {L3 Experimental driver: PDF mode} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index d1e6c9c80d0..61064499c28 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3xdvidpfmx.def}{2018-09-24}{} + {l3xdvidpfmx.def}{2018-10-17}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 |