summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3experimental
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-01-19 22:49:25 +0000
committerKarl Berry <karl@freefriends.org>2012-01-19 22:49:25 +0000
commit8764984f07460a77b8200111ddb513c8af6c23f3 (patch)
tree61782419c00b217fc7f14919b9e24bbae260274f /Master/texmf-dist/tex/latex/l3experimental
parent17d590a6bcf898806aeec2d7aa57d641a440ca10 (diff)
l3experimental 3209 (19jan12)
git-svn-id: svn://tug.org/texlive/trunk@25158 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty8
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty807
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-hex.def84
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88591.def57
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885910.def103
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885911.def148
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885913.def113
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885914.def88
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885915.def65
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso885916.def97
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88592.def114
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88593.def92
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88594.def107
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88595.def151
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88596.def137
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88597.def136
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88598.def124
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-iso88599.def63
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-name.def105
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-string.def156
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-url.def103
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf16.def191
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf32.def143
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-utf8.def164
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str.sty32
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty224
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty4
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