diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental')
27 files changed, 599 insertions, 3017 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty index 40e2c899682..2bb94e7c62a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3flag.dtx Copyright (C) 2011 The LaTeX3 Project +%% File: l3flag.dtx Copyright (C) 2011-2012 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 @@ -53,16 +53,14 @@ \tl_new:N \g_flag_list_tl \cs_new_protected:Npn \flag_new:N #1 { + \cs_new_eq:NN #1 \c_undefined:D \tl_if_in:NnTF \g_flag_list_tl {#1} { \msg_kernel_error:nnx { flag } { already-defined } { \token_to_str:N #1 } } - { - \tl_gput_right:Nn \g_flag_list_tl {#1} - \cs_new_eq:NN #1 \c_undefined:D - } + { \tl_gput_right:Nn \g_flag_list_tl {#1} } } \cs_generate_variant:Nn \flag_new:N { c } \prg_new_conditional:Npnn \flag_test:N #1 { p , T , F , TF } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty index facf764c168..8d1f45803f9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3regex.dtx Copyright (C) 2011 The LaTeX3 Project +%% File: l3regex.dtx Copyright (C) 2011-2012 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 @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3regex.dtx 3073 2011-12-21 01:53:06Z bruno $ +\GetIdInfo$Id: l3regex.dtx 3200 2012-01-16 03:50:54Z bruno $ {L3 Experimental Regular Expressions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -59,6 +59,7 @@ \int_new:N \l_regex_tmpb_int \flag_new:N \l_regex_group_begin_flag \flag_new:N \l_regex_group_end_flag +\int_new:N \l_regex_build_mode_int \int_new:N \l_regex_max_state_int \int_new:N \l_regex_left_state_int \int_new:N \l_regex_right_state_int @@ -69,13 +70,28 @@ \int_new:N \l_regex_capturing_group_int \seq_new:N \l_regex_capturing_group_seq \int_new:N \l_regex_capturing_group_max_int -\tl_new:N \l_regex_build_or_class_tl \tl_new:N \l_regex_one_or_group_tl -\bool_new:N \l_regex_in_csname_bool +\int_new:N \l_regex_catcodes_int +\int_new:N \l_regex_catcodes_default_int +\int_const:Nn \c_regex_catcode_C_int { "1 } +\int_const:Nn \c_regex_catcode_B_int { "4 } +\int_const:Nn \c_regex_catcode_E_int { "10 } +\int_const:Nn \c_regex_catcode_M_int { "40 } +\int_const:Nn \c_regex_catcode_T_int { "100 } +\int_const:Nn \c_regex_catcode_P_int { "1000 } +\int_const:Nn \c_regex_catcode_U_int { "4000 } +\int_const:Nn \c_regex_catcode_D_int { "10000 } +\int_const:Nn \c_regex_catcode_S_int { "100000 } +\int_const:Nn \c_regex_catcode_L_int { "400000 } +\int_const:Nn \c_regex_catcode_O_int { "1000000 } +\int_const:Nn \c_regex_catcode_A_int { "4000000 } +\int_const:Nn \c_regex_catcodes_all_int { "5515155 } +\bool_new:N \l_regex_catcodes_bool \tl_new:N \l_regex_tmpa_regex_tl -\cs_new_eq:NN \regex_build_tmp_class:n \use_none:n \bool_new:N \l_regex_class_bool \tl_new:N \l_regex_class_tl +\bool_new:N \l_regex_class_saved_bool +\tl_new:N \l_regex_class_saved_tl \tl_const:Nn \c_regex_d_tl { \regex_item_range:nn { \c_forty_eight } { 57 } % 0--9 @@ -213,49 +229,32 @@ } \cs_new_protected:Npn \regex_seq_push_int:NN #1#2 { \seq_push:No #1 { \int_use:N #2 } } -\cs_new_protected_nopar:Npn \regex_seq_pop_use:N #1 +\cs_new_protected:Npn \regex_seq_pop_use:N #1 { \seq_pop:NN #1 \l_regex_tmpa_tl \l_regex_tmpa_tl } -\cs_new_protected_nopar:Npn \regex_seq_get_use:N #1 +\cs_new_protected:Npn \regex_seq_get_use:N #1 { \seq_get:NN #1 \l_regex_tmpa_tl \l_regex_tmpa_tl } -\cs_new:Npn \regex_seq_item:Nn #1#2 - { - \exp_after:wN \regex_seq_item_aux:wNn - \int_use:N \int_eval:w #2 \exp_after:wN ; - #1 { ? \prg_map_break: } { } - \prg_break_point:n { } - } -\cs_new:Npn \regex_seq_item_aux:wNn #1; #2#3 +\cs_new_protected:Npn \regex_break_true:w + #1 \regex_break_point:TF #2 #3 {#2} +\cs_new_protected:Npn \regex_break_point:TF #1 #2 { #2 } +\cs_new_protected_nopar:Npn \regex_item_dot: { - \use_none:n #2 - \if_num:w #1 = \c_zero - \exp_after:wN \prg_map_break:n - \else: - \exp_after:wN \use_none:n + \if_num:w \l_regex_current_char_int > - \c_two + \exp_after:wN \regex_break_true:w \fi: - { \exp_not:n {#3} } - \exp_after:wN \regex_seq_item_aux:wNn - \int_use:N \int_eval:w #1 - \c_one ; } -\cs_new_protected_nopar:Npn \regex_item_dot:T - { \int_compare:nNnF \l_regex_current_char_int < \c_minus_one } -\cs_new_protected_nopar:Npn \regex_break_true:w - #1 \regex_break_point:TF #2 #3 {#2} -\cs_new_protected_nopar:Npn \regex_break_false:w - #1 \regex_break_point:TF #2 #3 {#3} -\cs_new_protected_nopar:Npn \regex_break_point:TF #1 #2 { #2 } -\cs_new_protected_nopar:Npn \regex_item_caseful_equal:n #1 +\cs_new_protected:Npn \regex_item_caseful_equal:n #1 { \if_num:w #1 = \l_regex_current_char_int \exp_after:wN \regex_break_true:w \fi: } -\cs_new_protected_nopar:Npn \regex_item_caseful_range:nn #1 #2 +\cs_new_protected:Npn \regex_item_caseful_range:nn #1 #2 { \reverse_if:N \if_num:w #1 > \l_regex_current_char_int \reverse_if:N \if_num:w #2 < \l_regex_current_char_int @@ -263,13 +262,13 @@ \fi: \fi: } -\cs_new_protected_nopar:Npn \regex_item_caseful_geq:n #1 +\cs_new_protected:Npn \regex_item_caseful_geq:n #1 { \reverse_if:N \if_num:w #1 > \l_regex_current_char_int \exp_after:wN \regex_break_true:w \fi: } -\cs_new_protected_nopar:Npn \regex_item_caseless_equal:n #1 +\cs_new_protected:Npn \regex_item_caseless_equal:n #1 { \if_num:w #1 = \l_regex_current_char_int \exp_after:wN \regex_break_true:w @@ -278,7 +277,7 @@ \exp_after:wN \regex_break_true:w \fi: } -\cs_new_protected_nopar:Npn \regex_item_caseless_range:nn #1 #2 +\cs_new_protected:Npn \regex_item_caseless_range:nn #1 #2 { \reverse_if:N \if_num:w #1 > \l_regex_current_char_int \reverse_if:N \if_num:w #2 < \l_regex_current_char_int @@ -291,7 +290,7 @@ \fi: \fi: } -\cs_new_protected_nopar:Npn \regex_item_caseless_geq:n #1 +\cs_new_protected:Npn \regex_item_caseless_geq:n #1 { \reverse_if:N \if_num:w #1 > \l_regex_current_char_int \exp_after:wN \regex_break_true:w @@ -317,17 +316,19 @@ \cs_set:Npn \regex_item_range:nn { \regex_item_caseful_range:nn } \cs_set:Npn \regex_item_geq:n { \regex_item_caseful_geq:n } } -\cs_new_protected_nopar:Npn \regex_item_catcode:n #1 +\cs_new_protected:Npn \regex_item_catcode:nT #1 { - \if_num:w #1 = \l_regex_current_catcode_int - \exp_after:wN \regex_break_true:w - \fi: - } -\cs_new_protected_nopar:Npn \regex_item_catcode_neq:n #1 - { - \if_num:w #1 = \l_regex_current_catcode_int + \if_int_odd:w \int_eval:w #1 / " + \if_case:w \l_regex_current_catcode_int + 1 \or: 4 \or: 10 \or: 40 + \or: 100 \or: \or: 1000 \or: 4000 + \or: 10000 \or: \or: 100000 \or: 400000 + \or: 1000000 \or: 4000000 \else: 1*\c_zero + \fi: + \int_eval_end: + \exp_after:wN \use:n \else: - \exp_after:wN \regex_break_true:w + \exp_after:wN \use_none:n \fi: } \cs_new_protected:Npn \regex_item_cs:n #1 @@ -357,7 +358,7 @@ { \if_false: } } \fi: \regex_get_digits_aux:NN } -\cs_new_nopar:Npn \regex_get_digits_aux:NN #1#2 +\cs_new:Npn \regex_get_digits_aux:NN #1#2 { \if_meaning:w \regex_build_raw:N #1 \if_charcode:w \c_space_token \exp_not:N #2 @@ -373,7 +374,7 @@ \fi: \regex_get_digits_aux:NN } -\cs_new_nopar:Npn \regex_get_digits_end:w #1 \fi: #2 \regex_get_digits_aux:NN +\cs_new:Npn \regex_get_digits_end:w #1 \fi: #2 \regex_get_digits_aux:NN { \fi: #2 \if_false: { { \fi: } } @@ -425,6 +426,14 @@ \fi: \fi: } +\cs_new_nopar:Npn \regex_build_if_in_class:TF + { + \if_int_odd:w \l_regex_build_mode_int + \exp_after:wN \use_i:nn + \else: + \exp_after:wN \use_ii:nn + \fi: + } \cs_new_protected_nopar:Npn \regex_build_new_state: { \tex_toks:D \l_regex_max_state_int { \s_stop } @@ -432,13 +441,13 @@ \int_set_eq:NN \l_regex_right_state_int \l_regex_max_state_int \int_incr:N \l_regex_max_state_int } -\cs_new_protected_nopar:Npn \regex_build_transition_aux:NN #1#2 +\cs_new_protected:Npn \regex_build_transition:NN #1#2 { \regex_build_new_state: \regex_toks_put_right:Nx \l_regex_left_state_int { #1 { \int_eval:n { #2 - \l_regex_left_state_int } } } } -\cs_new_protected_nopar:Npn \regex_build_transitions_aux:NNNN #1#2#3#4 +\cs_new_protected:Npn \regex_build_transitions:NNNN #1#2#3#4 { \regex_build_new_state: \regex_toks_put_right:Nx \l_regex_left_state_int @@ -449,11 +458,11 @@ } \cs_new_protected:Npn \regex_build:n #1 { - \bool_set_false:N \l_regex_in_csname_bool + \int_set_eq:NN \l_regex_build_mode_int \c_zero \regex_build:w \regex_build_new_state: \regex_toks_put_right:Nx \l_regex_left_state_int - { \regex_action_start_wildcard:nn {0} {1} } + { \regex_action_start_wildcard: } \regex_build_open_aux: \str_escape_use:NNNn \regex_build_i_unescaped:N @@ -461,34 +470,42 @@ \regex_build_i_raw:N { #1 } \prg_do_nothing: \prg_do_nothing: + \prg_do_nothing: \prg_do_nothing: \regex_build_end: } -\cs_new_nopar:Npn \regex_build_i_unescaped:N #1 +\cs_new:Npn \regex_build_i_unescaped:N #1 { \regex_aux_char_if_special:NTF #1 - { \exp_not:N \regex_build_control:N #1 } + { \exp_not:N \regex_build_special:N #1 } { \exp_not:N \regex_build_raw:N #1 } } -\cs_new_nopar:Npn \regex_build_i_escaped:N #1 +\cs_new:Npn \regex_build_i_escaped:N #1 { \regex_aux_char_if_alphanumeric:NTF #1 - { \exp_not:N \regex_build_control:N #1 } + { \exp_not:N \regex_build_escaped:N #1 } { \exp_not:N \regex_build_raw:N #1 } } -\cs_new_nopar:Npn \regex_build_i_raw:N #1 +\cs_new:Npn \regex_build_i_raw:N #1 { \exp_not:N \regex_build_raw:N #1 } -\cs_new_protected_nopar:Npn \regex_build_control:N #1 +\cs_new_protected:Npn \regex_build_special:N #1 { - \cs_if_exist_use:cF { regex_ \l_regex_build_or_class_tl _#1: } - { \use:c { regex_ \l_regex_build_or_class_tl _default_raw:N } #1 } + \cs_if_exist_use:cF { regex_build_#1: } + { \regex_build_raw:N #1 } + } +\cs_new_protected:Npn \regex_build_escaped:N #1 + { + \cs_if_exist_use:cF { regex_build_/#1: } + { \regex_build_raw:N #1 } } \cs_new_protected_nopar:Npn \regex_build:w { - \cs_set_eq:NN \regex_build_raw:N \regex_build_default_raw:N - \tl_set:Nn \l_regex_build_or_class_tl { build } - \int_set_eq:NN \l_regex_capturing_group_int \c_zero + \int_set_eq:NN \l_regex_catcodes_default_int \c_regex_catcodes_all_int + \int_set_eq:NN \l_regex_capturing_group_int \c_zero \int_zero:N \l_regex_max_state_int \regex_build_new_state: + \tl_clear:N \l_regex_class_tl + \bool_set_true:N \l_regex_class_bool + \int_set_eq:NN \l_regex_catcodes_int \l_regex_catcodes_default_int } \cs_new_protected_nopar:Npn \regex_build_end: { @@ -506,77 +523,158 @@ { \regex_action_success: } \int_incr:N \l_regex_capturing_group_int } -\cs_new_protected_nopar:cpn { regex_build_^: } - { \regex_build_anchor_start:N \l_regex_min_step_int } -\cs_new_protected_nopar:Npn \regex_build_A: - { \regex_build_anchor_start:N \l_regex_min_step_int } -\cs_new_protected_nopar:Npn \regex_build_G: - { \regex_build_anchor_start:N \l_regex_start_step_int } -\cs_new_protected_nopar:Npn \regex_build_anchor_start:N #1 +\cs_new_protected:Npn \regex_build_one:n #1 + { \regex_build_one:x { \exp_not:n {#1} } } +\cs_new_protected:Npn \regex_build_one:x #1 { - \regex_build_new_state: - \regex_toks_put_right:Nx \l_regex_left_state_int + \tl_put_right:Nx \l_regex_class_tl { - \exp_not:N \int_compare:nNnT #1 = \l_regex_current_step_int - { - \regex_action_free:n - { - \int_eval:n - { \l_regex_right_state_int - \l_regex_left_state_int } - } - } + \if_num:w \l_regex_catcodes_int = \c_regex_catcodes_all_int + \exp_after:wN \use:n + \else: + \regex_item_catcode:nT { \int_use:N \l_regex_catcodes_int } + \fi: + {#1} } + \if_num:w \l_regex_build_mode_int = \c_two + \l_regex_build_mode_int = \c_zero + \else: + \if_num:w \l_regex_build_mode_int = \c_six + \l_regex_build_mode_int = \c_three + \fi: + \fi: + \if_int_odd:w \l_regex_build_mode_int \else: + \exp_after:wN \regex_build_one_quantifier: + \fi: } -\cs_new_protected_nopar:cpn { regex_build_$: } % $ +\cs_new:Npn \regex_build_tmp_class:n #1 { - \regex_build_new_state: - \regex_toks_put_right:Nx \l_regex_left_state_int + \exp_not:o \l_regex_class_tl + \bool_if:NTF \l_regex_class_bool + { \regex_break_point:TF { \regex_action_cost:n {#1} } { } } + { \regex_break_point:TF { } { \regex_action_cost:n {#1} } } + } +\cs_new_protected:Npn \regex_class_put:N #1 + { + \tl_put_right:Nx \l_regex_class_tl + { \regex_item_equal:n { \int_value:w `#1 ~ } } + } +\cs_new_protected:Npn \regex_class_put:NN #1#2 + { + \tl_put_right:Nx \l_regex_class_tl + { \regex_item_range:nn { \int_value:w `#1 ~ } { \int_value:w `#2 ~ } } + } +\cs_new_protected:Npn \regex_build_raw_alphanum_is_error:N #1 + { + \regex_aux_char_if_alphanumeric:NTF #1 + { \msg_kernel_error:nnx { regex } { class-bad-escape } { #1 } } + { \regex_build_raw:N #1 } + } +\cs_new_protected:Npn \regex_build_raw:N #1#2#3 + { + \regex_build_if_in_class:TF + { \str_if_eq:nnTF {#2#3} { \regex_build_special:N - } } + { \use_ii:nn } + { \regex_class_range:Nw #1 } { - \exp_not:N \int_compare:nNnT - \l_regex_current_char_int < \c_minus_one - { - \regex_action_free:n - { - \int_eval:n - { \l_regex_right_state_int - \l_regex_left_state_int } - } - } + \regex_build_one:x { \regex_item_equal:n { \int_value:w `#1 ~ } } + #2 #3 } } -\cs_new_eq:Nc \regex_build_Z: { regex_build_$: } %$ -\cs_new_eq:Nc \regex_build_z: { regex_build_$: } %$ -\cs_new_protected_nopar:Npn \regex_build_b: +\cs_new_protected:Npn \regex_class_range:Nw #1#2#3 { - \regex_build_new_state: - \regex_toks_put_right:Nx \l_regex_left_state_int + \token_if_eq_meaning:NNTF #2 \regex_build_escaped:N % [ + { \use_i:nn } { \str_if_eq:nnTF { #2#3 } { \regex_build_special:N ] } } { - \exp_not:N \regex_if_word_boundary:TF - { - \regex_action_free:n - { - \int_eval:n - { \l_regex_right_state_int - \l_regex_left_state_int } - } - } - { } + \msg_kernel_warning:nnx { regex } { end-range-missing } % [ + { #1 - \if_meaning:w #3 ] \else: \c_backslash_str \fi: #3 } + \regex_class_put:N #1 + \regex_class_put:N - + #2#3 + } + { + \if_num:w `#1 > `#3 \exp_stop_f: + \msg_kernel_error:nnxx { regex } { backwards-range } {#1} {#3} + \else: + \if_num:w `#1 = `#3 \exp_stop_f: + \regex_class_put:N #3 + \else: + \regex_class_put:NN #1#3 + \fi: + \fi: } } -\cs_new_protected_nopar:Npn \regex_build_B: +\cs_new_protected_nopar:cpn { regex_build_.: } { - \regex_build_new_state: - \regex_toks_put_right:Nx \l_regex_left_state_int + \regex_build_if_in_class:TF + { \regex_build_raw:N . } + { \regex_build_one:x \regex_item_dot: } + } +\tl_map_inline:nn { dDhHsSvVwWN } + { + \cs_new_protected_nopar:cpx { regex_build_/#1: } + { \regex_build_one:n \exp_not:c { c_regex_#1_tl } } + } +\cs_new_protected:Npn \regex_build_simple_assertion:Nn #1#2 + { + \regex_build_if_in_class:TF + { \regex_build_raw_alphanum_is_error:N #1 } { - \exp_not:N \regex_if_word_boundary:TF - { } + \regex_build_new_state: + \regex_toks_put_right:Nx \l_regex_left_state_int { - \regex_action_free:n + \exp_not:n {#2} { - \int_eval:n - { \l_regex_right_state_int - \l_regex_left_state_int } + \regex_action_free:n + { + \int_eval:n + { \l_regex_right_state_int - \l_regex_left_state_int } + } } } + %^^A \regex_assertion_quantifier: } } +\cs_new_protected_nopar:cpn { regex_build_^: } + { + \regex_build_simple_assertion:Nn ^ + { \int_compare:nNnT \l_regex_min_step_int = \l_regex_current_step_int } + } +\cs_new_protected_nopar:cpn { regex_build_/A: } + { + \regex_build_simple_assertion:Nn A + { \int_compare:nNnT \l_regex_min_step_int = \l_regex_current_step_int } + } +\cs_new_protected_nopar:cpn { regex_build_/G: } + { + \regex_build_simple_assertion:Nn G + { \int_compare:nNnT \l_regex_start_step_int = \l_regex_current_step_int } + } +\cs_new_protected_nopar:cpn { regex_build_$: } % $ + { + \regex_build_simple_assertion:Nn $ % $ + { \int_compare:nNnT \l_regex_current_char_int < \c_minus_one } + } +\cs_new_protected_nopar:cpn { regex_build_/Z: } + { + \regex_build_simple_assertion:Nn Z + { \int_compare:nNnT \l_regex_current_char_int < \c_minus_one } + } +\cs_new_protected_nopar:cpn { regex_build_/z: } + { + \regex_build_simple_assertion:Nn z + { \int_compare:nNnT \l_regex_current_char_int < \c_minus_one } + } +\cs_new_protected_nopar:cpn { regex_build_/b: } + { + \regex_build_simple_assertion:Nn b + { \regex_if_word_boundary:TF \use:n \use_none:n } + } +\cs_new_protected_nopar:cpn { regex_build_/B: } + { + \regex_build_simple_assertion:Nn B + { \regex_if_word_boundary:TF { } } + } \cs_new_protected_nopar:Npn \regex_if_word_boundary:TF { \group_begin: @@ -587,211 +685,179 @@ { \group_end: \c_regex_w_tl } \regex_break_point:TF } -\cs_new_protected:Npn \regex_build_one:n #1 - { \regex_build_one:x { \exp_not:n {#1} } } -\cs_new_protected:Npn \regex_build_one:x #1 - { - \cs_set_nopar:Npx \regex_build_tmp_class:n ##1 - { - \exp_not:N \exp_not:n {#1} - \regex_break_point:TF { \regex_action_cost:n {##1} } { } - } - \regex_build_one_quantifier: - } -\cs_new_protected_nopar:Npn \regex_build_default_raw:N #1 - { \regex_build_one:x { \regex_item_equal:n { \int_value:w `#1 ~ } } } -\cs_new_protected_nopar:cpn { regex_build_.: } - { - \cs_set:Npn \regex_build_tmp_class:n ##1 - { \regex_item_dot:T { \regex_action_cost:n {##1} } } - \regex_build_one_quantifier: - } -\tl_map_inline:nn { dDhHsSvVwWN } - { - \cs_new_protected_nopar:cpx { regex_build_#1: } - { \regex_build_one:n \exp_not:c { c_regex_#1_tl } } - } -\cs_new_protected:Npn \regex_class_one:n - { \tl_put_right:Nn \l_regex_class_tl } -\cs_new_protected:Npn \regex_class_one:x - { \tl_put_right:Nx \l_regex_class_tl } \cs_new_protected_nopar:cpn { regex_build_[: } { - \tl_clear:N \l_regex_class_tl - \cs_set_eq:NN \regex_build_raw:N \regex_class_default_raw:N - \tl_set:Nn \l_regex_build_or_class_tl { class } - \regex_class_first:NN + \regex_build_if_in_class:TF + { \regex_build_raw:N [ } + { \regex_class_first:NNNN } } -\cs_new_protected_nopar:cpn { regex_class_]: } +\cs_new_protected:cpn { regex_build_]: } { - \tl_if_empty:NTF \l_regex_class_tl %[ - { \regex_class_default_raw:N ] } + \regex_build_if_in_class:TF { - \cs_set_eq:NN \regex_build_raw:N \regex_build_default_raw:N - \tl_set:Nn \l_regex_build_or_class_tl { build } - \cs_set:Npn \regex_build_tmp_class:n ##1 - { - \exp_not:o \l_regex_class_tl - \bool_if:NTF \l_regex_class_bool - { \regex_break_point:TF { \regex_action_cost:n {##1} } { } } - { \regex_break_point:TF { } { \regex_action_cost:n {##1} } } - } - \regex_build_one_quantifier: + \if_num:w \l_regex_build_mode_int > \c_sixteen + \tl_set:Nx \l_regex_class_tl + { + \exp_not:o \l_regex_class_saved_tl + \if_num:w \l_regex_catcodes_int < \c_regex_catcodes_all_int + \regex_item_catcode:nT { \int_use:N \l_regex_catcodes_int } + \else: + \exp_after:wN \use:n + \fi: + { + \exp_not:o \l_regex_class_tl + \bool_if:NF \l_regex_class_bool + { \regex_break_point:TF { } { \regex_break_true:w } } + } + } + \bool_set_eq:NN \l_regex_class_bool \l_regex_class_saved_bool + \fi: + \tex_advance:D \l_regex_build_mode_int - \c_fifteen + \tex_divide:D \l_regex_build_mode_int \c_thirteen + \if_int_odd:w \l_regex_build_mode_int \else: + \exp_after:wN \regex_build_one_quantifier: + \fi: } + { \regex_build_raw:N ] } } -\cs_new_protected_nopar:Npn \regex_class_first:NN #1#2 +\cs_new_protected:Npn \regex_class_first:NNNN #1#2#3#4 { - \str_if_eq:nnTF {#1#2} { \regex_build_control:N ^ } - { \bool_set_false:N \l_regex_class_bool } + \l_regex_build_mode_int = \int_value:w \l_regex_build_mode_int 3 ~ % + \if_num:w \l_regex_build_mode_int > \c_sixteen + \tl_set_eq:NN \l_regex_class_saved_tl \l_regex_class_tl + \bool_set_eq:NN \l_regex_class_saved_bool \l_regex_class_bool + \fi: + \token_if_eq_meaning:NNTF #1 \regex_build_special:N { - \bool_set_true:N \l_regex_class_bool - #1 #2 + \token_if_eq_charcode:NNTF #2 ^ + { + \bool_set_false:N \l_regex_class_bool % [ + \str_if_eq:nnTF {#3#4} { \regex_build_special:N ] } + { \regex_build_raw:N } + } + { % [ + \token_if_eq_charcode:NNTF #2 ] + { \regex_build_raw:N #2 } + { #1 #2 } + } } + { #1 #2 } + #3 #4 } -\cs_new_protected_nopar:Npn \regex_class_default_raw:N #1#2#3 +\cs_new_protected:cpn { regex_build_/c: } { - \str_if_eq:nnTF {#2#3} { \regex_build_control:N - } - { \regex_class_range:Nw #1 } - { - \regex_class_single:N #1 - #2 #3 - } + \if_case:w \l_regex_build_mode_int + \exp_after:wN \regex_build_c_aux:wNN + \or: \or: \or: \exp_after:wN \regex_build_c_aux:wNN + \fi: + \msg_kernel_error:nn { regex } { c-bad-mode } + \s_stop } -\cs_new_protected_nopar:Npn \regex_class_single:N #1 - { \regex_class_one:x { \regex_item_equal:n { \int_value:w `#1 } } } -\cs_new_protected_nopar:Npn \regex_class_range:Nw #1#2#3 +\cs_new_protected:Npn \regex_build_c_aux:wNN #1 \s_stop #2#3 { - \token_if_eq_meaning:NNTF #2 \regex_build_control:N + \token_if_eq_meaning:NNTF #2 \regex_build_raw:N { - \cs_if_exist:cTF { regex_class_#3: } + \cs_if_exist:cTF { c_regex_catcode_#3_int } { - \regex_class_single:N #1 - \regex_class_single:N - - #2#3 + \int_set_eq:Nc \l_regex_catcodes_int { c_regex_catcode_#3_int } + \l_regex_build_mode_int + = \if_case:w \l_regex_build_mode_int \c_two \else: \c_six \fi: } - { \regex_class_range_put:NN #1#3 } } - { \regex_class_range_put:NN #1#3 } + { \cs_if_exist_use:cF { regex_build_c_#3: } } + { + \msg_kernel_error:nnxx { regex } { c-command } + { regular~expression } { #3 } + #2 #3 + } } -\cs_new_protected_nopar:Npn \regex_class_range_put:NN #1#2 +\cs_new_protected:cpn { regex_build_c_ \c_lbrace_str : } { - \if_num:w `#1 > `#2 \exp_stop_f: - \msg_kernel_error:nnxx { regex } { backwards-range } {#1} {#2} - \else: - \regex_class_one:x - { - \if_num:w `#1 = `#2 \exp_stop_f: - \regex_item_equal:n - \else: - \regex_item_range:nn { \int_value:w `#1 } - \fi: - { \int_value:w `#2 } - } - \fi: + \group_begin: + \l_regex_build_mode_int + = - \if_case:w \l_regex_build_mode_int \c_two \else: \c_six \fi: + \regex_build:w } -\tl_map_inline:nn { dDhHsSvVwWN } +\cs_new_protected:cpn { regex_build_c_[: } #1#2 { - \cs_new_protected_nopar:cpx { regex_class_#1: } - { \regex_class_one:n \exp_not:c { c_regex_#1_tl } } + \int_zero:N \l_regex_catcodes_int + \str_if_eq:nnTF { #1 #2 } { \regex_build_special:N ^ } + { + \bool_set_false:N \l_regex_catcodes_bool + \regex_build_c_lbrack_loop:NN + } + { + \bool_set_true:N \l_regex_catcodes_bool + \regex_build_c_lbrack_loop:NN + #1#2 + } } -\cs_new_protected_nopar:Npn \regex_build_c: - { \regex_aux_c:NNNN \regex_item_catcode:n \use_i:nn } -\cs_new_protected_nopar:Npn \regex_build_C: - { \regex_aux_c:NNNN \regex_item_catcode_neq:n \use_ii:nn } -\cs_new_eq:NN \regex_class_c: \regex_build_c: -\cs_new_eq:NN \regex_class_C: \regex_build_C: -\cs_new_protected:Npn \regex_aux_c:NNNN #1#2#3#4 +\cs_new_protected:Npn \regex_build_c_lbrack_loop:NN #1#2 { - \token_if_eq_meaning:NNTF #3 \regex_build_raw:N + \token_if_eq_meaning:NNTF #1 \regex_build_raw:N { - \regex_aux_c_test:NTF #4 + \cs_if_exist:cTF { c_regex_catcode_#2_int } { - \use:c { regex_ \l_regex_build_or_class_tl _one:x } - { #1 { \int_use:N \l_regex_current_catcode_int } } - } - { - \msg_kernel_error:nnx { regex } { build-c } { #4 } - #3 #4 + \exp_args:Nc \regex_build_c_lbrack_add:N + { c_regex_catcode_#2_int } + \regex_build_c_lbrack_loop:NN } } - { - \if_charcode:w \c_lbrace_str \exp_not:N #4 - \exp_after:wN #2 - \else: - \exp_after:wN \use_ii:nn - \fi: - { - \group_begin: - \bool_set_true:N \l_regex_in_csname_bool - \regex_build:w - } - { - \msg_kernel_error:nnx { regex } { build-c } { #4 } - #3 #4 - } + { % [ + \token_if_eq_charcode:NNTF #2 ] + { \regex_build_c_lbrack_end: } } + { + \msg_kernel_error:nnxx { regex } { c-command } + { regular-expression } { #2 } + \regex_build_c_lbrack_end: + } } -\cs_new_protected:Npn \regex_aux_c_test:NTF #1 +\cs_new_protected_nopar:Npn \regex_build_c_lbrack_end: { - \int_set:Nn \l_regex_current_catcode_int - { - \if_case:w \int_eval:w `#1 - `A \int_eval_end: - \c_thirteen % Active - \or: \c_one % Begin-group - \or: \c_zero % Control sequence - \or: \c_eight % Down (subscript) - \or: \c_two % End-group - \else: - \if_case:w \int_eval:w `#1 - `L \int_eval_end: - \c_eleven % Letter - \or: \c_three % Math toggle - \or: \c_minus_one - \or: \c_twelve % Other - \or: \c_six % Parameter - \or: \c_minus_one - \or: \c_minus_one - \or: \c_ten % Space - \or: \c_four % Tab (alignment) - \or: \c_seven % Up (superscript) - \else: \c_minus_one - \fi: - \fi: - } - \if_num:w \l_regex_current_catcode_int = \c_minus_one - \exp_after:wN \use_ii:nn + \l_regex_build_mode_int + = \if_case:w \l_regex_build_mode_int \c_two \else: \c_six \fi: + \if_meaning:w \c_false_bool \l_regex_catcodes_bool + \int_set:Nn \l_regex_catcodes_int + { \c_regex_catcodes_all_int - \l_regex_catcodes_int } + \fi: + } +\cs_new_protected:Npn \regex_build_c_lbrack_add:N #1 + { + \if_int_odd:w \int_eval:w \l_regex_catcodes_int / #1 \int_eval_end: \else: - \exp_after:wN \use_i:nn + \tex_advance:D \l_regex_catcodes_int #1 \fi: } \cs_new_protected:cpn { regex_build_ \c_rbrace_str : } - { - \bool_if:NTF \l_regex_in_csname_bool + { %^^A incorrect recovery for \c{...(...[...} with missing ) or ]. + \int_compare:nNnTF \l_regex_build_mode_int < \c_zero { - \regex_build_Z: + \use:c { regex_build_/Z: } \regex_toks_put_right:Nx \l_regex_right_state_int { \regex_action_success: } \int_incr:N \l_regex_capturing_group_int \use:x { \group_end: - \exp_not:n { \use:c { regex_ \l_regex_build_or_class_tl _one:n } } - { \regex_item_cs:n { \regex_set_aux:N ? } } + \regex_build_one:n + { \regex_item_cs:n { \regex_set_aux:N ? } } } } { \exp_after:wN \regex_build_raw:N \c_rbrace_str } } -\cs_new_protected_nopar:Npn \regex_build_quantifier:w #1#2 +\cs_new_protected:Npn \regex_build_quantifier:w #1#2 { - \token_if_eq_meaning:NNTF #1 \regex_build_control:N + \token_if_eq_meaning:NNTF #1 \regex_build_special:N { \cs_if_exist_use:cF { regex_build_quantifier_#2:w } { - \regex_build_quantifier_end:n { } + \regex_build_quantifier_end:nn { } { } #1 #2 } } { - \regex_build_quantifier_end:n { } + \regex_build_quantifier_end:nn { } { } #1 #2 } } @@ -801,55 +867,55 @@ { \regex_build_quantifier_aux:nnNN { } { * } } \cs_new_protected_nopar:cpn { regex_build_quantifier_+:w } { \regex_build_quantifier_aux:nnNN { } { + } } -\cs_new_protected_nopar:Npn \regex_build_quantifier_aux:nnNN #1#2#3#4 +\cs_new_protected:Npn \regex_build_quantifier_aux:nnNN #1#2#3#4 { - \str_if_eq:nnTF { #3 #4 } { \regex_build_control:N ? } - { \regex_build_quantifier_end:n { #2 #4 } #1 } + \str_if_eq:nnTF { #3 #4 } { \regex_build_special:N ? } + { \regex_build_quantifier_end:nn { #2 #4 } {#1} } { - \regex_build_quantifier_end:n { #2 } #1 + \regex_build_quantifier_end:nn { #2 } {#1} #3 #4 } } \cs_new_protected_nopar:cpn { regex_build_quantifier_ \c_lbrace_str :w } { \regex_get_digits:nw { \regex_build_quantifier_lbrace:n } } -\cs_new_protected_nopar:Npn \regex_build_quantifier_lbrace:n #1 +\cs_new_protected:Npn \regex_build_quantifier_lbrace:n #1 { \tl_if_empty:nTF {#1} { - \regex_build_quantifier_end:n { } + \regex_build_quantifier_end:nn { } { } \exp_after:wN \regex_build_raw:N \c_lbrace_str } { \regex_build_quantifier_lbrace:nw {#1} } } -\cs_new_protected_nopar:Npx \regex_build_quantifier_lbrace:nw #1#2#3 +\cs_new_protected:Npx \regex_build_quantifier_lbrace:nw #1#2#3 { \exp_not:N \prg_case_str:nnn { #2 #3 } { - { \exp_not:N \regex_build_control:N , } + { \exp_not:N \regex_build_special:N , } { \exp_not:N \regex_get_digits:nw { \exp_not:N \regex_build_quantifier_lbrace:nnw {#1} } } - { \exp_not:N \regex_build_control:N \c_rbrace_str } - { \exp_not:N \regex_build_quantifier_end:n {n} {#1} } + { \exp_not:N \regex_build_special:N \c_rbrace_str } + { \exp_not:N \regex_build_quantifier_end:nn {n} { {#1} } } } { - \exp_not:N \regex_build_quantifier_end:n { } + \exp_not:N \regex_build_quantifier_end:nn { } { } \exp_not:N \regex_build_raw:N \c_lbrace_str #1#2 } } -\cs_new_protected_nopar:Npn \regex_build_quantifier_lbrace:nnw #1#2#3#4 +\cs_new_protected:Npn \regex_build_quantifier_lbrace:nnw #1#2#3#4 { \str_if_eq:xxTF { \exp_not:n {#3#4} } - { \exp_not:N \regex_build_control:N \c_rbrace_str } + { \exp_not:N \regex_build_special:N \c_rbrace_str } { \tl_if_empty:nTF {#2} { \regex_build_quantifier_aux:nnNN { {#1} } { n* } } { \regex_build_quantifier_aux:nnNN { {#1} {#2} } { nn } } } %^^A todo: catch the case m>n { - \regex_build_quantifier_end:n { } + \regex_build_quantifier_end:nn { } { } \use:x { \exp_args:No \tl_map_function:nN @@ -859,8 +925,13 @@ #3 #4 } } -\cs_new_protected_nopar:Npn \regex_build_quantifier_end:n #1 - { \use:c { regex_build_ \l_regex_one_or_group_tl _ #1 : } } +\cs_new_protected:Npn \regex_build_quantifier_end:nn #1#2 + { + \use:c { regex_build_ \l_regex_one_or_group_tl _ #1 : } #2 + \tl_clear:N \l_regex_class_tl + \bool_set_true:N \l_regex_class_bool + \int_set_eq:NN \l_regex_catcodes_int \l_regex_catcodes_default_int + } \cs_new_protected_nopar:Npn \regex_build_one_quantifier: { \tl_set:Nx \l_regex_one_or_group_tl { one } @@ -868,30 +939,30 @@ } \cs_new_protected_nopar:Npn \regex_build_one_: { - \regex_build_transition_aux:NN + \regex_build_transition:NN \regex_build_tmp_class:n \l_regex_right_state_int } \cs_new_protected_nopar:cpn { regex_build_one_?: } { - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_build_tmp_class:n \l_regex_right_state_int \regex_action_free:n \l_regex_right_state_int } \cs_new_protected_nopar:cpn { regex_build_one_??: } { - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_right_state_int \regex_build_tmp_class:n \l_regex_right_state_int } \cs_new_protected_nopar:cpn { regex_build_one_*: } { - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_build_tmp_class:n \l_regex_left_state_int \regex_action_free:n \l_regex_right_state_int } \cs_new_protected_nopar:cpn { regex_build_one_*?: } { - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_right_state_int \regex_build_tmp_class:n \l_regex_left_state_int } @@ -899,7 +970,7 @@ { \regex_build_one_: \int_set_eq:NN \l_regex_tmpa_int \l_regex_left_state_int - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_tmpa_int \regex_action_free:n \l_regex_right_state_int } @@ -907,24 +978,24 @@ { \regex_build_one_: \int_set_eq:NN \l_regex_tmpa_int \l_regex_left_state_int - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_right_state_int \regex_action_free:n \l_regex_tmpa_int } -\cs_new_protected_nopar:Npn \regex_build_one_n: #1 +\cs_new_protected:Npn \regex_build_one_n: #1 { \prg_replicate:nn {#1} { \regex_build_one_: } } \cs_new_eq:cN { regex_build_one_n?: } \regex_build_one_n: -\cs_new_protected_nopar:cpx { regex_build_one_n*: } #1 +\cs_new_protected:cpx { regex_build_one_n*: } #1 { \exp_not:N \prg_replicate:nn {#1} { \exp_not:N \regex_build_one_: } \exp_not:c { regex_build_one_*: } } -\cs_new_protected_nopar:cpx { regex_build_one_n*?: } #1 +\cs_new_protected:cpx { regex_build_one_n*?: } #1 { \exp_not:N \prg_replicate:nn {#1} { \exp_not:N \regex_build_one_: } \exp_not:c { regex_build_one_*?: } } -\cs_new_protected_nopar:Npn \regex_build_one_nn_aux:Nnn #1#2#3 +\cs_new_protected:Npn \regex_build_one_nn_aux:Nnn #1#2#3 { \prg_replicate:nn {#2} { \regex_build_one_: } \prg_replicate:nn {#3-#2} {#1} @@ -933,17 +1004,24 @@ { \regex_build_one_nn_aux:Nnn \exp_not:c { regex_build_one_?: } } \cs_new_protected_nopar:cpx { regex_build_one_nn?: } { \regex_build_one_nn_aux:Nnn \exp_not:c { regex_build_one_??: } } -\cs_new_protected_nopar:cpn { regex_build_(: } #1#2 +\cs_new_protected:cpn { regex_build_(: } #1#2 { - \str_if_eq:nnTF { #1 #2 } { \regex_build_control:N ? } - { \regex_build_special_group:NN } + \regex_build_if_in_class:TF { - \int_incr:N \l_regex_capturing_group_int - \regex_seq_push_int:NN - \l_regex_capturing_group_seq \l_regex_capturing_group_int - \regex_build_open_aux: + \regex_build_raw:N ( #1 #2 } + { + \str_if_eq:nnTF { #1 #2 } { \regex_build_special:N ? } + { \regex_build_special_group:NN } + { + \int_incr:N \l_regex_capturing_group_int + \regex_seq_push_int:NN + \l_regex_capturing_group_seq \l_regex_capturing_group_int + \regex_build_open_aux: + #1 #2 + } + } } \cs_new_protected_nopar:Npn \regex_build_open_aux: { @@ -958,16 +1036,22 @@ } \cs_new_protected_nopar:cpn { regex_build_|: } { - \regex_build_end_alternation: - \regex_build_begin_alternation: + \regex_build_if_in_class:TF { \regex_build_raw:N | } + { + \regex_build_end_alternation: + \regex_build_begin_alternation: + } } \cs_new_protected_nopar:cpn { regex_build_): } { - \seq_if_empty:NTF \l_regex_capturing_group_seq - { \msg_kernel_error:nn { regex } { extra-rparen } } + \regex_build_if_in_class:TF { \regex_build_raw:N ) } { - \regex_build_close_aux: - \regex_build_group_quantifier: + \seq_if_empty:NTF \l_regex_capturing_group_seq + { \msg_kernel_error:nn { regex } { extra-rparen } } + { + \regex_build_close_aux: + \regex_build_group_quantifier: + } } } \cs_new_protected_nopar:Npn \regex_build_close_aux: @@ -1005,13 +1089,13 @@ } \regex_seq_get_use:N \l_regex_end_alternation_seq } -\cs_new_protected_nopar:Npn \regex_build_special_group:NN #1#2 +\cs_new_protected:Npn \regex_build_special_group:NN #1#2 { \cs_if_exist_use:cF { regex_build_special_group_\token_to_str:N #2 : } { \msg_kernel_error:nnx { regex } { unsupported } { (? \token_to_str:N #2 } %) - \regex_build_control:N ( % ) + \regex_build_special:N ( % ) \regex_build_raw:N ? #1 #2 } @@ -1060,7 +1144,7 @@ { \regex_build_options:NNN - } -\cs_new_protected_nopar:Npn \regex_build_options:NNN #1#2#3 +\cs_new_protected:Npn \regex_build_options:NNN #1#2#3 { \token_if_eq_meaning:NNTF \regex_build_raw:N #2 { @@ -1090,7 +1174,7 @@ \tl_set:Nn \l_regex_one_or_group_tl { group } \regex_build_quantifier:w } -\cs_new_protected_nopar:Npn \regex_build_group_submatches:NN #1#2 +\cs_new_protected:Npn \regex_build_group_submatches:NN #1#2 { \seq_pop:NN \l_regex_capturing_group_seq \l_regex_tmpa_tl \int_compare:nNnF { \l_regex_tmpa_tl } < \c_zero @@ -1105,10 +1189,10 @@ { \regex_build_group_submatches:NN \l_regex_left_state_int \l_regex_right_state_int - \regex_build_transition_aux:NN + \regex_build_transition:NN \regex_action_free:n \l_regex_right_state_int } -\cs_new_protected_nopar:Npn \regex_build_group_shift:N #1 +\cs_new_protected:Npn \regex_build_group_shift:N #1 { \int_set_eq:NN \l_regex_tmpa_int \l_regex_left_state_int \regex_build_new_state: @@ -1130,11 +1214,11 @@ \regex_build_group_submatches:NN \l_regex_right_state_int \l_regex_left_state_int } -\cs_new_protected_nopar:Npn \regex_build_group_qs_aux:NN #1#2 +\cs_new_protected:Npn \regex_build_group_qs_aux:NN #1#2 { \regex_build_group_shift:N \regex_action_free:n \int_set_eq:NN \l_regex_right_state_int \l_regex_left_state_int - \regex_build_transition_aux:NN \regex_action_free:n #1 + \regex_build_transition:NN \regex_action_free:n #1 #2 \l_regex_tmpa_int { \regex_action_free:n @@ -1166,7 +1250,7 @@ \regex_build_group_submatches:NN \l_regex_left_state_int \l_regex_right_state_int \int_set_eq:NN \l_regex_tmpa_int \l_regex_left_state_int - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_tmpa_int \regex_action_free:n \l_regex_right_state_int } @@ -1175,11 +1259,11 @@ \regex_build_group_submatches:NN \l_regex_left_state_int \l_regex_right_state_int \int_set_eq:NN \l_regex_tmpa_int \l_regex_left_state_int - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_right_state_int \regex_action_free:n \l_regex_tmpa_int } -\cs_new_protected_nopar:Npn \regex_build_group_n_aux:n #1 +\cs_new_protected:Npn \regex_build_group_n_aux:n #1 { \regex_toks_put_right:Nx \l_regex_right_state_int { @@ -1203,39 +1287,39 @@ \int_incr:N \l_regex_tmpb_int } } -\cs_new_protected_nopar:Npn \regex_build_group_n: #1 +\cs_new_protected:Npn \regex_build_group_n: #1 { % ^^A todo: catch case #1 <= 0. \regex_build_group_n_aux:n {#1} - \regex_build_transition_aux:NN + \regex_build_transition:NN \regex_action_free:n \l_regex_right_state_int \regex_build_group_submatches:NN \l_regex_tmpa_int \l_regex_left_state_int } \cs_new_eq:cN { regex_build_group_n?: } \regex_build_group_n: -\cs_new_protected_nopar:cpn { regex_build_group_n*: } #1 +\cs_new_protected:cpn { regex_build_group_n*: } #1 { % ^^A todo: catch case #1 <= 0. \regex_build_group_n_aux:n {#1} - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_tmpa_int \regex_action_free:n \l_regex_right_state_int \regex_build_group_submatches:NN \l_regex_tmpa_int \l_regex_left_state_int } -\cs_new_protected_nopar:cpn { regex_build_group_n*?: } #1 +\cs_new_protected:cpn { regex_build_group_n*?: } #1 { % ^^A todo: catch case #1 <= 0. \regex_build_group_n_aux:n {#1} - \regex_build_transitions_aux:NNNN + \regex_build_transitions:NNNN \regex_action_free:n \l_regex_right_state_int \regex_action_free:n \l_regex_tmpa_int \regex_build_group_submatches:NN \l_regex_tmpa_int \l_regex_left_state_int } -\cs_new_protected_nopar:Npn \regex_build_group_nn: #1#2 +\cs_new_protected:Npn \regex_build_group_nn: #1#2 { % ^^A Not Implemented Yet! \msg_expandable_error:n { Quantifier~{m,n}~not~implemented~yet } \use:c { regex_build_group_n*: } {#1} } -\cs_new_protected_nopar:cpn { regex_build_group_nn?: } #1#2 +\cs_new_protected:cpn { regex_build_group_nn?: } #1#2 { % ^^A Not Implemented Yet! \msg_expandable_error:n { Quantifier~{m,n}~not~implemented~yet } \use:c { regex_build_group_n*?: } {#1} @@ -1250,7 +1334,7 @@ { \regex_state_use_aux:n { } } \cs_new_protected_nopar:Npn \regex_state_use: { \regex_state_use_aux:n { \exp_after:wN \use_none_delimit_by_s_stop:w } } -\cs_new_protected_nopar:Npn \regex_state_use_aux:n #1 +\cs_new_protected:Npn \regex_state_use_aux:n #1 { \if_num:w \tex_dimen:D \l_regex_current_state_int < \l_regex_unique_id_int @@ -1315,7 +1399,7 @@ \int_set_eq:NN \l_regex_min_step_int \l_regex_current_step_int \exp_after:wN \regex_query_set_loop:ww \l_regex_tmpa_tl - \q_mark { ? \prg_map_break: } , + \s_tl { ? \prg_map_break: } \s_tl \prg_break_point:n { } \int_set_eq:NN \l_regex_max_step_int \l_regex_current_step_int \regex_query_set:nnn { } { -1 } { -2 } @@ -1323,7 +1407,7 @@ \regex_match_initial_setup: \regex_match_once: } -\cs_new:Npn \regex_query_set_loop:ww #1 \q_mark #2#3 , +\cs_new:Npn \regex_query_set_loop:ww #1 \s_tl #2#3 \s_tl { \use_none:n #2 \regex_query_set:nnn {#1} {"#2} {#3} @@ -1414,7 +1498,7 @@ \fi: \regex_match_loop: } -\cs_new_nopar:Npn \regex_match_one_index:w #1; +\cs_new:Npn \regex_match_one_index:w #1; { \if_num:w #1 > \l_regex_max_index_int \exp_after:wN \prg_map_break: @@ -1424,7 +1508,7 @@ \exp_after:wN \regex_match_one_index:w \int_use:N \int_eval:w #1 + \c_one ; } -\cs_new_protected_nopar:Npn \regex_match_one_index_aux:n #1 +\cs_new_protected:Npn \regex_match_one_index_aux:n #1 { \int_set:Nn \l_regex_current_state_int {#1} \prop_clear:N \l_regex_current_submatches_prop @@ -1448,14 +1532,14 @@ \fi: \fi: } -\cs_new_protected_nopar:Npn \regex_action_start_wildcard:nn #1#2 +\cs_new_protected_nopar:Npn \regex_action_start_wildcard: { \bool_set_true:N \l_regex_fresh_thread_bool - \regex_action_free:n {#2} + \regex_action_free:n {1} \bool_set_false:N \l_regex_fresh_thread_bool - \regex_action_cost:n {#1} + \regex_action_cost:n {0} } -\cs_new_protected_nopar:Npn \regex_action_cost:n #1 +\cs_new_protected:Npn \regex_action_cost:n #1 { \exp_args:Nf \regex_store_state:n { \int_eval:n { \l_regex_current_state_int + #1 } } @@ -1473,7 +1557,7 @@ \prg_map_break: } } -\cs_new_protected_nopar:Npn \regex_action_free:n #1 +\cs_new_protected:Npn \regex_action_free:n #1 { \cs_set_nopar:Npx \regex_tmp:w { @@ -1486,7 +1570,7 @@ } \regex_tmp:w } -\cs_new_protected_nopar:Npn \regex_action_submatch:n #1 +\cs_new_protected:Npn \regex_action_submatch:n #1 { \prop_put:Nno \l_regex_current_submatches_prop {#1} { \int_use:N \l_regex_current_step_int } @@ -1511,7 +1595,7 @@ \regex_replacement_raw:N {#1} \prg_do_nothing: \prg_do_nothing: - \cs_set_nopar:Npx \regex_nesting:n ##1 + \cs_set:Npx \regex_nesting:n ##1 { + \int_use:N \l_regex_nesting_int \l_regex_nesting_tl @@ -1519,7 +1603,7 @@ } \use:x { - \exp_not:n { \cs_set_nopar:Npn \regex_replacement_tl:n ##1 } + \exp_not:n { \cs_set:Npn \regex_replacement_tl:n ##1 } { \str_aux_toks_range:nn \c_zero \l_regex_replacement_int } } % ^^A rename! Careful with \cP\#. @@ -1574,7 +1658,8 @@ } \cs_new_protected:Npn \regex_replacement_error:NNN #1#2#3 { - \msg_kernel_error:nn { regex } { replacement-#1 } + \msg_kernel_error:nnxx { regex } { #1-command } + { replacement~text } {#3} #2 #3 } \cs_new_protected:Npn \regex_replacement_g:w #1#2 @@ -1611,7 +1696,7 @@ { \regex_replacement_error:NNN g } #1 #2 } -\cs_new_protected_nopar:Npn \regex_replacement_c:w #1#2 +\cs_new_protected:Npn \regex_replacement_c:w #1#2 { \token_if_eq_meaning:NNTF #1 \regex_replacement_unescaped:N { @@ -1626,7 +1711,9 @@ \regex_replacement_put:n { \exp_not:n { \exp_after:wN \regex_replacement_exp_not:N \cs:w } } } -\cs_new_nopar:Npn \regex_replacement_exp_not:N #1 { \exp_not:n {#1} } +\cs_new_eq:cc { regex_replacement_c_C:w } + { regex_replacement_c_ \c_lbrace_str :w } +\cs_new:Npn \regex_replacement_exp_not:N #1 { \exp_not:n {#1} } \group_begin: \char_set_catcode_math_superscript:N \^^@ @@ -1637,7 +1724,7 @@ \cs_new_protected_nopar:Npn \regex_replacement_c_T:w { \regex_replacement_char:nNN { ^^@ } } - \cs_new_protected_nopar:Npn \regex_replacement_c_S:w #1#2 + \cs_new_protected:Npn \regex_replacement_c_S:w #1#2 { \int_compare:nNnTF { `#2 } = \c_zero { \regex_replacement_error:NNN c #1#2 } @@ -1649,7 +1736,7 @@ \char_set_catcode_parameter:N \^^@ \cs_new_protected_nopar:Npn \regex_replacement_c_P:w - { \regex_replacement_char:nNN { ^^@^^@ } } + { \regex_replacement_char:nNN { ^^@^^@^^@^^@^^@^^@^^@^^@ } } \char_set_catcode_other:N \^^@ \cs_new_protected_nopar:Npn \regex_replacement_c_O:w @@ -1687,7 +1774,7 @@ \group_end: -\cs_new_protected_nopar:Npn \regex_replacement_char:nNN #1#2#3 +\cs_new_protected:Npn \regex_replacement_char:nNN #1#2#3 { \char_set_lccode:nn \c_zero { `#3 } \tl_to_lowercase:n @@ -1728,7 +1815,7 @@ \regex_set_aux:n \s_stop } -\cs_new_nopar:Npn \regex_set_aux:n #1 +\cs_new:Npn \regex_set_aux:n #1 { \tex_toks:D #1 { \tex_the:D \tex_toks:D #1 } } \cs_new:Npn \regex_nfa:Nw #1 { @@ -1737,13 +1824,13 @@ } \cs_new_protected_nopar:Npn \regex_use:N { \exp_last_unbraced:No \use_none:nn } -\cs_new_nopar:Npn \regex_to_str:N #1 +\cs_new:Npn \regex_to_str:N #1 { \exp_after:wN \regex_to_str_aux:Nw #1 \tex_toks:D \q_stop \prg_map_break: \tex_toks:D \prg_break_point:n { } } -\cs_new_nopar:Npn \regex_to_str_aux:Nw #1#2\tex_toks:D +\cs_new:Npn \regex_to_str_aux:Nw #1#2\tex_toks:D { \use_none_delimit_by_q_stop:w #2 \q_stop \tl_to_str:n {#1#2} \iow_newline: @@ -1821,12 +1908,12 @@ } \fi: } -\cs_new_protected_nopar:Npn \regex_extract_aux_b:wn #1 < #2 +\cs_new_protected:Npn \regex_extract_aux_b:wn #1 < #2 { \tex_skip:D #1 = #2 sp plus \etex_gluestretch:D \tex_skip:D #1 \scan_stop: } -\cs_new_protected_nopar:Npn \regex_extract_aux_e:wn #1 > #2 +\cs_new_protected:Npn \regex_extract_aux_e:wn #1 > #2 { \tex_skip:D #1 = 1 \tex_skip:D #1 plus #2 sp \scan_stop: @@ -1851,7 +1938,7 @@ \exp_args:NNNo \group_end: \tl_set:Nn #1 \l_regex_tmpa_tl } -\cs_new_nopar:Npn \regex_extract_seq_aux:n #1 +\cs_new:Npn \regex_extract_seq_aux:n #1 { \seq_item:n { @@ -1859,7 +1946,7 @@ \int_value:w \regex_submatch_nesting_aux:n {#1} ; #1; } } -\cs_new_nopar:Npn \regex_extract_seq_aux:ww #1; #2; +\cs_new:Npn \regex_extract_seq_aux:ww #1; #2; { %^^A todo: use flags \if_num:w #1 < \c_zero \flag_raise:N \l_regex_group_end_flag @@ -1989,7 +2076,7 @@ \group_end: \fi: } -\cs_new_protected_nopar:Npn \regex_replace_once_aux:w #1; +\cs_new_protected:Npn \regex_replace_once_aux:w #1; { } \cs_new_protected:Npn \regex_replace_all_aux:NnnN #1#2#3#4 @@ -2041,7 +2128,7 @@ \exp_args:NNNo \group_end: \tl_set:Nn #4 \l_regex_tmpa_tl } -\cs_new_nopar:Npn \regex_replace_all_aux:n #1 +\cs_new:Npn \regex_replace_all_aux:n #1 { \regex_query_substr:nn { \etex_glueshrink:D \tex_skip:D #1 } { \tex_skip:D #1 } @@ -2119,12 +2206,12 @@ is~\\\\ \ \ \ \ \token_to_str:N #1 = \token_to_meaning:N #1 . } -\msg_kernel_new:nnnn { regex } { build-c } - { Misused~\iow_char:N\\c~or\iow_char:N\\C~command~in~regular~expression. } +\msg_kernel_new:nnnn { regex } { c-command } + { Misused~\iow_char:N\\c~or\iow_char:N\\C~command~in~a~#1. } { - The~\iow_char:N\\C~escape~sequence~can~be~followed~by~ - one~of~the~letters~ABCDELMOPSTU.~The~\iow_char:N\\c~ - escape~sequence~can~also~be~followed~by~a~brace~group. + In~a~#1,~the~\iow_char:N\\C~escape~sequence~ + can~be~followed~by~one~of~the~letters~ABCDELMOPSTU~ + or~a~brace~group,~not~by~'#2'. } \msg_kernel_new:nnnn { regex } { unknown-option } { Unknown~option~`#1'~for~regular~expressions. } @@ -2138,19 +2225,13 @@ The~character~or~escape~sequence~`#1'~is~not~defined~ as~an~option~within~regular~expressions. } -\msg_kernel_new:nnnn { regex } { replacement-g } +\msg_kernel_new:nnnn { regex } { g-command } { Missing~brace~for~the~\iow_char:N\\g~construction~in~a~replacement~text. } { In~the~replacement~text~for~a~regular~expression~search,~ submatches~are~represented~either~as~\iow_char:N \\g{dd..d},~ or~\\d,~where~`d'~are~single~digits.~Here,~a~brace~is~missing. } -\msg_kernel_new:nnnn { regex } { replacement-c } - { Something~is~wrong~with~the~replacement~text. } - { - The~\iow_char:N\\c~escape~sequence~can~only~be~followed~by~ - ABCDELMN~or~by~a~brace. - } \msg_kernel_new:nnn { regex } { nfa-misused } { Automaton~#1 used~incorrectly. } %% diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-hex.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-hex.def deleted file mode 100644 index b24f29458a5..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-hex.def +++ /dev/null @@ -1,84 +0,0 @@ -%% -%% This is file `l3str-hex.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `hex') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\cs_new_protected_nopar:Npn \str_convert_input_hex: - { - \group_begin: - \int_set:Nn \tex_escapechar:D { 92 } - \tl_gset:Nx \g_str_result_tl - { - \str_output_byte:w " - \exp_after:wN \str_convert_input_hex_aux:N - \g_str_result_tl 0 { ? 0 - \c_one \prg_map_break: } - \prg_break_point:n { \str_output_end: } - } - \group_end: - } -\cs_new_nopar:Npn \str_convert_input_hex_aux:N #1 - { - \use_none:n #1 - \str_aux_hexadecimal_use:NTF #1 - \str_convert_input_hex_aux_ii:N - \str_convert_input_hex_aux:N - } -\cs_new_nopar:Npn \str_convert_input_hex_aux_ii:N #1 - { - \use_none:n #1 - \str_aux_hexadecimal_use:NTF #1 - { - \str_output_end: - \str_output_byte:w " \str_convert_input_hex_aux:N - } - \str_convert_input_hex_aux_ii:N - } -\cs_new_protected_nopar:Npn \str_convert_output_hex: - { \str_aux_gmap_result:N \str_convert_output_hex_aux:N } -\cs_new_nopar:Npn \str_convert_output_hex_aux:N #1 - { \str_output_hexadecimal:n { `#1 } } -%% -%% -%% End of file `l3str-hex.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88591.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88591.def deleted file mode 100644 index 310226b18d1..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88591.def +++ /dev/null @@ -1,57 +0,0 @@ -%% -%% This is file `l3str-iso88591.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88591') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88591 } -\tl_const:cn { c_str_encoding_iso88591_tl } - { - } -\tl_const:cn { c_str_encoding_iso88591_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso88591.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885910.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885910.def deleted file mode 100644 index 68e6dc9463e..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885910.def +++ /dev/null @@ -1,103 +0,0 @@ -%% -%% This is file `l3str-iso885910.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885910') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885910 } -\tl_const:cn { c_str_encoding_iso885910_tl } - { - { A1 } { 0104 } - { A2 } { 0112 } - { A3 } { 0122 } - { A4 } { 012A } - { A5 } { 0128 } - { A6 } { 0136 } - { A8 } { 013B } - { A9 } { 0110 } - { AA } { 0160 } - { AB } { 0166 } - { AC } { 017D } - { AE } { 016A } - { AF } { 014A } - { B1 } { 0105 } - { B2 } { 0113 } - { B3 } { 0123 } - { B4 } { 012B } - { B5 } { 0129 } - { B6 } { 0137 } - { B8 } { 013C } - { B9 } { 0111 } - { BA } { 0161 } - { BB } { 0167 } - { BC } { 017E } - { BD } { 2015 } - { BE } { 016B } - { BF } { 014B } - { C0 } { 0100 } - { C7 } { 012E } - { C8 } { 010C } - { CA } { 0118 } - { CC } { 0116 } - { D1 } { 0145 } - { D2 } { 014C } - { D7 } { 0168 } - { D9 } { 0172 } - { E0 } { 0101 } - { E7 } { 012F } - { E8 } { 010D } - { EA } { 0119 } - { EC } { 0117 } - { F1 } { 0146 } - { F2 } { 014D } - { F7 } { 0169 } - { F9 } { 0173 } - { FF } { 0138 } - } -\tl_const:cn { c_str_encoding_iso885910_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso885910.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885911.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885911.def deleted file mode 100644 index b22795dea38..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885911.def +++ /dev/null @@ -1,148 +0,0 @@ -%% -%% This is file `l3str-iso885911.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885911') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885911 } -\tl_const:cn { c_str_encoding_iso885911_tl } - { - { A1 } { 0E01 } - { A2 } { 0E02 } - { A3 } { 0E03 } - { A4 } { 0E04 } - { A5 } { 0E05 } - { A6 } { 0E06 } - { A7 } { 0E07 } - { A8 } { 0E08 } - { A9 } { 0E09 } - { AA } { 0E0A } - { AB } { 0E0B } - { AC } { 0E0C } - { AD } { 0E0D } - { AE } { 0E0E } - { AF } { 0E0F } - { B0 } { 0E10 } - { B1 } { 0E11 } - { B2 } { 0E12 } - { B3 } { 0E13 } - { B4 } { 0E14 } - { B5 } { 0E15 } - { B6 } { 0E16 } - { B7 } { 0E17 } - { B8 } { 0E18 } - { B9 } { 0E19 } - { BA } { 0E1A } - { BB } { 0E1B } - { BC } { 0E1C } - { BD } { 0E1D } - { BE } { 0E1E } - { BF } { 0E1F } - { C0 } { 0E20 } - { C1 } { 0E21 } - { C2 } { 0E22 } - { C3 } { 0E23 } - { C4 } { 0E24 } - { C5 } { 0E25 } - { C6 } { 0E26 } - { C7 } { 0E27 } - { C8 } { 0E28 } - { C9 } { 0E29 } - { CA } { 0E2A } - { CB } { 0E2B } - { CC } { 0E2C } - { CD } { 0E2D } - { CE } { 0E2E } - { CF } { 0E2F } - { D0 } { 0E30 } - { D1 } { 0E31 } - { D2 } { 0E32 } - { D3 } { 0E33 } - { D4 } { 0E34 } - { D5 } { 0E35 } - { D6 } { 0E36 } - { D7 } { 0E37 } - { D8 } { 0E38 } - { D9 } { 0E39 } - { DA } { 0E3A } - { DF } { 0E3F } - { E0 } { 0E40 } - { E1 } { 0E41 } - { E2 } { 0E42 } - { E3 } { 0E43 } - { E4 } { 0E44 } - { E5 } { 0E45 } - { E6 } { 0E46 } - { E7 } { 0E47 } - { E8 } { 0E48 } - { E9 } { 0E49 } - { EA } { 0E4A } - { EB } { 0E4B } - { EC } { 0E4C } - { ED } { 0E4D } - { EE } { 0E4E } - { EF } { 0E4F } - { F0 } { 0E50 } - { F1 } { 0E51 } - { F2 } { 0E52 } - { F3 } { 0E53 } - { F4 } { 0E54 } - { F5 } { 0E55 } - { F6 } { 0E56 } - { F7 } { 0E57 } - { F8 } { 0E58 } - { F9 } { 0E59 } - { FA } { 0E5A } - { FB } { 0E5B } - } -\tl_const:cn { c_str_encoding_iso885911_missing_tl } - { - { DB } - { DC } - { DD } - { DE } - } -%% -%% -%% End of file `l3str-iso885911.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885913.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885913.def deleted file mode 100644 index a0904a29c84..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885913.def +++ /dev/null @@ -1,113 +0,0 @@ -%% -%% This is file `l3str-iso885913.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885913') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885913 } -\tl_const:cn { c_str_encoding_iso885913_tl } - { - { A1 } { 201D } - { A5 } { 201E } - { A8 } { 00D8 } - { AA } { 0156 } - { AF } { 00C6 } - { B4 } { 201C } - { B8 } { 00F8 } - { BA } { 0157 } - { BF } { 00E6 } - { C0 } { 0104 } - { C1 } { 012E } - { C2 } { 0100 } - { C3 } { 0106 } - { C6 } { 0118 } - { C7 } { 0112 } - { C8 } { 010C } - { CA } { 0179 } - { CB } { 0116 } - { CC } { 0122 } - { CD } { 0136 } - { CE } { 012A } - { CF } { 013B } - { D0 } { 0160 } - { D1 } { 0143 } - { D2 } { 0145 } - { D4 } { 014C } - { D8 } { 0172 } - { D9 } { 0141 } - { DA } { 015A } - { DB } { 016A } - { DD } { 017B } - { DE } { 017D } - { E0 } { 0105 } - { E1 } { 012F } - { E2 } { 0101 } - { E3 } { 0107 } - { E6 } { 0119 } - { E7 } { 0113 } - { E8 } { 010D } - { EA } { 017A } - { EB } { 0117 } - { EC } { 0123 } - { ED } { 0137 } - { EE } { 012B } - { EF } { 013C } - { F0 } { 0161 } - { F1 } { 0144 } - { F2 } { 0146 } - { F4 } { 014D } - { F8 } { 0173 } - { F9 } { 0142 } - { FA } { 015B } - { FB } { 016B } - { FD } { 017C } - { FE } { 017E } - { FF } { 2019 } - } -\tl_const:cn { c_str_encoding_iso885913_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso885913.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885914.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885914.def deleted file mode 100644 index 9cbba28749a..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885914.def +++ /dev/null @@ -1,88 +0,0 @@ -%% -%% This is file `l3str-iso885914.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885914') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885914 } -\tl_const:cn { c_str_encoding_iso885914_tl } - { - { A1 } { 1E02 } - { A2 } { 1E03 } - { A4 } { 010A } - { A5 } { 010B } - { A6 } { 1E0A } - { A8 } { 1E80 } - { AA } { 1E82 } - { AB } { 1E0B } - { AC } { 1EF2 } - { AF } { 0178 } - { B0 } { 1E1E } - { B1 } { 1E1F } - { B2 } { 0120 } - { B3 } { 0121 } - { B4 } { 1E40 } - { B5 } { 1E41 } - { B7 } { 1E56 } - { B8 } { 1E81 } - { B9 } { 1E57 } - { BA } { 1E83 } - { BB } { 1E60 } - { BC } { 1EF3 } - { BD } { 1E84 } - { BE } { 1E85 } - { BF } { 1E61 } - { D0 } { 0174 } - { D7 } { 1E6A } - { DE } { 0176 } - { F0 } { 0175 } - { F7 } { 1E6B } - { FE } { 0177 } - } -\tl_const:cn { c_str_encoding_iso885914_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso885914.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885915.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885915.def deleted file mode 100644 index 1501f0308c2..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885915.def +++ /dev/null @@ -1,65 +0,0 @@ -%% -%% This is file `l3str-iso885915.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885915') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885915 } -\tl_const:cn { c_str_encoding_iso885915_tl } - { - { A4 } { 20AC } - { A6 } { 0160 } - { A8 } { 0161 } - { B4 } { 017D } - { B8 } { 017E } - { BC } { 0152 } - { BD } { 0153 } - { BE } { 0178 } - } -\tl_const:cn { c_str_encoding_iso885915_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso885915.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885916.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885916.def deleted file mode 100644 index 84d3e86d0e5..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885916.def +++ /dev/null @@ -1,97 +0,0 @@ -%% -%% This is file `l3str-iso885916.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso885916') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso885916 } -\tl_const:cn { c_str_encoding_iso885916_tl } - { - { A1 } { 0104 } - { A2 } { 0105 } - { A3 } { 0141 } - { A4 } { 20AC } - { A5 } { 201E } - { A6 } { 0160 } - { A8 } { 0161 } - { AA } { 0218 } - { AC } { 0179 } - { AE } { 017A } - { AF } { 017B } - { B2 } { 010C } - { B3 } { 0142 } - { B4 } { 017D } - { B5 } { 201D } - { B8 } { 017E } - { B9 } { 010D } - { BA } { 0219 } - { BC } { 0152 } - { BD } { 0153 } - { BE } { 0178 } - { BF } { 017C } - { C3 } { 0102 } - { C5 } { 0106 } - { D0 } { 0110 } - { D1 } { 0143 } - { D5 } { 0150 } - { D7 } { 015A } - { D8 } { 0170 } - { DD } { 0118 } - { DE } { 021A } - { E3 } { 0103 } - { E5 } { 0107 } - { F0 } { 0111 } - { F1 } { 0144 } - { F5 } { 0151 } - { F7 } { 015B } - { F8 } { 0171 } - { FD } { 0119 } - { FE } { 021B } - } -\tl_const:cn { c_str_encoding_iso885916_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso885916.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88592.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88592.def deleted file mode 100644 index cf3fdb20f03..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88592.def +++ /dev/null @@ -1,114 +0,0 @@ -%% -%% This is file `l3str-iso88592.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88592') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88592 } -\tl_const:cn { c_str_encoding_iso88592_tl } - { - { A1 } { 0104 } - { A2 } { 02D8 } - { A3 } { 0141 } - { A5 } { 013D } - { A6 } { 015A } - { A9 } { 0160 } - { AA } { 015E } - { AB } { 0164 } - { AC } { 0179 } - { AE } { 017D } - { AF } { 017B } - { B1 } { 0105 } - { B2 } { 02DB } - { B3 } { 0142 } - { B5 } { 013E } - { B6 } { 015B } - { B7 } { 02C7 } - { B9 } { 0161 } - { BA } { 015F } - { BB } { 0165 } - { BC } { 017A } - { BD } { 02DD } - { BE } { 017E } - { BF } { 017C } - { C0 } { 0154 } - { C3 } { 0102 } - { C5 } { 0139 } - { C6 } { 0106 } - { C8 } { 010C } - { CA } { 0118 } - { CC } { 011A } - { CF } { 010E } - { D0 } { 0110 } - { D1 } { 0143 } - { D2 } { 0147 } - { D5 } { 0150 } - { D8 } { 0158 } - { D9 } { 016E } - { DB } { 0170 } - { DE } { 0162 } - { E0 } { 0155 } - { E3 } { 0103 } - { E5 } { 013A } - { E6 } { 0107 } - { E8 } { 010D } - { EA } { 0119 } - { EC } { 011B } - { EF } { 010F } - { F0 } { 0111 } - { F1 } { 0144 } - { F2 } { 0148 } - { F5 } { 0151 } - { F8 } { 0159 } - { F9 } { 016F } - { FB } { 0171 } - { FE } { 0163 } - { FF } { 02D9 } - } -\tl_const:cn { c_str_encoding_iso88592_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso88592.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88593.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88593.def deleted file mode 100644 index f9c9c5cf174..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88593.def +++ /dev/null @@ -1,92 +0,0 @@ -%% -%% This is file `l3str-iso88593.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88593') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88593 } -\tl_const:cn { c_str_encoding_iso88593_tl } - { - { A1 } { 0126 } - { A2 } { 02D8 } - { A6 } { 0124 } - { A9 } { 0130 } - { AA } { 015E } - { AB } { 011E } - { AC } { 0134 } - { AF } { 017B } - { B1 } { 0127 } - { B6 } { 0125 } - { B9 } { 0131 } - { BA } { 015F } - { BB } { 011F } - { BC } { 0135 } - { BF } { 017C } - { C5 } { 010A } - { C6 } { 0108 } - { D5 } { 0120 } - { D8 } { 011C } - { DD } { 016C } - { DE } { 015C } - { E5 } { 010B } - { E6 } { 0109 } - { F5 } { 0121 } - { F8 } { 011D } - { FD } { 016D } - { FE } { 015D } - { FF } { 02D9 } - } -\tl_const:cn { c_str_encoding_iso88593_missing_tl } - { - { A5 } - { AE } - { BE } - { C3 } - { D0 } - { E3 } - { F0 } - } -%% -%% -%% End of file `l3str-iso88593.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88594.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88594.def deleted file mode 100644 index 77edd29fe07..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88594.def +++ /dev/null @@ -1,107 +0,0 @@ -%% -%% This is file `l3str-iso88594.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88594') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88594 } -\tl_const:cn { c_str_encoding_iso88594_tl } - { - { A1 } { 0104 } - { A2 } { 0138 } - { A3 } { 0156 } - { A5 } { 0128 } - { A6 } { 013B } - { A9 } { 0160 } - { AA } { 0112 } - { AB } { 0122 } - { AC } { 0166 } - { AE } { 017D } - { B1 } { 0105 } - { B2 } { 02DB } - { B3 } { 0157 } - { B5 } { 0129 } - { B6 } { 013C } - { B7 } { 02C7 } - { B9 } { 0161 } - { BA } { 0113 } - { BB } { 0123 } - { BC } { 0167 } - { BD } { 014A } - { BE } { 017E } - { BF } { 014B } - { C0 } { 0100 } - { C7 } { 012E } - { C8 } { 010C } - { CA } { 0118 } - { CC } { 0116 } - { CF } { 012A } - { D0 } { 0110 } - { D1 } { 0145 } - { D2 } { 014C } - { D3 } { 0136 } - { D9 } { 0172 } - { DD } { 0168 } - { DE } { 016A } - { E0 } { 0101 } - { E7 } { 012F } - { E8 } { 010D } - { EA } { 0119 } - { EC } { 0117 } - { EF } { 012B } - { F0 } { 0111 } - { F1 } { 0146 } - { F2 } { 014D } - { F3 } { 0137 } - { F9 } { 0173 } - { FD } { 0169 } - { FE } { 016B } - { FF } { 02D9 } - } -\tl_const:cn { c_str_encoding_iso88594_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso88594.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88595.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88595.def deleted file mode 100644 index a05b410dc1b..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88595.def +++ /dev/null @@ -1,151 +0,0 @@ -%% -%% This is file `l3str-iso88595.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88595') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88595 } -\tl_const:cn { c_str_encoding_iso88595_tl } - { - { A1 } { 0401 } - { A2 } { 0402 } - { A3 } { 0403 } - { A4 } { 0404 } - { A5 } { 0405 } - { A6 } { 0406 } - { A7 } { 0407 } - { A8 } { 0408 } - { A9 } { 0409 } - { AA } { 040A } - { AB } { 040B } - { AC } { 040C } - { AE } { 040E } - { AF } { 040F } - { B0 } { 0410 } - { B1 } { 0411 } - { B2 } { 0412 } - { B3 } { 0413 } - { B4 } { 0414 } - { B5 } { 0415 } - { B6 } { 0416 } - { B7 } { 0417 } - { B8 } { 0418 } - { B9 } { 0419 } - { BA } { 041A } - { BB } { 041B } - { BC } { 041C } - { BD } { 041D } - { BE } { 041E } - { BF } { 041F } - { C0 } { 0420 } - { C1 } { 0421 } - { C2 } { 0422 } - { C3 } { 0423 } - { C4 } { 0424 } - { C5 } { 0425 } - { C6 } { 0426 } - { C7 } { 0427 } - { C8 } { 0428 } - { C9 } { 0429 } - { CA } { 042A } - { CB } { 042B } - { CC } { 042C } - { CD } { 042D } - { CE } { 042E } - { CF } { 042F } - { D0 } { 0430 } - { D1 } { 0431 } - { D2 } { 0432 } - { D3 } { 0433 } - { D4 } { 0434 } - { D5 } { 0435 } - { D6 } { 0436 } - { D7 } { 0437 } - { D8 } { 0438 } - { D9 } { 0439 } - { DA } { 043A } - { DB } { 043B } - { DC } { 043C } - { DD } { 043D } - { DE } { 043E } - { DF } { 043F } - { E0 } { 0440 } - { E1 } { 0441 } - { E2 } { 0442 } - { E3 } { 0443 } - { E4 } { 0444 } - { E5 } { 0445 } - { E6 } { 0446 } - { E7 } { 0447 } - { E8 } { 0448 } - { E9 } { 0449 } - { EA } { 044A } - { EB } { 044B } - { EC } { 044C } - { ED } { 044D } - { EE } { 044E } - { EF } { 044F } - { F0 } { 2116 } - { F1 } { 0451 } - { F2 } { 0452 } - { F3 } { 0453 } - { F4 } { 0454 } - { F5 } { 0455 } - { F6 } { 0456 } - { F7 } { 0457 } - { F8 } { 0458 } - { F9 } { 0459 } - { FA } { 045A } - { FB } { 045B } - { FC } { 045C } - { FD } { 00A7 } - { FE } { 045E } - { FF } { 045F } - } -\tl_const:cn { c_str_encoding_iso88595_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso88595.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88596.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88596.def deleted file mode 100644 index 1cf3ac63bb4..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88596.def +++ /dev/null @@ -1,137 +0,0 @@ -%% -%% This is file `l3str-iso88596.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88596') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88596 } -\tl_const:cn { c_str_encoding_iso88596_tl } - { - { AC } { 060C } - { BB } { 061B } - { BF } { 061F } - { C1 } { 0621 } - { C2 } { 0622 } - { C3 } { 0623 } - { C4 } { 0624 } - { C5 } { 0625 } - { C6 } { 0626 } - { C7 } { 0627 } - { C8 } { 0628 } - { C9 } { 0629 } - { CA } { 062A } - { CB } { 062B } - { CC } { 062C } - { CD } { 062D } - { CE } { 062E } - { CF } { 062F } - { D0 } { 0630 } - { D1 } { 0631 } - { D2 } { 0632 } - { D3 } { 0633 } - { D4 } { 0634 } - { D5 } { 0635 } - { D6 } { 0636 } - { D7 } { 0637 } - { D8 } { 0638 } - { D9 } { 0639 } - { DA } { 063A } - { E0 } { 0640 } - { E1 } { 0641 } - { E2 } { 0642 } - { E3 } { 0643 } - { E4 } { 0644 } - { E5 } { 0645 } - { E6 } { 0646 } - { E7 } { 0647 } - { E8 } { 0648 } - { E9 } { 0649 } - { EA } { 064A } - { EB } { 064B } - { EC } { 064C } - { ED } { 064D } - { EE } { 064E } - { EF } { 064F } - { F0 } { 0650 } - { F1 } { 0651 } - { F2 } { 0652 } - } -\tl_const:cn { c_str_encoding_iso88596_missing_tl } - { - { A1 } - { A2 } - { A3 } - { A5 } - { A6 } - { A7 } - { A8 } - { A9 } - { AA } - { AB } - { AE } - { AF } - { B0 } - { B1 } - { B2 } - { B3 } - { B4 } - { B5 } - { B6 } - { B7 } - { B8 } - { B9 } - { BA } - { BC } - { BD } - { BE } - { C0 } - { DB } - { DC } - { DD } - { DE } - { DF } - } -%% -%% -%% End of file `l3str-iso88596.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88597.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88597.def deleted file mode 100644 index 3b0b119a49d..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88597.def +++ /dev/null @@ -1,136 +0,0 @@ -%% -%% This is file `l3str-iso88597.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88597') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88597 } -\tl_const:cn { c_str_encoding_iso88597_tl } - { - { A1 } { 2018 } - { A2 } { 2019 } - { A4 } { 20AC } - { A5 } { 20AF } - { AA } { 037A } - { AF } { 2015 } - { B4 } { 0384 } - { B5 } { 0385 } - { B6 } { 0386 } - { B8 } { 0388 } - { B9 } { 0389 } - { BA } { 038A } - { BC } { 038C } - { BE } { 038E } - { BF } { 038F } - { C0 } { 0390 } - { C1 } { 0391 } - { C2 } { 0392 } - { C3 } { 0393 } - { C4 } { 0394 } - { C5 } { 0395 } - { C6 } { 0396 } - { C7 } { 0397 } - { C8 } { 0398 } - { C9 } { 0399 } - { CA } { 039A } - { CB } { 039B } - { CC } { 039C } - { CD } { 039D } - { CE } { 039E } - { CF } { 039F } - { D0 } { 03A0 } - { D1 } { 03A1 } - { D3 } { 03A3 } - { D4 } { 03A4 } - { D5 } { 03A5 } - { D6 } { 03A6 } - { D7 } { 03A7 } - { D8 } { 03A8 } - { D9 } { 03A9 } - { DA } { 03AA } - { DB } { 03AB } - { DC } { 03AC } - { DD } { 03AD } - { DE } { 03AE } - { DF } { 03AF } - { E0 } { 03B0 } - { E1 } { 03B1 } - { E2 } { 03B2 } - { E3 } { 03B3 } - { E4 } { 03B4 } - { E5 } { 03B5 } - { E6 } { 03B6 } - { E7 } { 03B7 } - { E8 } { 03B8 } - { E9 } { 03B9 } - { EA } { 03BA } - { EB } { 03BB } - { EC } { 03BC } - { ED } { 03BD } - { EE } { 03BE } - { EF } { 03BF } - { F0 } { 03C0 } - { F1 } { 03C1 } - { F2 } { 03C2 } - { F3 } { 03C3 } - { F4 } { 03C4 } - { F5 } { 03C5 } - { F6 } { 03C6 } - { F7 } { 03C7 } - { F8 } { 03C8 } - { F9 } { 03C9 } - { FA } { 03CA } - { FB } { 03CB } - { FC } { 03CC } - { FD } { 03CD } - { FE } { 03CE } - } -\tl_const:cn { c_str_encoding_iso88597_missing_tl } - { - { AE } - { D2 } - } -%% -%% -%% End of file `l3str-iso88597.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88598.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88598.def deleted file mode 100644 index 400122b3c14..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88598.def +++ /dev/null @@ -1,124 +0,0 @@ -%% -%% This is file `l3str-iso88598.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88598') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88598 } -\tl_const:cn { c_str_encoding_iso88598_tl } - { - { AA } { 00D7 } - { BA } { 00F7 } - { DF } { 2017 } - { E0 } { 05D0 } - { E1 } { 05D1 } - { E2 } { 05D2 } - { E3 } { 05D3 } - { E4 } { 05D4 } - { E5 } { 05D5 } - { E6 } { 05D6 } - { E7 } { 05D7 } - { E8 } { 05D8 } - { E9 } { 05D9 } - { EA } { 05DA } - { EB } { 05DB } - { EC } { 05DC } - { ED } { 05DD } - { EE } { 05DE } - { EF } { 05DF } - { F0 } { 05E0 } - { F1 } { 05E1 } - { F2 } { 05E2 } - { F3 } { 05E3 } - { F4 } { 05E4 } - { F5 } { 05E5 } - { F6 } { 05E6 } - { F7 } { 05E7 } - { F8 } { 05E8 } - { F9 } { 05E9 } - { FA } { 05EA } - { FD } { 200E } - { FE } { 200F } - } -\tl_const:cn { c_str_encoding_iso88598_missing_tl } - { - { A1 } - { BF } - { C0 } - { C1 } - { C2 } - { C3 } - { C4 } - { C5 } - { C6 } - { C7 } - { C8 } - { C9 } - { CA } - { CB } - { CC } - { CD } - { CE } - { CF } - { D0 } - { D1 } - { D2 } - { D3 } - { D4 } - { D5 } - { D6 } - { D7 } - { D8 } - { D9 } - { DA } - { DB } - { DC } - { DD } - { DE } - { FB } - { FC } - } -%% -%% -%% End of file `l3str-iso88598.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88599.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88599.def deleted file mode 100644 index 1d7effe7915..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88599.def +++ /dev/null @@ -1,63 +0,0 @@ -%% -%% This is file `l3str-iso88599.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `iso88599') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\str_encoding_eight_bit:n { iso88599 } -\tl_const:cn { c_str_encoding_iso88599_tl } - { - { D0 } { 011E } - { DD } { 0130 } - { DE } { 015E } - { F0 } { 011F } - { FD } { 0131 } - { FE } { 015F } - } -\tl_const:cn { c_str_encoding_iso88599_missing_tl } - { - } -%% -%% -%% End of file `l3str-iso88599.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-name.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-name.def deleted file mode 100644 index 66e7dddb6b8..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-name.def +++ /dev/null @@ -1,105 +0,0 @@ -%% -%% This is file `l3str-name.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `name') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\cs_set_protected:Npn \str_tmp:w #1#2#3 - { - \cs_new_protected_nopar:Npn #2 - { - \group_begin: - \int_set:Nn \tex_escapechar:D { 92 } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN #3 \g_str_result_tl - #1 ? { ? \prg_map_break: } - \prg_break_point:n { } - } - \group_end: - } - \cs_new_nopar:Npn #3 ##1#1##2##3 - { - \str_filter_bytes:n {##1} - \use_none:n ##3 - \str_output_byte:w " - \str_aux_hexadecimal_use:NTF ##2 - { - \str_aux_hexadecimal_use:NTF ##3 - { } - { * \c_zero + `#1 \use_i:nn } - } - { 0 + `#1 \use_i:nn } - \str_output_end: - \use_i:nnn #3 ##2##3 - } - } -\exp_after:wN \str_tmp:w \c_hash_str - \str_convert_input_name: \str_convert_input_name_aux:wNN -\str_const:Nn \c_str_convert_output_name_not_str { ! " $ & ' } %$ -\str_const:Nn \c_str_convert_output_name_str { {}/<>[] } -\cs_new_protected_nopar:Npn \str_convert_output_name: - { \str_aux_gmap_result:N \str_convert_output_name_aux:N } -\cs_new_nopar:Npn \str_convert_output_name_aux:N #1 - { - \str_convert_output_name_aux:NTF #1 {#1} - { \c_hash_str \str_output_hexadecimal:n {`#1} } - } -\prg_new_conditional:Npnn \str_convert_output_name_aux:N #1 { TF } - { - \if_num:w `#1 < "2A \exp_stop_f: - \str_if_contains_char:NNTF \c_str_convert_output_name_not_str #1 - \prg_return_true: \prg_return_false: - \else: - \if_num:w `#1 > "7E \exp_stop_f: - \prg_return_false: - \else: - \str_if_contains_char:NNTF \c_str_convert_output_name_str #1 - \prg_return_false: \prg_return_true: - \fi: - \fi: - } -%% -%% -%% End of file `l3str-name.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-string.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-string.def deleted file mode 100644 index 5e8fd099b25..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-string.def +++ /dev/null @@ -1,156 +0,0 @@ -%% -%% This is file `l3str-string.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `string') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\group_begin: - \char_set_lccode:nn {`\*} {`\\} - \char_set_catcode_other:N \^^J - \char_set_catcode_other:N \^^M - \tl_to_lowercase:n - { - \cs_new_protected_nopar:Npn \str_convert_input_string: - { - \group_begin: - \int_set:Nn \tex_escapechar:D { 92 } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN \str_convert_input_string_aux:wN - \g_str_result_tl \prg_map_break: ^^M ? - \prg_break_point:n { } - } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN \str_convert_input_string_aux:wNNN - \g_str_result_tl * ?? { ? \prg_map_break: } - \prg_break_point:n { } - } - \group_end: - } - \cs_new_nopar:Npn \str_convert_input_string_aux:wNNN #1 *#2#3#4 - } - { - \str_filter_bytes:n {#1} - \use_none:n #4 - \str_output_byte:w ' - \str_aux_octal_use:NTF #2 - { - \str_aux_octal_use:NTF #3 - { - \str_aux_octal_use:NTF #4 - { - \if_int_compare:w #2 > \c_three - - 256 - \fi: - \str_convert_input_string_aux:NNNNNN - } - { \str_convert_input_string_aux:NNNNNN ? } - } - { \str_convert_input_string_aux:NNNNNN ?? } - } - { - \prg_case_str:xxn {#2} - { - { \c_backslash_str } { 134 } - { ( } { 50 } - { ) } { 51 } - { r } { 15 } - { f } { 14 } - { n } { 12 } - { t } { 11 } - { b } { 10 } - { ^^J } { 0 - \c_one } - } - { 0 - \c_one \use_i:nn } - } - \str_output_end: - \use_i:nn \str_convert_input_string_aux:wNNN #2#3#4 - } - \cs_new_nopar:Npn \str_convert_input_string_aux:NNNNNN #1#2#3#4#5#6 - { \str_output_end: \str_convert_input_string_aux:wNNN } - \cs_new_nopar:Npn \str_convert_input_string_aux:wN #1 ^^M #2 - { - #1 ^^J - \if_charcode:w ^^J #2 - \exp_after:wN \use_i:nn - \fi: - \str_convert_input_string_aux:wN #2 - } -\group_end: -\str_const:Nx \c_str_convert_output_string_str - { \c_backslash_str ( ) } -\cs_new_protected_nopar:Npn \str_convert_output_string: - { \str_aux_gmap_result:N \str_convert_output_string_aux:N } -\cs_new_nopar:Npn \str_convert_output_string_aux:N #1 - { - \str_convert_output_string_aux:NTF #1 - { - \str_if_contains_char:NNT - \c_str_convert_output_string_str #1 - { \c_backslash_str } - #1 - } - { - \c_backslash_str - \int_div_truncate:nn {`#1} {64} - \int_mod:nn { \int_div_truncate:nn {`#1} \c_eight } \c_eight - \int_mod:nn {`#1} \c_eight - } - } -\prg_new_conditional:Npnn \str_convert_output_string_aux:N #1 { TF } - { - \if_num:w `#1 < "21 \exp_stop_f: - \prg_return_false: - \else: - \if_num:w `#1 > "7E \exp_stop_f: - \prg_return_false: - \else: - \prg_return_true: - \fi: - \fi: - } -%% -%% -%% End of file `l3str-string.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-url.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-url.def deleted file mode 100644 index 13cbde871fe..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-url.def +++ /dev/null @@ -1,103 +0,0 @@ -%% -%% This is file `l3str-url.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `url') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\cs_set_protected:Npn \str_tmp:w #1#2#3 - { - \cs_new_protected_nopar:Npn #2 - { - \group_begin: - \int_set:Nn \tex_escapechar:D { 92 } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN #3 \g_str_result_tl - #1 ? { ? \prg_map_break: } - \prg_break_point:n { } - } - \group_end: - } - \cs_new_nopar:Npn #3 ##1#1##2##3 - { - \str_filter_bytes:n {##1} - \use_none:n ##3 - \str_output_byte:w " - \str_aux_hexadecimal_use:NTF ##2 - { - \str_aux_hexadecimal_use:NTF ##3 - { } - { * \c_zero + `#1 \use_i:nn } - } - { 0 + `#1 \use_i:nn } - \str_output_end: - \use_i:nnn #3 ##2##3 - } - } -\exp_after:wN \str_tmp:w \c_percent_str - \str_convert_input_url: \str_convert_input_url_aux:wNN -\cs_new_protected_nopar:Npn \str_convert_output_url: - { \str_aux_gmap_result:N \str_convert_output_url_aux:N } -\cs_new_nopar:Npn \str_convert_output_url_aux:N #1 - { - \str_convert_output_url_aux:NTF #1 {#1} - { \c_percent_str \str_output_hexadecimal:n { `#1 } } - } -\prg_new_conditional:Npnn \str_convert_output_url_aux:N #1 { TF } - { - \if_num:w `#1 < "41 \exp_stop_f: - \str_if_contains_char:nNTF { "-.<> } #1 - \prg_return_true: \prg_return_false: - \else: - \if_num:w `#1 > "7E \exp_stop_f: - \prg_return_false: - \else: - \str_if_contains_char:nNTF { [ ] } #1 - \prg_return_false: \prg_return_true: - \fi: - \fi: - } -%% -%% -%% End of file `l3str-url.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf16.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf16.def deleted file mode 100644 index 001b955ac07..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf16.def +++ /dev/null @@ -1,191 +0,0 @@ -%% -%% This is file `l3str-utf16.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `utf16') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\group_begin: - \char_set_catcode_other:N \^^fe - \char_set_catcode_other:N \^^ff - \cs_new_protected_nopar:cpx { str_convert_to_utf16: } - { - \exp_not:c { str_convert_to_utf16be: } - \exp_not:n { \tl_gput_left:Nx \g_str_result_tl { ^^fe ^^ff } } - } - \cs_new_protected_nopar:cpn { str_convert_to_utf16be: } - { - \cs_set_eq:NN \str_tmp:w \str_aux_to_utf_xvi_be:n - \str_aux_gmap_internal_result:N \str_aux_to_utf_xvi:n - } - \cs_new_protected_nopar:cpn { str_convert_to_utf16le: } - { - \cs_set_eq:NN \str_tmp:w \str_aux_to_utf_xvi_le:n - \str_aux_gmap_internal_result:N \str_aux_to_utf_xvi:n - } - \cs_new_nopar:Npn \str_aux_to_utf_xvi:n #1 - { - \if_int_compare:w #1 < "D800 \exp_stop_f: - \str_tmp:w {#1} - \else: - \if_int_compare:w #1 < "10000 \exp_stop_f: - \if_int_compare:w #1 < "E000 \exp_stop_f: - \msg_expandable_kernel_error:nnn - { str } { unicode-surrogate } {#1} - \str_tmp:w { \c_str_replacement_char_int } - \else: - \str_tmp:w {#1} - \fi: - \else: - \exp_args:Nf \str_tmp:w { \int_div_truncate:nn {#1} {"400} + "D800 } - \exp_args:Nf \str_tmp:w { \int_mod:nn {#1} {"400} + "DC00 } - \fi: - \fi: - } - \cs_new_nopar:Npn \str_aux_to_utf_xvi_be:n #1 - { - \str_output_byte:n { \int_div_truncate:nn {#1} {"100} } - \str_output_byte:n { \int_mod:nn {#1} {"100} } - } - \cs_new_nopar:Npn \str_aux_to_utf_xvi_le:n #1 - { - \str_output_byte:n { \int_mod:nn {#1} {"100} } - \str_output_byte:n { \int_div_truncate:nn {#1} {"100} } - } - \cs_new_protected_nopar:cpn { str_convert_from_utf16be: } - { \str_aux_from_utf_xvi:No 1 { \g_str_result_tl } } - \cs_new_protected_nopar:cpn { str_convert_from_utf16le: } - { \str_aux_from_utf_xvi:No 2 { \g_str_result_tl } } - \cs_new_protected_nopar:cpn { str_convert_from_utf16: } - { - \exp_after:wN \str_aux_from_utf_xvi_bom:NNw - \g_str_result_tl \scan_stop: \scan_stop: \scan_stop: - } - \cs_new_protected_nopar:Npn - \str_aux_from_utf_xvi_bom:NNw #1#2#3\scan_stop: - { - \str_if_eq:nnTF { #1#2 } { ^^ff ^^fe } - { \str_aux_from_utf_xvi:No 2 {#3} } - { - \str_if_eq:nnTF { #1#2 } { ^^fe ^^ff } - { \str_aux_from_utf_xvi:No 1 {#3} } - { \str_aux_from_utf_xvi:No 1 {#1#2#3} } - } - } - \cs_new_protected_nopar:Npn \str_aux_from_utf_xvi:No #1#2 - { - \cs_set_nopar:Npn \str_tmp:w ##1 ##2 { ` ## #1 } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN \str_aux_from_utf_xvi:NN - #2 \scan_stop: \scan_stop: - \prg_break_point:n { } - } - } - \cs_new:Npn \str_aux_from_utf_xvi:NN #1#2 - { - \if_meaning:w \scan_stop: #2 - \str_aux_from_utf_xvi_end:Nw #1 - \fi: - \if_case:w - \int_eval:w ( \str_tmp:w #1#2 - "D6 ) / \c_four \int_eval_end: - \or: #1#2 \exp_after:wN \str_aux_from_utf_xvi:wNNN - \or: \exp_after:wN \str_aux_from_utf_xvi_error:wNNw - \else: #1#2 \exp_not:N \q_mark \int_use:N \int_eval:w - \fi: - "100 * \str_tmp:w #1#2 + \str_tmp:w #2#1 , - \str_aux_from_utf_xvi:NN - } - \cs_new:Npn \str_aux_from_utf_xvi:wNNN #1, #2#3#4 - { - \if_meaning:w \scan_stop: #4 - \str_aux_from_utf_xvi_end:wNNww #1 , #3 - \fi: - \if_num:w \int_eval:w ( \str_tmp:w #3#4 - "DA ) / \c_four = \c_one - #3 #4 - \int_use:N \int_eval:w - ( #1 - "D800 ) * "400 - + \str_tmp:w #3#4 * "100 + \str_tmp:w #4#3 - "DC00 , - \exp_after:wN \use_i:nnn - \else: - \str_aux_from_utf_xvi_error:wNNw #1 , - \fi: - #2#3#4 - } - \cs_new:Npn \str_aux_from_utf_xvi_error:wNNw #1 \str_tmp:w #2#3 #4, - { - \exp_not:N \q_mark - \msg_expandable_kernel_error:nnn - { str } { utf16-surrogate } { #2#3 } - \c_str_replacement_char_int , - } - \cs_new:Npn \str_aux_from_utf_xvi_end:Nw #1 \fi: - { - \fi: - \if_meaning:w \scan_stop: #1 - \else: - #1 \exp_not:N \q_mark - \msg_expandable_kernel_error:nnn - { str } { utf16-odd } {#1} - \int_use:N \c_str_replacement_char_int , - \fi: - \prg_map_break: - } - \cs_new:Npn \str_aux_from_utf_xvi_end:wNNww #1 `#2#3 #4, #5 \fi: - { - \fi: - \exp_not:N \q_mark - \if_meaning:w \scan_stop: #5 - \msg_expandable_kernel_error:nnn - { str } { utf16-surrogate } { #2#3 } - \else: - \msg_expandable_kernel_error:nnn - { str } { utf16-odd } { #2#3#5 } - \fi: - \int_use:N \c_str_replacement_char_int , - \prg_map_break: - } -\group_end: -%% -%% -%% End of file `l3str-utf16.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf32.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf32.def deleted file mode 100644 index 8251d8c44fe..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf32.def +++ /dev/null @@ -1,143 +0,0 @@ -%% -%% This is file `l3str-utf32.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `utf32') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\group_begin: - \char_set_catcode_other:N \^^00 - \char_set_catcode_other:N \^^fe - \char_set_catcode_other:N \^^ff - \cs_new_protected_nopar:cpx { str_convert_to_utf32: } - { - \exp_not:c { str_convert_to_utf32be: } - \exp_not:n { \tl_gput_left:Nx \g_str_result_tl { ^^00 ^^00 ^^fe ^^ff } } - } - \cs_new_protected_nopar:cpn { str_convert_to_utf32be: } - { \str_aux_gmap_internal_result:N \str_aux_to_utf_xxxii_be:n } - \cs_new_protected_nopar:cpn { str_convert_to_utf32le: } - { \str_aux_gmap_internal_result:N \str_aux_to_utf_xxxii_le:n } - \cs_new:Npn \str_aux_to_utf_xxxii_be:n #1 - { - ^^00 - \str_output_byte:n { \int_div_truncate:nn {#1} { "10000 } } - \str_output_byte:n - { \int_mod:nn { \int_div_truncate:nn {#1} {"100} } {"100} } - \str_output_byte:n { \int_mod:nn {#1} {"100} } - } - \cs_new:Npn \str_aux_to_utf_xxxii_le:n #1 - { - \str_output_byte:n { \int_mod:nn {#1} {"100} } - \str_output_byte:n - { \int_mod:nn { \int_div_truncate:nn {#1} {"100} } {"100} } - \str_output_byte:n { \int_div_truncate:nn {#1} { "10000 } } - ^^00 - } - \cs_new_protected_nopar:cpn { str_convert_from_utf32be: } - { \str_aux_from_utf_xxxii:No 1 { \g_str_result_tl } } - \cs_new_protected_nopar:cpn { str_convert_from_utf32le: } - { \str_aux_from_utf_xxxii:No 2 { \g_str_result_tl } } - \cs_new_protected_nopar:cpn { str_convert_from_utf32: } - { - \exp_after:wN \str_aux_from_utf_xxxii_bom:NNNNw \g_str_result_tl - \scan_stop: \scan_stop: \scan_stop: \scan_stop: \scan_stop: - } - \cs_new_protected_nopar:Npn - \str_aux_from_utf_xxxii_bom:NNNNw #1#2#3#4#5\scan_stop: - { - \str_if_eq:nnTF { #1#2#3#4 } { ^^ff ^^fe ^^00 ^^00 } - { \str_aux_from_utf_xxxii:No 2 {#5} } - { - \str_if_eq:nnTF { #1#2#3#4 } { ^^00 ^^00 ^^fe ^^ff } - { \str_aux_from_utf_xxxii:No 1 {#5} } - { \str_aux_from_utf_xxxii:No 1 {#1#2#3#4#5} } - } - } - \cs_new_protected_nopar:Npn \str_aux_from_utf_xxxii:No #1#2 - { - \cs_set_nopar:Npn \str_tmp:w ##1 ##2 { ` ## #1 } - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN \str_aux_from_utf_xxxii:NNNN - #2 \scan_stop: \scan_stop: \scan_stop: \scan_stop: - \prg_break_point:n { } - } - } - \cs_new:Npn \str_aux_from_utf_xxxii:NNNN #1#2#3#4 - { - \if_meaning:w \scan_stop: #4 - \exp_after:wN \str_aux_from_utf_xxxii_end:w - \fi: - #1#2#3#4 \exp_not:N \q_mark - \if_num:w \int_eval:w - \str_tmp:w #1#4 * \c_two_hundred_fifty_six - + \str_tmp:w #2#3 - > \c_sixteen - \msg_expandable_kernel_error:nnn - { str } { utf32-overflow } { #1#2#3#4 } - \int_use:N \c_str_replacement_char_int - \else: - \int_use:N \int_eval:w - \str_tmp:w #2#3*"10000 - + \str_tmp:w #3#2 * \c_two_hundred_fifty_six - + \str_tmp:w #4#1 - \fi: - , - \str_aux_from_utf_xxxii:NNNN - } - \cs_new:Npn \str_aux_from_utf_xxxii_end:w #1 \scan_stop: - { - \tl_if_empty:nF {#1} - { - \msg_expandable_kernel_error:nnn - { str } { utf32-truncated } { #1 } - #1 \exp_not:N \q_mark - \int_use:N \c_str_replacement_char_int , - } - \prg_map_break: - } -\group_end: -%% -%% -%% End of file `l3str-utf32.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf8.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf8.def deleted file mode 100644 index d6233f22557..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf8.def +++ /dev/null @@ -1,164 +0,0 @@ -%% -%% This is file `l3str-utf8.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3str.dtx (with options: `utf8') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3str.dtx Copyright (C) 2011 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. -%% -%% 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. -%% -%% ----------------------------------------------------------------------- -\cs_new_protected_nopar:cpn { str_convert_to_utf8: } - { \str_aux_gmap_internal_result:N \str_aux_to_utf_viii:n } -\cs_new:Npn \str_aux_to_utf_viii:n #1 - { - \str_aux_to_utf_viii:nnnnw - {#1} { \c_minus_one + \c_zero * \use_none:n } - { 128 } { \c_zero } - { 32 } { 192 } - { 16 } { 224 } - { 8 } { 240 } - \q_stop - } -\cs_new_nopar:Npn \str_aux_to_utf_viii:nnnnw #1#2#3#4 #5 \q_stop - { - \if_num:w #1 < #3 \exp_stop_f: - \str_output_byte:n { #1 + #4 } - \else: - \exp_args:Nf \str_aux_to_utf_viii:nnnnw - { \int_div_truncate:nn {#1} {64} } - {#1} - #5 \q_stop - \fi: - \str_output_byte:n { #2 - 64 * ( #1 - \c_two ) } - } -\cs_new_protected_nopar:cpn { str_convert_from_utf8: } - { - \tl_gset:Nx \g_str_result_tl - { - \exp_after:wN \str_aux_from_utf_viii:N \g_str_result_tl - { \prg_map_break: \str_aux_from_utf_viii_error: } - \prg_break_point:n { } - } - } -\cs_new_nopar:Npn \str_aux_from_utf_viii:N #1 - { - #1 - \if_num:w `#1 < "C0 \exp_stop_f: - \exp_not:N \q_mark - \if_num:w `#1 < "80 \exp_stop_f: - \int_value:w `#1 - \else: - \msg_expandable_kernel_error:nnn - { str } { utf8-extra-conti } {#1} - \int_use:N \c_str_replacement_char_int - \fi: - \else: - \if_num:w `#1 < "F5 \exp_stop_f: - \exp_after:wN \str_aux_from_utf_viii:wwNN - \int_use:N \int_eval:w `#1 - "C0 - \else: - \exp_not:N \q_mark - \msg_expandable_kernel_error:nnn - { str } { utf8-invalid-byte } {#1} - \int_use:N \c_str_replacement_char_int - \fi: - \fi: - , - \use_none_delimit_by_q_stop:w - "80 , "800 , "10000 , "10FFFF , - \q_stop - \str_aux_from_utf_viii:N - } -\cs_new_nopar:Npn \str_aux_from_utf_viii:wwNN #1 , #2 \q_stop #3#4 - { - \use_none:n #4 - \exp_after:wN \str_aux_from_utf_viii:wNNww - \int_use:N \int_eval:w #1 * "40 + `#4 - "80 , - #4 - #2 - \q_stop #3 - } -\cs_new_nopar:Npn \str_aux_from_utf_viii:wNNww #1, #2 #3#4, #5, - { - \if_num:w \int_eval:w ( `#2 + \c_thirty_two ) / "40 = \c_three - \if_num:w #1 < #4 \exp_stop_f: - \str_aux_from_utf_viii_error:w #1 , - \else: - #2 - \if_num:w #1 < #5 \exp_stop_f: - \exp_not:N \q_mark #1 - \else: - \exp_after:wN \str_aux_from_utf_viii:wwNN - \int_use:N \int_eval:w #1 - #5 - \fi: - \fi: - \else: - \exp_after:wN \str_aux_from_utf_viii_error:NwN - \exp_after:wN #2 - \fi: - , #3#5, - } -\cs_new_nopar:Npn \str_aux_from_utf_viii_error:w #1 , - { - \exp_not:N \q_mark - \msg_expandable_kernel_error:nnn - { str } { utf8-overlong } {#1} - \c_str_replacement_char_int - } -\cs_new_nopar:Npn \str_aux_from_utf_viii_error:NwN #1 #2 \q_stop #3 - { - \exp_not:N \q_mark - \msg_expandable_kernel_error:nnn - { str } { utf8-missing-conti } {#1} - \c_str_replacement_char_int , - #3#1 - } -\cs_new_nopar:Npn \str_aux_from_utf_viii_error: - { - \exp_not:N \q_mark - \msg_expandable_kernel_error:nn - { str } { utf8-premature-end } - \c_str_replacement_char_int , - \prg_map_break: - } -%% -%% -%% End of file `l3str-utf8.def'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty index 7d527b6d264..cc4d6716ed5 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3str.dtx Copyright (C) 2011 The LaTeX3 Project +%% File: l3str.dtx Copyright (C) 2011-2012 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 @@ -46,10 +46,11 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{expl3} -\GetIdInfo$Id: l3str.dtx 3088 2011-12-23 02:00:14Z bruno $ +\GetIdInfo$Id: l3str.dtx 3159 2012-01-09 00:51:58Z bruno $ {L3 Experimental Strings} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +\RequirePackage{l3tl-analysis} \group_begin: \cs_set_protected_nopar:Npn \str_tmp:w #1 { @@ -495,11 +496,11 @@ { \exp_after:wN \str_aux_gmap_internal_result_loop:Nww \exp_after:wN #1 - \g_str_result_tl \q_mark \q_stop \prg_map_break: , + \g_str_result_tl \s_tl \q_stop \prg_map_break: \s_tl \prg_break_point:n { } } } -\cs_new_nopar:Npn \str_aux_gmap_internal_result_loop:Nww #1#2\q_mark #3, +\cs_new_nopar:Npn \str_aux_gmap_internal_result_loop:Nww #1 #2 \s_tl #3 \s_tl { \use_none_delimit_by_q_stop:w #3 \q_stop #1 {#3} @@ -819,19 +820,20 @@ \use_none_delimit_by_q_stop:w #1 \q_stop \tex_dimen:D "#1 = \l_str_tmpa_int sp \scan_stop: \tex_skip:D \l_str_tmpa_int = "#1 sp \scan_stop: - \tex_toks:D \l_str_tmpa_int \exp_after:wN { \int_value:w "FFFD } + \tex_toks:D \l_str_tmpa_int \exp_after:wN + { \int_use:N \c_str_replacement_char_int } \tex_advance:D \l_str_tmpa_int \c_one \str_convert_from_eight_bit_load_missing:n } \cs_new:Npn \str_convert_from_eight_bit_aux:N #1 { - #1 \exp_not:N \q_mark + #1 \s_tl \if_num:w \tex_dimen:D `#1 < \l_str_tmpa_int \if_num:w \tex_skip:D \tex_dimen:D `#1 = `#1 \exp_stop_f: \tex_the:D \tex_toks:D \tex_dimen:D \fi: \fi: - \int_value:w `#1 , + \int_value:w `#1 \s_tl } \cs_new_protected:Npn \str_convert_to_eight_bit:n #1 { @@ -856,7 +858,10 @@ } \cs_new:Npn \str_convert_to_eight_bit_aux:n #1 { - \if_num:w #1 < "8000 \exp_stop_f: + \if_num:w #1 > \c_max_register_int + \msg_expandable_kernel_error:nnn + { str } { eight-bit-to-byte-overflow } {#1} + \else: \if_num:w \tex_dimen:D #1 < \l_str_tmpa_int \if_num:w \tex_skip:D \tex_dimen:D #1 = #1 \exp_stop_f: \tex_the:D \tex_toks:D \tex_dimen:D #1 \exp_stop_f: @@ -864,9 +869,6 @@ \fi: \fi: \str_convert_to_eight_bit_aux_ii:n {#1} - \else: - \msg_expandable_kernel_error:nnn - { str } { eight-bit-to-byte-overflow } {#1} \fi: } \cs_new:Npn \str_convert_to_eight_bit_aux_ii:n #1 @@ -915,17 +917,17 @@ \cs_new_protected_nopar:Npn \str_convert_from_native: { \str_aux_gmap_result:N \str_convert_from_native_aux:N } \cs_new:Npn \str_convert_from_native_aux:N #1 - { #1 \exp_not:N \q_mark \int_value:w `#1 , } + { #1 \s_tl \int_value:w `#1 \s_tl } \cs_new_protected_nopar:Npn \str_convert_to_native: { \tl_set_eq:NN \l_str_tmpa_tl \g_str_result_tl \str_aux_convert_to_native:n { \exp_after:wN \str_convert_to_native_aux:w - \l_str_tmpa_tl \q_mark { \q_stop \prg_map_break: } , + \l_str_tmpa_tl \s_tl { \q_stop \prg_map_break: } \s_tl } } -\cs_new_protected_nopar:Npn \str_convert_to_native_aux:w #1\q_mark #2, +\cs_new_protected_nopar:Npn \str_convert_to_native_aux:w #1 \s_tl #2 \s_tl { \use_none_delimit_by_q_stop:w #2 \q_stop \str_aux_convert_to_native_step:n {#2} @@ -1028,6 +1030,8 @@ { Overlong~UTF-8~byte~sequence~for~code~point~#1. } \msg_kernel_new:nnn { str } { utf8-premature-end } { Incomplete~last~UTF-8~character. } +\msg_kernel_new:nnn { str } { utf8-overflow } + { Code~point~#1~too~large~(UTF-8). } \msg_kernel_new:nnn { str } { utf32-overflow } { Code~point~too~large~(UTF-32~`#1'). } \msg_kernel_new:nnn { str } { utf32-truncated } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty index 84479cc1543..d45f996bdc4 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3tl-analysis.dtx Copyright (C) 2011 The LaTeX3 Project +%% File: l3tl-analysis.dtx Copyright (C) 2011-2012 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 @@ -51,18 +51,20 @@ \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \RequirePackage{l3str} +\scan_new:N \s_tl +\cs_new_eq:NN \l_tl_analysis_token ? +\cs_new_eq:NN \l_tl_analysis_char_token ? \int_new:N \l_tl_analysis_normal_int \int_new:N \l_tl_analysis_index_int \int_new:N \l_tl_analysis_nesting_int -\int_new:N \l_tl_analysis_char_int \int_new:N \l_tl_analysis_type_int \tl_new:N \g_tl_analysis_result_tl -\cs_new_protected_nopar:Npn \tl_analysis_extract_charcode: +\cs_new_nopar:Npn \tl_analysis_extract_charcode: { \exp_after:wN \tl_analysis_extract_charcode_aux:w \token_to_meaning:N \l_tl_analysis_token } -\cs_new_protected_nopar:Npn \tl_analysis_extract_charcode_aux:w #1 ~ #2 ~ { ` } +\cs_new:Npn \tl_analysis_extract_charcode_aux:w #1 ~ #2 ~ { ` } \cs_new:Npn \tl_analysis_cs_space_count:NN #1 #2 { \exp_after:wN #1 @@ -94,16 +96,37 @@ \tl_analysis:n {#2} \tl_set_eq:NN #1 \g_tl_analysis_result_tl } +\cs_new_protected:Npn \tl_set_analysis_from_str:Nn #1#2 + { + \str_gset_other:Nn \g_tl_analysis_result_tl {#2} + \tl_set:Nx #1 + { + \exp_after:wN \tl_analysis_from_str_loop:N + \g_tl_analysis_result_tl \prg_map_break: + \prg_break_point:n { } + } + } +\group_begin: + \char_set_catcode_other:N A + \char_set_catcode_other:N C + \cs_new_protected:Npn \tl_analysis_from_str_loop:N #1 + { + #1 \s_tl + \if_charcode:w #1 ~ A \else: C \fi: + \int_value:w `#1 \s_tl + \tl_analysis_from_str_loop:N + } +\group_end: \cs_new_protected:Npn \tl_analysis_setup:n #1 { - \int_set:Nn \tex_escapechar:D { 92 } + \int_set_eq:NN \tex_escapechar:D \c_minus_one \exp_after:wN \tl_analysis_disable_loop:N \tl_to_str:n {#1} { ~ } { ? ~ \prg_map_break: } \prg_break_point:n { } } \group_begin: \char_set_catcode_active:N \^^@ - \cs_new_protected_nopar:Npn \tl_analysis_disable_loop:N #1 + \cs_new_protected:Npn \tl_analysis_disable_loop:N #1 { \tex_lccode:D \c_zero `#1 ~ \tl_to_lowercase:n { \tex_let:D ^^@ } \c_undefined:D @@ -112,6 +135,7 @@ \group_end: \cs_new_protected:Npn \tl_analysis_i:n #1 { + \int_set:Nn \tex_escapechar:D { 92 } \int_zero:N \l_tl_analysis_normal_int \int_zero:N \l_tl_analysis_index_int \int_zero:N \l_tl_analysis_nesting_int @@ -143,39 +167,16 @@ \else: \exp_after:wN \tl_analysis_i_egroup:w \fi: } -\cs_new_protected:Npn \tl_analysis_i_safe:N #1 - { - \if_charcode:w - \scan_stop: - \exp_after:wN \use_none:n \token_to_str:N #1 \prg_do_nothing: - \scan_stop: - \int_incr:N \l_tl_analysis_normal_int - \else: - \tl_analysis_cs_space_count:NN \tl_analysis_i_cs:ww #1 - \fi: - \tl_analysis_i_loop:w - } -\cs_new_protected:Npn \tl_analysis_i_cs:ww #1; #2; - { - \if_num:w #1 > \c_zero - \tex_skip:D \l_tl_analysis_index_int - = \int_eval:w \l_tl_analysis_normal_int + \c_one sp \scan_stop: - \tex_advance:D \l_tl_analysis_index_int #1 \exp_stop_f: - \l_tl_analysis_normal_int #2 \exp_stop_f: - \else: - \tex_advance:D \l_tl_analysis_normal_int #2 \exp_stop_f: - \fi: - } \cs_new_protected_nopar:Npn \tl_analysis_i_space:w { \tex_afterassignment:D \tl_analysis_i_space_test:w \exp_after:wN \cs_set_eq:NN - \exp_after:wN \l_tl_analysis_token + \exp_after:wN \l_tl_analysis_char_token \token_to_str:N } \cs_new_protected_nopar:Npn \tl_analysis_i_space_test:w { - \if_meaning:w \l_tl_analysis_token \c_space_token + \if_meaning:w \l_tl_analysis_char_token \c_space_token \tex_toks:D \l_tl_analysis_index_int { \exp_not:n { ~ } } \tl_analysis_i_store: \else: @@ -193,22 +194,21 @@ \cs_new_protected_nopar:Npn \tl_analysis_i_egroup:w { \tl_analysis_i_group:nw { \if_false: ^^B \fi: ^^@ } } \group_end: -\cs_new_protected_nopar:Npn \tl_analysis_i_group:nw #1 +\cs_new_protected:Npn \tl_analysis_i_group:nw #1 { - \l_tl_analysis_char_int = \tl_analysis_extract_charcode: \scan_stop: - \tex_lccode:D \c_zero \l_tl_analysis_char_int + \tex_lccode:D \c_zero = \tl_analysis_extract_charcode: \scan_stop: \tl_to_lowercase:n { \tex_toks:D \l_tl_analysis_index_int {#1} } - \if_num:w \l_tl_analysis_char_int = \tex_escapechar:D + \if_num:w \tex_lccode:D \c_zero = \tex_escapechar:D \int_set:Nn \tex_escapechar:D { 139 - \tex_escapechar:D } \fi: \tex_afterassignment:D \tl_analysis_i_group_test:w \exp_after:wN \cs_set_eq:NN - \exp_after:wN \l_tl_analysis_token + \exp_after:wN \l_tl_analysis_char_token \token_to_str:N } \cs_new_protected_nopar:Npn \tl_analysis_i_group_test:w { - \if_num:w \tl_analysis_extract_charcode: = \l_tl_analysis_char_int + \if_charcode:w \l_tl_analysis_token \l_tl_analysis_char_token \tl_analysis_i_store: \else: \int_incr:N \l_tl_analysis_normal_int @@ -218,7 +218,7 @@ \cs_new_protected_nopar:Npn \tl_analysis_i_store: { \tex_advance:D \l_tl_analysis_nesting_int \l_tl_analysis_type_int - \if_num:w \l_tl_analysis_char_int = \c_thirty_two + \if_num:w \tex_lccode:D \c_zero = \c_thirty_two \tex_multiply:D \l_tl_analysis_type_int \c_two \fi: \tex_skip:D \l_tl_analysis_index_int @@ -229,6 +229,29 @@ \cs_set_eq:NN \tl_analysis_i_loop:w \scan_stop: \fi: } +\cs_new_protected:Npn \tl_analysis_i_safe:N #1 + { + \if_charcode:w + \scan_stop: + \exp_after:wN \use_none:n \token_to_str:N #1 \prg_do_nothing: + \scan_stop: + \int_incr:N \l_tl_analysis_normal_int + \else: + \tl_analysis_cs_space_count:NN \tl_analysis_i_cs:ww #1 + \fi: + \tl_analysis_i_loop:w + } +\cs_new_protected:Npn \tl_analysis_i_cs:ww #1; #2; + { + \if_num:w #1 > \c_zero + \tex_skip:D \l_tl_analysis_index_int + = \int_eval:w \l_tl_analysis_normal_int + \c_one sp \scan_stop: + \tex_advance:D \l_tl_analysis_index_int #1 \exp_stop_f: + \l_tl_analysis_normal_int #2 \exp_stop_f: + \else: + \tex_advance:D \l_tl_analysis_normal_int #2 \exp_stop_f: + \fi: + } \cs_new_protected:Npn \tl_analysis_ii:n #1 { \tl_gset:Nx \g_tl_analysis_result_tl @@ -251,7 +274,7 @@ } \cs_new:Npn \tl_analysis_ii_normal:wwN #1; #2; #3 { - \exp_not:n { \exp_not:n { #3 } } \exp_not:N \q_mark + \exp_not:n { \exp_not:n { #3 } } \s_tl \if_charcode:w \scan_stop: \exp_after:wN \use_none:n \token_to_str:N #3 \prg_do_nothing: @@ -262,27 +285,37 @@ \fi: #3 #1; #2; } -\cs_new:Npn \tl_analysis_ii_char:Nww #1 - { - \if_meaning:w #1 \c_undefined:D D \else: - \if_catcode:w #1 \c_catcode_other_token C \else: - \if_catcode:w #1 \c_catcode_letter_token B \else: - \if_catcode:w #1 \c_math_toggle_token 3 \else: - \if_catcode:w #1 \c_alignment_token 4 \else: - \if_catcode:w #1 \c_math_superscript_token 7 \else: - \if_catcode:w #1 \c_math_subscript_token 8 \else: - 6 - \fi: \fi: \fi: \fi: \fi: \fi: \fi: - \int_value:w `#1 , - \exp_after:wN \tl_analysis_ii_normals:ww - \int_use:N \int_eval:w \c_minus_one + - } +\group_begin: + \char_set_catcode_other:N A + \char_set_catcode_other:N B + \char_set_catcode_other:N C + \char_set_uccode:nn { `? } { `D } + \tl_to_uppercase:n + { + \cs_new:Npn \tl_analysis_ii_char:Nww #1 + { + \if_meaning:w #1 \c_undefined:D ? \else: + \if_catcode:w #1 \c_catcode_other_token C \else: + \if_catcode:w #1 \c_catcode_letter_token B \else: + \if_catcode:w #1 \c_math_toggle_token 3 \else: + \if_catcode:w #1 \c_alignment_token 4 \else: + \if_catcode:w #1 \c_math_superscript_token 7 \else: + \if_catcode:w #1 \c_math_subscript_token 8 \else: + \if_catcode:w #1 \c_space_token A \else: + 6 + \fi: \fi: \fi: \fi: \fi: \fi: \fi: \fi: + \int_value:w `#1 \s_tl + \exp_after:wN \tl_analysis_ii_normals:ww + \int_use:N \int_eval:w \c_minus_one + + } + } +\group_end: \cs_new:Npn \tl_analysis_ii_cs:Nww #1 { - 0 -1 , + 0 -1 \s_tl \tl_analysis_cs_space_count:NN \tl_analysis_ii_cs_test:ww #1 } -\cs_new:Npn \tl_analysis_ii_cs_test:ww #1 ; #2 ; #3; #4; +\cs_new:Npn \tl_analysis_ii_cs_test:ww #1 ; #2 ; #3 ; #4 ; { \exp_after:wN \tl_analysis_ii_normals:ww \int_use:N \int_eval:w @@ -293,37 +326,41 @@ \fi: - #2 \exp_after:wN ; - \int_use:N \int_eval:w #4 + #1; - } -\cs_new:Npn \tl_analysis_ii_special:w \fi: \tl_analysis_ii_normal:wwN 0; #1; - { - \fi: - \if_num:w #1 = \l_tl_analysis_index_int - \exp_after:wN \prg_map_break: - \fi: - \tex_the:D \tex_toks:D #1 \exp_stop_f: \exp_not:N \q_mark - \if_case:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: - A - \or: 1 - \or: 1 - \else: 2 - \fi: - \if_int_odd:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: - \exp_after:wN \tl_analysis_ii_special_char:wN \int_use:N - \else: - \exp_after:wN \tl_analysis_ii_special_space:w \int_use:N - \fi: - \int_eval:w \c_one + #1 \exp_after:wN ; - \token_to_str:N + \int_use:N \int_eval:w #4 + #1 ; } +\group_begin: + \char_set_catcode_other:N A + \cs_new:Npn \tl_analysis_ii_special:w + \fi: \tl_analysis_ii_normal:wwN 0 ; #1 ; + { + \fi: + \if_num:w #1 = \l_tl_analysis_index_int + \exp_after:wN \prg_map_break: + \fi: + \tex_the:D \tex_toks:D #1 \s_tl + \if_case:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: + A + \or: 1 + \or: 1 + \else: 2 + \fi: + \if_int_odd:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: + \exp_after:wN \tl_analysis_ii_special_char:wN \int_use:N + \else: + \exp_after:wN \tl_analysis_ii_special_space:w \int_use:N + \fi: + \int_eval:w \c_one + #1 \exp_after:wN ; + \token_to_str:N + } +\group_end: \cs_new:Npn \tl_analysis_ii_special_char:wN #1 ; #2 { - \int_value:w `#2 , + \int_value:w `#2 \s_tl \tl_analysis_ii_loop:w #1 ; } \cs_new:Npn \tl_analysis_ii_special_space:w #1 ; ~ { - 32 , + 32 \s_tl \tl_analysis_ii_loop:w #1 ; } \cs_new_protected:Npn \tl_show_analysis:N #1 @@ -333,7 +370,7 @@ { tl-analysis } { \exp_after:wN \tl_show_analysis_loop:wNw \g_tl_analysis_result_tl - \q_mark { ? \prg_map_break: } , + \s_tl { ? \prg_map_break: } \s_tl \prg_break_point:n { } } } @@ -342,7 +379,7 @@ \tl_set:Nn \l_tl_tmpa_tl {#1} \tl_show_analysis:N \l_tl_tmpa_tl } -\cs_new:Npn \tl_show_analysis_loop:wNw #1 \q_mark #2 #3, +\cs_new:Npn \tl_show_analysis_loop:wNw #1 \s_tl #2 #3 \s_tl { \use_none:n #2 \iow_newline: > \c_space_tl \c_space_tl @@ -375,24 +412,27 @@ { \token_to_str:N #1 } { \token_to_meaning:N #1 } } -\cs_new_nopar:Npn \tl_show_analysis_long_aux:nnn #1#2#3 +\cs_new:Npn \tl_show_analysis_long_aux:nnn #1#2#3 { \int_compare:nNnTF - { \str_length:n { >>> #1 ~ ( #3 #2 ) } } - > { \l_iow_line_length_int } + { \str_length:n { #1 ~ ( #3 #2 ) } } + > { \l_iow_line_length_int - \c_three } { - \str_substr:nnn { >>> #1 ~ ( #3 #2 ) } \c_three - { \l_iow_line_length_int - \str_length:N \c_tl_show_analysis_etc_str } + \str_substr:nnn { #1 ~ ( #3 #2 ) } \c_zero + { + \l_iow_line_length_int - \c_three + - \str_length:N \c_tl_show_analysis_etc_str + } \c_tl_show_analysis_etc_str } - {#1~(#3#2)} + { #1 ~ ( #3 #2 ) } } -\str_const:Nx \c_tl_show_analysis_etc_str % ( - { \iow_char:N \\ETC. ) } +\tl_const:Nx \c_tl_show_analysis_etc_str % ( + { \token_to_str:N \ETC.) } \msg_kernel_new:nnn { tl-analysis } { show } { - Token~list~ - \str_if_eq:nnF {#1} { \l_tl_tmpa_tl } { \token_to_str:N #1~} + The~token~list~ + \str_if_eq:nnF {#1} { \l_tl_tmpa_tl } { \token_to_str:N #1 ~ } \tl_if_empty:NTF #1 { is~empty } { contains~the~tokens: } diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index 28bc6b50dc5..d95d1b691d5 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -48,13 +48,13 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: l3galley.dtx 3071 2011-12-20 20:14:00Z bruno $ +\GetIdInfo$Id: l3galley.dtx 3205 2012-01-18 22:09:05Z joseph $ {L3 Experimental galley code} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \package_check_loaded_expl: \cs_new_protected_nopar:Npn \galley_leave_vmode: - { \tex_unhbox:D \c_empty_box } + { \hbox_unpack:N \c_empty_box } \clist_new:N \l_galley_parshape_left_indent_clist \clist_new:N \l_galley_parshape_right_indent_clist \bool_new:N \l_galley_parshape_multipar_bool |