diff options
author | Karl Berry <karl@freefriends.org> | 2016-10-19 20:37:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-10-19 20:37:37 +0000 |
commit | 97a401ad817da2dafd1069df9d87a28ed39df69b (patch) | |
tree | f1555539115424980d80f573f5d17ded80989dd8 /Master/texmf-dist/source/latex/l3experimental/l3str | |
parent | 8bd51564ec4daf2be1c0e6767abbd5215cb8b21a (diff) |
l3experimental (18oct16)
git-svn-id: svn://tug.org/texlive/trunk@42305 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3experimental/l3str')
6 files changed, 179 insertions, 201 deletions
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx index d929259efaa..446504ae65b 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx @@ -36,8 +36,8 @@ %<*driver|package> % The version of expl3 required is tested as early as possible, as % some really old versions do not define \ProvidesExplPackage. -\RequirePackage{expl3}[2016/05/14] -%<package>\@ifpackagelater{expl3}{2016/05/14} +\RequirePackage{expl3}[2016/10/19] +%<package>\@ifpackagelater{expl3}{2016/10/19} %<package> {} %<package> {% %<package> \PackageError{l3flag}{Support package l3kernel too old} @@ -49,7 +49,7 @@ %<package> }% %<package> \endinput %<package> } -\GetIdInfo$Id: l3flag.dtx 6492 2016-05-14 20:27:55Z joseph $ +\GetIdInfo$Id: l3flag.dtx 6730 2016-10-19 11:19:38Z joseph $ {L3 Experimental flags} %</driver|package> %<*driver> diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx index e9fc42c8cf2..41969971c69 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx @@ -36,8 +36,8 @@ %<*driver|package> % The version of expl3 required is tested as early as possible, as % some really old versions do not define \ProvidesExplPackage. -\RequirePackage{expl3}[2016/05/14] -%<package>\@ifpackagelater{expl3}{2016/05/14} +\RequirePackage{expl3}[2016/10/19] +%<package>\@ifpackagelater{expl3}{2016/10/19} %<package> {} %<package> {% %<package> \PackageError{l3regex}{Support package l3kernel too old} @@ -49,7 +49,7 @@ %<package> }% %<package> \endinput %<package> } -\GetIdInfo$Id: l3regex.dtx 6492 2016-05-14 20:27:55Z joseph $ +\GetIdInfo$Id: l3regex.dtx 6730 2016-10-19 11:19:38Z joseph $ {L3 Experimental regular expressions} %</driver|package> %<*driver> @@ -1038,7 +1038,7 @@ % $[65,90]$ (upper-case), then add $32$, making it lowercase. If it is % in the lower-case letter range $[97,122]$, subtract $32$. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_compute_case_changed_char: +\cs_new_protected:Npn \@@_compute_case_changed_char: { \int_set_eq:NN \l_@@_case_changed_char_int \l_@@_current_char_int \if_int_compare:w \l_@@_current_char_int < \c_ninety_one @@ -1182,14 +1182,14 @@ % order in which the various tests appear is optimized for usual % mostly lower case letter text. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_prop_d: +\cs_new_protected:Npn \@@_prop_d: { \@@_item_caseful_range:nn \c_forty_eight { 57 } } % 0--9 -\cs_new_protected_nopar:Npn \@@_prop_h: +\cs_new_protected:Npn \@@_prop_h: { \@@_item_caseful_equal:n \c_thirty_two % space \@@_item_caseful_equal:n \c_nine % tab } -\cs_new_protected_nopar:Npn \@@_prop_s: +\cs_new_protected:Npn \@@_prop_s: { \@@_item_caseful_equal:n \c_thirty_two % space \@@_item_caseful_equal:n \c_nine % tab @@ -1197,16 +1197,16 @@ \@@_item_caseful_equal:n \c_twelve % ff \@@_item_caseful_equal:n \c_thirteen % cr } -\cs_new_protected_nopar:Npn \@@_prop_v: +\cs_new_protected:Npn \@@_prop_v: { \@@_item_caseful_range:nn \c_ten \c_thirteen } % lf, vtab, ff, cr -\cs_new_protected_nopar:Npn \@@_prop_w: +\cs_new_protected:Npn \@@_prop_w: { \@@_item_caseful_range:nn \c_ninety_seven { 122 } % a--z \@@_item_caseful_range:nn \c_sixty_five { 90 } % A--Z \@@_item_caseful_range:nn \c_forty_eight { 57 } % 0--9 \@@_item_caseful_equal:n { 95 } % _ } -\cs_new_protected_nopar:Npn \@@_prop_N: +\cs_new_protected:Npn \@@_prop_N: { \@@_item_reverse:n { \@@_item_caseful_equal:n \c_ten } } % \end{macrocode} % \end{macro} @@ -1221,41 +1221,41 @@ % } % \textsc{posix} properties. No surprise. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_posix_alnum: +\cs_new_protected:Npn \@@_posix_alnum: { \@@_posix_alpha: \@@_posix_digit: } -\cs_new_protected_nopar:Npn \@@_posix_alpha: +\cs_new_protected:Npn \@@_posix_alpha: { \@@_posix_lower: \@@_posix_upper: } -\cs_new_protected_nopar:Npn \@@_posix_ascii: +\cs_new_protected:Npn \@@_posix_ascii: { \@@_item_caseful_range:nn \c_zero \c_one_hundred_twenty_seven } \cs_new_eq:NN \@@_posix_blank: \@@_prop_h: -\cs_new_protected_nopar:Npn \@@_posix_cntrl: +\cs_new_protected:Npn \@@_posix_cntrl: { \@@_item_caseful_range:nn \c_zero { 31 } \@@_item_caseful_equal:n \c_one_hundred_twenty_seven } \cs_new_eq:NN \@@_posix_digit: \@@_prop_d: -\cs_new_protected_nopar:Npn \@@_posix_graph: +\cs_new_protected:Npn \@@_posix_graph: { \@@_item_caseful_range:nn { 33 } { 126 } } -\cs_new_protected_nopar:Npn \@@_posix_lower: +\cs_new_protected:Npn \@@_posix_lower: { \@@_item_caseful_range:nn \c_ninety_seven { 122 } } -\cs_new_protected_nopar:Npn \@@_posix_print: +\cs_new_protected:Npn \@@_posix_print: { \@@_item_caseful_range:nn \c_thirty_two { 126 } } -\cs_new_protected_nopar:Npn \@@_posix_punct: +\cs_new_protected:Npn \@@_posix_punct: { \@@_item_caseful_range:nn { 33 } { 47 } \@@_item_caseful_range:nn { 58 } { 64 } \@@_item_caseful_range:nn { 91 } { 96 } \@@_item_caseful_range:nn { 123 } { 126 } } -\cs_new_protected_nopar:Npn \@@_posix_space: +\cs_new_protected:Npn \@@_posix_space: { \@@_item_caseful_equal:n \c_thirty_two \@@_item_caseful_range:nn \c_nine \c_thirteen } -\cs_new_protected_nopar:Npn \@@_posix_upper: +\cs_new_protected:Npn \@@_posix_upper: { \@@_item_caseful_range:nn \c_sixty_five { 90 } } \cs_new_eq:NN \@@_posix_word: \@@_prop_w: -\cs_new_protected_nopar:Npn \@@_posix_xdigit: +\cs_new_protected:Npn \@@_posix_xdigit: { \@@_posix_digit: \@@_item_caseful_range:nn \c_sixty_five { 70 } @@ -1306,9 +1306,9 @@ { %<trace> \trace_push:nnn { regex } { 1 } { @@_escape_use:nnnn } \__tl_build:Nw \l_@@_internal_a_tl - \cs_set_nopar:Npn \@@_escape_unescaped:N ##1 { #1 } - \cs_set_nopar:Npn \@@_escape_escaped:N ##1 { #2 } - \cs_set_nopar:Npn \@@_escape_raw:N ##1 { #3 } + \cs_set:Npn \@@_escape_unescaped:N ##1 { #1 } + \cs_set:Npn \@@_escape_escaped:N ##1 { #2 } + \cs_set:Npn \@@_escape_raw:N ##1 { #3 } \int_set:Nn \tex_escapechar:D { 92 } \__str_gset_other:Nn \g_@@_internal_tl { #4 } \tl_set:Nx \l_@@_internal_b_tl @@ -1337,7 +1337,7 @@ { \@@_escape_unescaped:N #1 } \@@_escape_loop:N } -\cs_new_nopar:cpn { @@_escape_ \c_backslash_str :w } +\cs_new:cpn { @@_escape_ \c_backslash_str :w } \@@_escape_loop:N #1 { \cs_if_exist_use:cF { @@_escape_/\token_to_str:N #1:w } @@ -1372,24 +1372,24 @@ % |\t| take their meaning here. % \begin{macrocode} \cs_new_eq:NN \@@_escape_break:w \__prg_break: -\cs_new_nopar:cpn { @@_escape_/break:w } +\cs_new:cpn { @@_escape_/break:w } { \if_false: { \fi: } \__msg_kernel_error:nn { regex } { trailing-backslash } \exp_after:wN \use_none:n \exp_after:wN { \if_false: } \fi: } -\cs_new_nopar:cpn { @@_escape_~:w } { } -\cs_new_nopar:cpx { @@_escape_/a:w } +\cs_new:cpn { @@_escape_~:w } { } +\cs_new:cpx { @@_escape_/a:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^G } -\cs_new_nopar:cpx { @@_escape_/t:w } +\cs_new:cpx { @@_escape_/t:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^I } -\cs_new_nopar:cpx { @@_escape_/n:w } +\cs_new:cpx { @@_escape_/n:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^J } -\cs_new_nopar:cpx { @@_escape_/f:w } +\cs_new:cpx { @@_escape_/f:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^L } -\cs_new_nopar:cpx { @@_escape_/r:w } +\cs_new:cpx { @@_escape_/r:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^M } -\cs_new_nopar:cpx { @@_escape_/e:w } +\cs_new:cpx { @@_escape_/e:w } { \exp_not:N \@@_escape_raw:N \iow_char:N \^^[ } % \end{macrocode} % \end{macro} @@ -1444,7 +1444,7 @@ % \end{macrocode} % \end{macro} % \end{macro} -% +% ^^A todo: use char_generate in above and rest of file % \begin{macro}[aux]{\@@_escape_x_test:N, \@@_escape_x_testii:N} % Find out whether the first character is a left brace (allowing any % number of hexadecimal digits), or not (allowing up to two @@ -1812,7 +1812,7 @@ % and special characters are normal. Also, for every raw character, we % must look ahead for a possible raw dash. % \begin{macrocode} -\cs_new_nopar:Npn \@@_if_in_class:TF +\cs_new:Npn \@@_if_in_class:TF { \if_int_odd:w \l_@@_mode_int \exp_after:wN \use_i:nn @@ -1827,7 +1827,7 @@ % Right braces are special only directly inside control sequences (at % the inner-most level of nesting, not counting groups). % \begin{macrocode} -\cs_new_nopar:Npn \@@_if_in_cs:TF +\cs_new:Npn \@@_if_in_cs:TF { \if_int_odd:w \l_@@_mode_int \exp_after:wN \use_ii:nn @@ -1846,7 +1846,7 @@ % Assertions are only allowed in modes $0$, $-2$, and $-6$, % \emph{i.e.}, even, non-positive modes. % \begin{macrocode} -\cs_new_nopar:Npn \@@_if_in_class_or_catcode:TF +\cs_new:Npn \@@_if_in_class_or_catcode:TF { \if_int_odd:w \l_@@_mode_int \exp_after:wN \use_i:nn @@ -1867,7 +1867,7 @@ % it applies (modes $23$ and $63$). This is used to tweak how left % brackets behave in modes $2$ and $6$. % \begin{macrocode} -\cs_new_nopar:Npn \@@_if_within_catcode:TF +\cs_new:Npn \@@_if_within_catcode:TF { \if_int_compare:w \l_@@_mode_int > \c_zero \exp_after:wN \use_i:nn @@ -1925,17 +1925,17 @@ % the end, make sure there are no dangling classes nor groups, close % the last branch: we are done building \cs{l_@@_internal_regex}. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_compile:w +\cs_new_protected:Npn \@@_compile:w { \__tl_build_x:Nw \l_@@_internal_regex \int_zero:N \l_@@_group_level_int \int_set_eq:NN \l_@@_default_catcodes_int \c_@@_all_catcodes_int \int_set_eq:NN \l_@@_catcodes_int \l_@@_default_catcodes_int - \cs_set_nopar:Npn \@@_item_equal:n { \@@_item_caseful_equal:n } - \cs_set_nopar:Npn \@@_item_range:nn { \@@_item_caseful_range:nn } + \cs_set:Npn \@@_item_equal:n { \@@_item_caseful_equal:n } + \cs_set:Npn \@@_item_range:nn { \@@_item_caseful_range:nn } \__tl_build_one:n { \@@_branch:n { \if_false: } \fi: } } -\cs_new_protected_nopar:Npn \@@_compile_end: +\cs_new_protected:Npn \@@_compile_end: { \@@_if_in_class:TF { @@ -2146,11 +2146,11 @@ % arguments to \cs{@@_compile_quantifier_lazyness:nnNN}, $-1$ means % that there is no upper bound on the number of repetitions. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_quantifier_?:w } +\cs_new_protected:cpn { @@_compile_quantifier_?:w } { \@@_compile_quantifier_lazyness:nnNN { 0 } { 1 } } -\cs_new_protected_nopar:cpn { @@_compile_quantifier_*:w } +\cs_new_protected:cpn { @@_compile_quantifier_*:w } { \@@_compile_quantifier_lazyness:nnNN { 0 } { -1 } } -\cs_new_protected_nopar:cpn { @@_compile_quantifier_+:w } +\cs_new_protected:cpn { @@_compile_quantifier_+:w } { \@@_compile_quantifier_lazyness:nnNN { 1 } { -1 } } % \end{macrocode} % \end{macro} @@ -2348,13 +2348,13 @@ % \cs{@@_prop_.:}, which matches any character or control % sequence, and refuses $-2$ (end-marker). % \begin{macrocode} -\cs_new_protected_nopar:cpx { @@_compile_.: } +\cs_new_protected:cpx { @@_compile_.: } { \exp_not:N \@@_if_in_class:TF { \@@_compile_raw:N . } { \@@_compile_one:x \exp_not:c { @@_prop_.: } } } -\cs_new_protected_nopar:cpn { @@_prop_.: } +\cs_new_protected:cpn { @@_prop_.: } { \if_int_compare:w \l_@@_current_char_int > - \c_two \exp_after:wN \@@_break_true:w @@ -2379,9 +2379,9 @@ % \begin{macrocode} \cs_set_protected:Npn \@@_tmp:w #1#2 { - \cs_new_protected_nopar:cpx { @@_compile_/#1: } + \cs_new_protected:cpx { @@_compile_/#1: } { \@@_compile_one:x \exp_not:c { @@_prop_#1: } } - \cs_new_protected_nopar:cpx { @@_compile_/#2: } + \cs_new_protected:cpx { @@_compile_/#2: } { \@@_compile_one:x { \@@_item_reverse:n \exp_not:c { @@_prop_#1: } } @@ -2392,7 +2392,7 @@ \@@_tmp:w s S \@@_tmp:w v V \@@_tmp:w w W -\cs_new_protected_nopar:cpn { @@_compile_/N: } +\cs_new_protected:cpn { @@_compile_/N: } { \@@_compile_one:x \@@_prop_N: } % \end{macrocode} % \end{macro} @@ -2420,7 +2420,7 @@ } \cs_set_protected:Npn \@@_tmp:w #1#2 { - \cs_new_protected_nopar:cpn { @@_compile_/#1: } + \cs_new_protected:cpn { @@_compile_/#1: } { \@@_compile_anchor:NF #2 { \@@_compile_raw_error:N #1 } } } \@@_tmp:w A \l_@@_min_pos_int @@ -2429,7 +2429,7 @@ \@@_tmp:w z \l_@@_max_pos_int \cs_set_protected:Npn \@@_tmp:w #1#2 { - \cs_new_protected_nopar:cpn { @@_compile_#1: } + \cs_new_protected:cpn { @@_compile_#1: } { \@@_compile_anchor:NF #2 { \@@_compile_raw:N #1 } } } \exp_args:Nx \@@_tmp:w { \iow_char:N \^ } \l_@@_min_pos_int @@ -2446,7 +2446,7 @@ % knowing what precedes in the token list, this requires more % information, namely, the knowledge of the last character code. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_/b: } +\cs_new_protected:cpn { @@_compile_/b: } { \@@_if_in_class_or_catcode:TF { \@@_compile_raw_error:N b } @@ -2455,7 +2455,7 @@ { \@@_assertion:Nn \c_true_bool { \@@_b_test: } } } } -\cs_new_protected_nopar:cpn { @@_compile_/B: } +\cs_new_protected:cpn { @@_compile_/B: } { \@@_if_in_class_or_catcode:TF { \@@_compile_raw_error:N B } @@ -2501,7 +2501,7 @@ % pre-expand the catcode as an optimization. Otherwise (modes $0$, % $-2$ and $-6$) just parse the class. The mode is updated later. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_[: } +\cs_new_protected:cpn { @@_compile_[: } { \@@_if_in_class:TF { \@@_compile_class_posix_test:w } @@ -2524,7 +2524,7 @@ % leading |^|. The auxiliary \cs{@@_compile_class:TFNN} also % checks for a leading |]| which has a special meaning. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_compile_class_normal:w +\cs_new_protected:Npn \@@_compile_class_normal:w { \@@_compile_class:TFNN { \@@_class:NnnnN \c_true_bool } @@ -2710,7 +2710,7 @@ % denoting special groups, and run the code for the corresponding % special group. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_(: } +\cs_new_protected:cpn { @@_compile_(: } { \@@_if_in_class:TF { \@@_compile_raw:N ( } { \@@_compile_lparen:w } @@ -2740,7 +2740,7 @@ % In a class, the pipe is not special. Otherwise, end the current % branch and open another one. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_|: } +\cs_new_protected:cpn { @@_compile_|: } { \@@_if_in_class:TF { \@@_compile_raw:N | } { @@ -2754,7 +2754,7 @@ % \begin{macro}[aux]{\@@_compile_):} % Within a class, parentheses are not special. Outside, close a group. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_): } +\cs_new_protected:cpn { @@_compile_): } { \@@_if_in_class:TF { \@@_compile_raw:N ) } { \@@_compile_group_end: } @@ -2768,9 +2768,9 @@ % compilation; for those groups, the harder parts will come when % building. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_special_group_::w } +\cs_new_protected:cpn { @@_compile_special_group_::w } { \@@_compile_group_begin:N \@@_group_no_capture:nnnN } -\cs_new_protected_nopar:cpn { @@_compile_special_group_|:w } +\cs_new_protected:cpn { @@_compile_special_group_|:w } { \@@_compile_group_begin:N \@@_group_resetting:nnnN } % \end{macrocode} % \end{macro} @@ -2786,8 +2786,8 @@ { \str_if_eq:nnTF { #1 #2 } { \@@_compile_special:N ) } { - \cs_set_nopar:Npn \@@_item_equal:n { \@@_item_caseless_equal:n } - \cs_set_nopar:Npn \@@_item_range:nn { \@@_item_caseless_range:nn } + \cs_set:Npn \@@_item_equal:n { \@@_item_caseless_equal:n } + \cs_set:Npn \@@_item_range:nn { \@@_item_caseless_range:nn } } { \__msg_kernel_warning:nnx { regex } { unknown-option } { (?i #2 } @@ -2797,13 +2797,13 @@ #1 #2 } } -\cs_new_protected_nopar:cpn { @@_compile_special_group_-:w } #1#2#3#4 +\cs_new_protected:cpn { @@_compile_special_group_-:w } #1#2#3#4 { \str_if_eq:nnTF { #1 #2 #3 #4 } { \@@_compile_raw:N i \@@_compile_special:N ) } { - \cs_set_nopar:Npn \@@_item_equal:n { \@@_item_caseful_equal:n } - \cs_set_nopar:Npn \@@_item_range:nn { \@@_item_caseful_range:nn } + \cs_set:Npn \@@_item_equal:n { \@@_item_caseful_equal:n } + \cs_set:Npn \@@_item_range:nn { \@@_item_caseful_range:nn } } { \__msg_kernel_warning:nnx { regex } { unknown-option } { (?-#2#4 } @@ -2901,7 +2901,7 @@ \tex_advance:D \l_@@_catcodes_int #1 \fi: } -\cs_new_protected_nopar:Npn \@@_compile_c_lbrack_end: +\cs_new_protected:Npn \@@_compile_c_lbrack_end: { \if_meaning:w \c_false_bool \l_@@_catcodes_bool \int_set:Nn \l_@@_catcodes_int @@ -2917,7 +2917,7 @@ % to forbid nesting |\c|. Additionally, disable submatch tracking % since groups don't escape the scope of |\c{...}|. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_c_ \c_left_brace_str :w } +\cs_new_protected:cpn { @@_compile_c_ \c_left_brace_str :w } { \@@_compile:w \@@_disable_submatches: @@ -3079,7 +3079,7 @@ % allowed in the same contexts as |\b|. At the compilation stage, we % leave it as a single control sequence, defined later. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_compile_/K: } +\cs_new_protected:cpn { @@_compile_/K: } { \int_compare:nNnTF \l_@@_mode_int = \c_zero { \__tl_build_one:n { \@@_command_K: } } @@ -3098,25 +3098,25 @@ \cs_new_protected:Npn \@@_show:Nx #1#2 { \__tl_build:Nw \l_@@_internal_a_tl - \cs_set_protected_nopar:Npn \@@_branch:n + \cs_set_protected:Npn \@@_branch:n { \seq_pop_right:NN \l_@@_show_prefix_seq \l_@@_internal_a_tl \@@_show_one:n { +-branch } \seq_put_right:No \l_@@_show_prefix_seq \l_@@_internal_a_tl \use:n } - \cs_set_protected_nopar:Npn \@@_group:nnnN + \cs_set_protected:Npn \@@_group:nnnN { \@@_show_group_aux:nnnnN { } } - \cs_set_protected_nopar:Npn \@@_group_no_capture:nnnN + \cs_set_protected:Npn \@@_group_no_capture:nnnN { \@@_show_group_aux:nnnnN { ~(no~capture) } } - \cs_set_protected_nopar:Npn \@@_group_resetting:nnnN + \cs_set_protected:Npn \@@_group_resetting:nnnN { \@@_show_group_aux:nnnnN { ~(resetting) } } \cs_set_eq:NN \@@_class:NnnnN \@@_show_class:NnnnN - \cs_set_protected_nopar:Npn \@@_command_K: + \cs_set_protected:Npn \@@_command_K: { \@@_show_one:n { reset~match~start~(\iow_char:N\\K) } } \cs_set_protected:Npn \@@_assertion:Nn ##1##2 { \@@_show_one:n { \bool_if:NF ##1 { negative~ } assertion:~##2 } } - \cs_set_nopar:Npn \@@_b_test: { word~boundary } + \cs_set:Npn \@@_b_test: { word~boundary } \cs_set_eq:NN \@@_anchor:N \@@_show_anchor_to_str:N \cs_set_protected:Npn \@@_item_caseful_equal:n ##1 { \@@_show_one:n { char~code~\int_eval:n{##1} } } @@ -3449,14 +3449,14 @@ % the left-end and right-end of each group without help from \TeX{}'s % grouping. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_push_lr_states: +\cs_new_protected:Npn \@@_push_lr_states: { \seq_push:No \l_@@_left_state_seq { \int_use:N \l_@@_left_state_int } \seq_push:No \l_@@_right_state_seq { \int_use:N \l_@@_right_state_int } } -\cs_new_protected_nopar:Npn \@@_pop_lr_states: +\cs_new_protected:Npn \@@_pop_lr_states: { \seq_pop:NN \l_@@_left_state_seq \l_@@_internal_a_tl \int_set:Nn \l_@@_left_state_int \l_@@_internal_a_tl @@ -3477,13 +3477,13 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_toks_put_left:Nx #1#2 { - \cs_set_nopar:Npx \@@_tmp:w { #2 } + \cs_set:Npx \@@_tmp:w { #2 } \tex_toks:D #1 \exp_after:wN \exp_after:wN \exp_after:wN { \exp_after:wN \@@_tmp:w \tex_the:D \tex_toks:D #1 } } \cs_new_protected:Npn \@@_toks_put_right:Nx #1#2 { - \cs_set_nopar:Npx \@@_tmp:w {#2} + \cs_set:Npx \@@_tmp:w {#2} \tex_toks:D #1 \exp_after:wN { \tex_the:D \tex_toks:D \exp_after:wN #1 \@@_tmp:w } } @@ -3517,7 +3517,7 @@ % \texttt{right} state is the new empty state, and the \texttt{left} % state points to the previously \enquote{current} state. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_build_new_state: +\cs_new_protected:Npn \@@_build_new_state: { %<*trace> \trace:nnx { regex } { 2 } @@ -3574,7 +3574,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_class:NnnnN #1#2#3#4#5 { - \cs_set_nopar:Npx \@@_tests_action_cost:n ##1 + \cs_set:Npx \@@_tests_action_cost:n ##1 { \exp_not:n { \exp_not:n {#2} } \bool_if:NTF #1 @@ -3718,7 +3718,7 @@ #1 } } -\cs_new_protected_nopar:Npn \@@_group_no_capture:nnnN +\cs_new_protected:Npn \@@_group_no_capture:nnnN { \@@_group_aux:nnnnN { -1 } } % \end{macrocode} % \end{macro} @@ -4001,7 +4001,7 @@ \exp_after:wN \@@_break_true:w \fi: } -\cs_new_protected_nopar:Npn \@@_b_test: +\cs_new_protected:Npn \@@_b_test: { \group_begin: \int_set_eq:NN \l_@@_current_char_int \l_@@_last_char_int @@ -4017,7 +4017,7 @@ % Change the starting point of the $0$-th submatch (full match), and % transition to a new state, pretending that this is a fresh thread. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_command_K: +\cs_new_protected:Npn \@@_command_K: { \@@_build_new_state: \@@_toks_put_right:Nx \l_@@_left_state_int @@ -4294,10 +4294,10 @@ % boundaries. Then call \cs{@@_match_loop:}, which runs through the % query until the end or until a successful match breaks early. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_match_once: +\cs_new_protected:Npn \@@_match_once: { \if_meaning:w \c_true_bool \l_@@_empty_success_bool - \cs_set_nopar:Npn \@@_if_two_empty_matches:F + \cs_set:Npn \@@_if_two_empty_matches:F { \int_compare:nNnF \l_@@_start_pos_int = \l_@@_current_pos_int } \else: \cs_set_eq:NN \@@_if_two_empty_matches:F \use:n @@ -4322,7 +4322,7 @@ % overall matching is successful as soon as any match % succeeds. Perform the action |#1|, then find the next match. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_single_match: +\cs_new_protected:Npn \@@_single_match: { \tl_set:Nn \l_@@_every_match_tl { \bool_gset_eq:NN \g_@@_success_bool \l_@@_match_success_bool } @@ -4355,7 +4355,7 @@ % \cs{@@_match_once:} matches. We explain the \texttt{fresh_thread} % business when describing \cs{@@_action_wildcard:}. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_match_loop: +\cs_new_protected:Npn \@@_match_loop: { \tex_advance:D \l_@@_step_int \c_two \int_incr:N \l_@@_current_pos_int @@ -4421,7 +4421,7 @@ % the stretch components, and we need a conversion to avoid \TeX{}'s % \enquote{incompatible glue units} error. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_query_get: +\cs_new_protected:Npn \@@_query_get: { \l_@@_current_char_int = \etex_mutoglue:D \tex_muskip:D \l_@@_current_pos_int @@ -4441,7 +4441,7 @@ % state is marked as $\texttt{step}+1$: any thread hitting it at that % point will be terminated. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_use_state: +\cs_new_protected:Npn \@@_use_state: { %<*trace> \trace:nnx { regex } { 2 } { state~\int_use:N \l_@@_current_state_int } @@ -4484,7 +4484,7 @@ % \cs{l_@@_fresh_thread_bool} may be skipped by a successful % thread, hence we had to add it to \cs{@@_match_loop:} too. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_action_start_wildcard: +\cs_new_protected:Npn \@@_action_start_wildcard: { \bool_set_true:N \l_@@_fresh_thread_bool \@@_action_free:n {1} @@ -4508,9 +4508,9 @@ % \enquote{normal} version will revisit a state when within the thread % itself. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_action_free:n +\cs_new_protected:Npn \@@_action_free:n { \@@_action_free_aux:nn { > \l_@@_step_int \else: } } -\cs_new_protected_nopar:Npn \@@_action_free_group:n +\cs_new_protected:Npn \@@_action_free_group:n { \@@_action_free_aux:nn { < \l_@@_step_int } } \cs_new_protected:Npn \@@_action_free_aux:nn #1#2 { @@ -4562,7 +4562,7 @@ \tex_skip:D \l_@@_max_active_int = #1 sp \scan_stop: \int_incr:N \l_@@_max_active_int } -\cs_new_protected_nopar:Npn \@@_store_submatches: +\cs_new_protected:Npn \@@_store_submatches: { \tex_toks:D \l_@@_max_active_int \exp_after:wN { \l_@@_current_submatches_prop } @@ -4577,9 +4577,9 @@ % relevant functions to remove their argument and do nothing % with it. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_disable_submatches: +\cs_new_protected:Npn \@@_disable_submatches: { - \cs_set_protected_nopar:Npn \@@_store_submatches: { } + \cs_set_protected:Npn \@@_store_submatches: { } \cs_set_protected:Npn \@@_action_submatch:n ##1 { } } % \end{macrocode} @@ -4607,7 +4607,7 @@ % pursued further. The values stored here may be overwritten by a % later success of a path with higher precedence. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_action_success: +\cs_new_protected:Npn \@@_action_success: { \@@_if_two_empty_matches:F { @@ -4939,7 +4939,7 @@ } { \@@_replacement_error:NNN c #1#2 } } -\cs_new_protected_nopar:cpn { @@_replacement_c_ \c_left_brace_str :w } +\cs_new_protected:cpn { @@_replacement_c_ \c_left_brace_str :w } { \if_case:w \l_@@_replacement_csnames_int \__tl_build_one:n @@ -5028,7 +5028,7 @@ % query, and to expand their contents to tokens of the query. % \begin{macrocode} \char_set_catcode_active:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_A:w + \cs_new_protected:Npn \@@_replacement_c_A:w { \@@_replacement_char:nNN { \exp_not:n { \exp_not:N ^^@ } } } % \end{macrocode} % \end{macro} @@ -5043,7 +5043,7 @@ % with \pkg{l3tl-analysis}. % \begin{macrocode} \char_set_catcode_group_begin:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_B:w + \cs_new_protected:Npn \@@_replacement_c_B:w { \if_int_compare:w \l_@@_replacement_csnames_int = \c_zero \int_incr:N \l_@@_balance_int @@ -5070,7 +5070,7 @@ % correct category. % \begin{macrocode} \char_set_catcode_math_subscript:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_D:w + \cs_new_protected:Npn \@@_replacement_c_D:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5080,7 +5080,7 @@ % produces the bare end-group token. % \begin{macrocode} \char_set_catcode_group_end:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_E:w + \cs_new_protected:Npn \@@_replacement_c_E:w { \if_int_compare:w \l_@@_replacement_csnames_int = \c_zero \int_decr:N \l_@@_balance_int @@ -5095,7 +5095,7 @@ % Simply \tn{lowercase} a letter null byte to produce an arbitrary letter. % \begin{macrocode} \char_set_catcode_letter:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_L:w + \cs_new_protected:Npn \@@_replacement_c_L:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5104,7 +5104,7 @@ % No surprise here, we lowercase the null math toggle. % \begin{macrocode} \char_set_catcode_math_toggle:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_M:w + \cs_new_protected:Npn \@@_replacement_c_M:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5113,7 +5113,7 @@ % Lowercase an other null byte. % \begin{macrocode} \char_set_catcode_other:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_O:w + \cs_new_protected:Npn \@@_replacement_c_O:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5127,7 +5127,7 @@ % parameter character would be doubled. % \begin{macrocode} \char_set_catcode_parameter:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_P:w + \cs_new_protected:Npn \@@_replacement_c_P:w { \@@_replacement_char:nNN { \exp_not:n { \exp_not:n { ^^@^^@^^@^^@ } } } @@ -5162,7 +5162,7 @@ % trouble in alignment settings. % \begin{macrocode} \char_set_catcode_alignment:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_T:w + \cs_new_protected:Npn \@@_replacement_c_T:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5172,7 +5172,7 @@ % math superscript |^^@|. % \begin{macrocode} \char_set_catcode_math_superscript:N \^^@ - \cs_new_protected_nopar:Npn \@@_replacement_c_U:w + \cs_new_protected:Npn \@@_replacement_c_U:w { \@@_replacement_char:nNN { ^^@ } } % \end{macrocode} % \end{macro} @@ -5212,17 +5212,17 @@ % Compile, then store the result in the user variable with the % appropriate assignment function. % \begin{macrocode} -\cs_new_protected_nopar:Npn \regex_set:Nn #1#2 +\cs_new_protected:Npn \regex_set:Nn #1#2 { \@@_compile:n {#2} \tl_set_eq:NN #1 \l_@@_internal_regex } -\cs_new_protected_nopar:Npn \regex_gset:Nn #1#2 +\cs_new_protected:Npn \regex_gset:Nn #1#2 { \@@_compile:n {#2} \tl_gset_eq:NN #1 \l_@@_internal_regex } -\cs_new_protected_nopar:Npn \regex_const:Nn #1#2 +\cs_new_protected:Npn \regex_const:Nn #1#2 { \@@_compile:n {#2} \tl_const:Nx #1 { \exp_not:o \l_@@_internal_regex } @@ -5364,7 +5364,7 @@ % \cs{prg_return_true:} as appropriate to whether a match was found or % not. It is used by all user conditionals. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_return: +\cs_new_protected:Npn \@@_return: { \if_meaning:w \c_true_bool \g_@@_success_bool \prg_return_true: @@ -5567,7 +5567,7 @@ % end, store the information about the position at which the match % attempt started, as a shrink component. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_extract: +\cs_new_protected:Npn \@@_extract: { \if_meaning:w \c_true_bool \g_@@_success_bool \int_set_eq:NN \l_@@_zeroth_submatch_int \l_@@_submatch_int @@ -5698,7 +5698,7 @@ % \cs{l_@@_internal_a_tl}, adding the appropriate braces to produce % a balanced result. And end the group. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_group_end_replace:N #1 +\cs_new_protected:Npn \@@_group_end_replace:N #1 { \if_int_compare:w \l_@@_balance_int = \c_zero \else: diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx index cda42b33ccc..2412dead14b 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx @@ -35,7 +35,7 @@ % %<*driver|package> \RequirePackage{expl3} -\GetIdInfo$Id: l3str-convert.dtx 6443 2016-03-24 10:59:09Z joseph $ +\GetIdInfo$Id: l3str-convert.dtx 6699 2016-09-07 16:03:15Z bruno $ {L3 Experimental string encoding conversions} %</driver|package> %<*driver> @@ -207,11 +207,6 @@ % encoding. Instead, the \meta{false code} is performed. % \end{function} % -% \begin{variable}{\c_max_char_int} -% The maximum valid character code, $255$ for pdf\TeX{}, and $1114111$ -% for \XeTeX{} and \LuaTeX{}. -% \end{variable} -% % \section{Internal string functions} % % \begin{function}{\__str_gset_other:Nn} @@ -313,29 +308,12 @@ % % \subsubsection{Variables and constants} % -% \begin{variable}{\c_max_char_int} -% The maximum valid character code is $255$ for pdf\TeX{}, and -% $1114111$ for other engines. -% \begin{macrocode} -\int_const:Nn \c_max_char_int - { - \bool_if:nTF - { - \sys_if_engine_luatex_p: || - \sys_if_engine_xetex_p: - } - { "10FFFF } - { "FF } - } -% \end{macrocode} -% \end{variable} -% % \begin{macro}{\@@_tmp:w} % \begin{variable}{\l_@@_internal_int} % \begin{variable}{\l_@@_internal_tl} % Internal scratch space for some functions. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_tmp:w { } +\cs_new_protected:Npn \@@_tmp:w { } \tl_new:N \l_@@_internal_tl \int_new:N \l_@@_internal_int % \end{macrocode} @@ -425,7 +403,7 @@ % \end{variable} % % \subsubsection{Escaping spaces} -% +% ^^A todo: use char_generate in this file % \begin{macro}[int]{\@@_gset_other:Nn} % \begin{macro}[aux,EXP]{\@@_gset_other_loop:w} % \begin{macro}[aux,EXP]{\@@_gset_other_end:w} @@ -502,7 +480,7 @@ \fi: \@@_if_contains_char_aux:NN #1 } -\cs_new_nopar:Npn \@@_if_contains_char_true: +\cs_new:Npn \@@_if_contains_char_true: { \__prg_break:n { \prg_return_true: \use_none:n } } % \end{macrocode} % \end{macro} @@ -611,7 +589,7 @@ % \begin{macrocode} \cs_new:Npn \@@_output_byte:n #1 { \@@_output_byte:w #1 \@@_output_end: } -\cs_new_nopar:Npn \@@_output_byte:w +\cs_new:Npn \@@_output_byte:w { \exp_after:wN \exp_after:wN \exp_after:wN \use_i:nnn @@ -619,13 +597,13 @@ } \cs_new:Npn \@@_output_hexadecimal:n #1 { \@@_output_hexadecimal:w #1 \@@_output_end: } -\cs_new_nopar:Npn \@@_output_hexadecimal:w +\cs_new:Npn \@@_output_hexadecimal:w { \exp_after:wN \exp_after:wN \exp_after:wN \use_none:n \cs:w c_@@_byte_ \__int_value:w \__int_eval:w } -\cs_new_nopar:Npn \@@_output_end: +\cs_new:Npn \@@_output_end: { \__int_eval_end: _tl \cs_end: } % \end{macrocode} % \end{macro} @@ -794,9 +772,9 @@ % act on \cs{g_@@_result_tl}. Errors are silenced for the conditional % functions by redefining \cs{@@_if_flag_error:nnx} locally. % \begin{macrocode} -\cs_new_protected_nopar:Npn \str_set_convert:Nnnn +\cs_new_protected:Npn \str_set_convert:Nnnn { \@@_convert:nNNnnn { } \tl_set_eq:NN } -\cs_new_protected_nopar:Npn \str_gset_convert:Nnnn +\cs_new_protected:Npn \str_gset_convert:Nnnn { \@@_convert:nNNnnn { } \tl_gset_eq:NN } \prg_new_protected_conditional:Npnn \str_set_convert:Nnnn #1#2#3#4 { T , F , TF } @@ -1077,7 +1055,7 @@ \sys_if_engine_xetex_p: } { - \cs_new_protected_nopar:Npn \@@_convert_unescape_: + \cs_new_protected:Npn \@@_convert_unescape_: { \flag_clear:n { str_byte } \tl_gset:Nx \g_@@_result_tl @@ -1085,7 +1063,7 @@ \@@_if_flag_error:nnx { str_byte } { non-byte } { bytes } } } - { \cs_new_protected_nopar:Npn \@@_convert_unescape_: { } } + { \cs_new_protected:Npn \@@_convert_unescape_: { } } \cs_new_eq:NN \@@_convert_unescape_bytes: \@@_convert_unescape_: % \end{macrocode} % \end{macro} @@ -1096,7 +1074,7 @@ % The simplest form of escape leaves the bytes from the previous step % of the conversion unchanged. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_convert_escape_: { } +\cs_new_protected:Npn \@@_convert_escape_: { } \cs_new_eq:NN \@@_convert_escape_bytes: \@@_convert_escape_: % \end{macrocode} % \end{macro} @@ -1108,7 +1086,7 @@ % \begin{macro}[aux, rEXP]{\@@_decode_native_char:N} % Convert each character to its character code, one at a time. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_convert_decode_: +\cs_new_protected:Npn \@@_convert_decode_: { \@@_convert_gmap:N \@@_decode_native_char:N } \cs_new:Npn \@@_decode_native_char:N #1 { #1 \s__tl \__int_value:w `#1 \s__tl } @@ -1147,7 +1125,7 @@ % $[0,\hexnum{10FFFF}]$. % \begin{macrocode} { - \cs_new_protected_nopar:Npn \@@_convert_encode_: + \cs_new_protected:Npn \@@_convert_encode_: { \__tl_gbuild_x:Nw \g_@@_result_tl \exp_after:wN \@@_encode_native_loop:w @@ -1172,7 +1150,7 @@ % which then triggers a pdf\TeX{}-specific error. % \begin{macrocode} { - \cs_new_protected_nopar:Npn \@@_convert_encode_: + \cs_new_protected:Npn \@@_convert_encode_: { \flag_clear:n { str_error } \@@_convert_gmap_internal:N \@@_encode_native_char:n @@ -1215,7 +1193,7 @@ % \cs{g_@@_result_tl} into a clist variable, as this avoids problems % with leading or trailing commas. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_convert_decode_clist: +\cs_new_protected:Npn \@@_convert_decode_clist: { \clist_set:No \g_@@_result_tl \g_@@_result_tl \tl_gset:Nx \g_@@_result_tl @@ -1238,7 +1216,7 @@ % empty case, since \cs{tl_tail:N} does not trigger an error in this % case). % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_convert_encode_clist: +\cs_new_protected:Npn \@@_convert_encode_clist: { \@@_convert_gmap_internal:N \@@_encode_clist_char:n \tl_gset:Nx \g_@@_result_tl { \tl_tail:N \g_@@_result_tl } @@ -1288,9 +1266,9 @@ \cs_new_protected:Npn \@@_declare_eight_bit_encoding:nnn #1#2#3 { \tl_set:Nn \l_@@_internal_tl {#1} - \cs_new_protected_nopar:cpn { @@_convert_decode_#1: } + \cs_new_protected:cpn { @@_convert_decode_#1: } { \@@_convert_decode_eight_bit:n {#1} } - \cs_new_protected_nopar:cpn { @@_convert_encode_#1: } + \cs_new_protected:cpn { @@_convert_encode_#1: } { \@@_convert_encode_eight_bit:n {#1} } \tl_const:cn { c_@@_encoding_#1_tl } {#2} \tl_const:cn { c_@@_encoding_#1_missing_tl } {#3} @@ -1510,7 +1488,7 @@ % appending a |0| in all cases, and dropping it if it is alone. % \begin{macrocode} %<*hex> -\cs_new_protected_nopar:Npn \@@_convert_unescape_hex: +\cs_new_protected:Npn \@@_convert_unescape_hex: { \group_begin: \flag_clear:n { str_error } @@ -1684,7 +1662,7 @@ \char_set_catcode_other:N \^^M \tex_lowercase:D { - \cs_new_protected_nopar:Npn \@@_convert_unescape_string: + \cs_new_protected:Npn \@@_convert_unescape_string: { \group_begin: \flag_clear:n { str_byte } @@ -1782,7 +1760,7 @@ % Loop and convert each byte to hexadecimal. % \begin{macrocode} %<*hex> -\cs_new_protected_nopar:Npn \@@_convert_escape_hex: +\cs_new_protected:Npn \@@_convert_escape_hex: { \@@_convert_gmap:N \@@_escape_hex_char:N } \cs_new:Npn \@@_escape_hex_char:N #1 { \@@_output_hexadecimal:n { `#1 } } @@ -1806,7 +1784,7 @@ %<*name> \str_const:Nn \c_@@_escape_name_not_str { ! " $ & ' } %$ \str_const:Nn \c_@@_escape_name_str { {}/<>[] } -\cs_new_protected_nopar:Npn \@@_convert_escape_name: +\cs_new_protected:Npn \@@_convert_escape_name: { \@@_convert_gmap:N \@@_escape_name_char:N } \cs_new:Npn \@@_escape_name_char:N #1 { @@ -1846,7 +1824,7 @@ %<*string> \str_const:Nx \c_@@_escape_string_str { \c_backslash_str ( ) } -\cs_new_protected_nopar:Npn \@@_convert_escape_string: +\cs_new_protected:Npn \@@_convert_escape_string: { \@@_convert_gmap:N \@@_escape_string_char:N } \cs_new:Npn \@@_escape_string_char:N #1 { @@ -1890,7 +1868,7 @@ % different characters. % \begin{macrocode} %<*url> -\cs_new_protected_nopar:Npn \@@_convert_escape_url: +\cs_new_protected:Npn \@@_convert_escape_url: { \@@_convert_gmap:N \@@_escape_url_char:N } \cs_new:Npn \@@_escape_url_char:N #1 { @@ -1974,7 +1952,7 @@ % construction |\c_minus_one + \c_zero *| removes the spurious initial % continuation byte (better methods welcome). % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_convert_encode_utf8: } +\cs_new_protected:cpn { @@_convert_encode_utf8: } { \@@_convert_gmap_internal:N \@@_encode_utf_viii_char:n } \cs_new:Npn \@@_encode_utf_viii_char:n #1 { @@ -2148,7 +2126,7 @@ % auxiliary, which raises the appropriate error flag before ending the % mapping. % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_convert_decode_utf8: } +\cs_new_protected:cpn { @@_convert_decode_utf8: } { \flag_clear:n { str_error } \flag_clear:n { str_missing } @@ -2235,7 +2213,7 @@ \flag_raise:n { str_error } \int_use:N \c_@@_replacement_char_int } -\cs_new_nopar:Npn \@@_decode_utf_viii_end: +\cs_new:Npn \@@_decode_utf_viii_end: { \s__tl \flag_raise:n { str_missing } @@ -2295,14 +2273,14 @@ % compute the remainder, and output two bytes for the quotient and % remainder. % \begin{macrocode} - \cs_new_protected_nopar:cpn { @@_convert_encode_utf16: } + \cs_new_protected:cpn { @@_convert_encode_utf16: } { \@@_encode_utf_xvi_aux:N \@@_output_byte_pair_be:n \tl_gput_left:Nx \g_@@_result_tl { ^^fe ^^ff } } - \cs_new_protected_nopar:cpn { @@_convert_encode_utf16be: } + \cs_new_protected:cpn { @@_convert_encode_utf16be: } { \@@_encode_utf_xvi_aux:N \@@_output_byte_pair_be:n } - \cs_new_protected_nopar:cpn { @@_convert_encode_utf16le: } + \cs_new_protected:cpn { @@_convert_encode_utf16le: } { \@@_encode_utf_xvi_aux:N \@@_output_byte_pair_le:n } \cs_new_protected:Npn \@@_encode_utf_xvi_aux:N #1 { @@ -2423,11 +2401,11 @@ % little-endian, then loops over the string using % \cs{@@_decode_utf_xvi_pair:NN} described below. % \begin{macrocode} - \cs_new_protected_nopar:cpn { @@_convert_decode_utf16be: } + \cs_new_protected:cpn { @@_convert_decode_utf16be: } { \@@_decode_utf_xvi:Nw 1 \g_@@_result_tl \s__stop } - \cs_new_protected_nopar:cpn { @@_convert_decode_utf16le: } + \cs_new_protected:cpn { @@_convert_decode_utf16le: } { \@@_decode_utf_xvi:Nw 2 \g_@@_result_tl \s__stop } - \cs_new_protected_nopar:cpn { @@_convert_decode_utf16: } + \cs_new_protected:cpn { @@_convert_decode_utf16: } { \exp_after:wN \@@_decode_utf_xvi_bom:NN \g_@@_result_tl \s__stop \s__stop \s__stop @@ -2606,14 +2584,14 @@ % little-endian encodings are very similar, but the % \cs{@@_output_byte:n} instructions are reversed. % \begin{macrocode} - \cs_new_protected_nopar:cpn { @@_convert_encode_utf32: } + \cs_new_protected:cpn { @@_convert_encode_utf32: } { \@@_convert_gmap_internal:N \@@_encode_utf_xxxii_be:n \tl_gput_left:Nx \g_@@_result_tl { ^^00 ^^00 ^^fe ^^ff } } - \cs_new_protected_nopar:cpn { @@_convert_encode_utf32be: } + \cs_new_protected:cpn { @@_convert_encode_utf32be: } { \@@_convert_gmap_internal:N \@@_encode_utf_xxxii_be:n } - \cs_new_protected_nopar:cpn { @@_convert_encode_utf32le: } + \cs_new_protected:cpn { @@_convert_encode_utf32le: } { \@@_convert_gmap_internal:N \@@_encode_utf_xxxii_le:n } \cs_new:Npn \@@_encode_utf_xxxii_be:n #1 { @@ -2710,11 +2688,11 @@ % In the ending code, we check that there remains no byte: there % should be nothing left until the first \cs{s__stop}. Break the map. % \begin{macrocode} - \cs_new_protected_nopar:cpn { @@_convert_decode_utf32be: } + \cs_new_protected:cpn { @@_convert_decode_utf32be: } { \@@_decode_utf_xxxii:Nw 1 \g_@@_result_tl \s__stop } - \cs_new_protected_nopar:cpn { @@_convert_decode_utf32le: } + \cs_new_protected:cpn { @@_convert_decode_utf32le: } { \@@_decode_utf_xxxii:Nw 2 \g_@@_result_tl \s__stop } - \cs_new_protected_nopar:cpn { @@_convert_decode_utf32: } + \cs_new_protected:cpn { @@_convert_decode_utf32: } { \exp_after:wN \@@_decode_utf_xxxii_bom:NNNN \g_@@_result_tl \s__stop \s__stop \s__stop \s__stop \s__stop diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx index 189ea896cc0..309c57a0f2e 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx @@ -35,7 +35,7 @@ % %<*driver|package> \RequirePackage{expl3} -\GetIdInfo$Id: l3str-format.dtx 6439 2016-03-23 12:03:41Z joseph $ +\GetIdInfo$Id: l3str-format.dtx 6589 2016-06-13 11:11:55Z joseph $ {L3 Experimental string formatting} %</driver|package> %<*driver> @@ -448,7 +448,7 @@ % Call \cs{@@_tl:NNNnnNn} to read the parsed \meta{format % specification}. Then convert the result to a string. % \begin{macrocode} -\cs_new_nopar:Npn \tl_format:Nn { \exp_args:No \tl_format:nn } +\cs_new:Npn \tl_format:Nn { \exp_args:No \tl_format:nn } \cs_generate_variant:Nn \tl_format:Nn { c } \cs_new:Npn \tl_format:nn #1#2 { diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx index b33d81aedb2..838da42e278 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx @@ -35,7 +35,7 @@ % %<*driver|package> \RequirePackage{expl3} -\GetIdInfo$Id: l3tl-analysis.dtx 6443 2016-03-24 10:59:09Z joseph $ +\GetIdInfo$Id: l3tl-analysis.dtx 6589 2016-06-13 11:11:55Z joseph $ {L3 Experimental token lists analysis} %</driver|package> %<*driver> @@ -280,7 +280,7 @@ % only be assumed to work for begin-group and end-group character % tokens. It produces a number in the form |`|\meta{char}. % \begin{macrocode} -\cs_new_nopar:Npn \@@_extract_charcode: +\cs_new:Npn \@@_extract_charcode: { \exp_after:wN \@@_extract_charcode_aux:w \token_to_meaning:N \l_@@_token @@ -488,7 +488,7 @@ % \begin{macro}[int]{\@@_a_loop:w} % Read one character and check its type. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_a_loop:w +\cs_new_protected:Npn \@@_a_loop:w { \tex_futurelet:D \l_@@_token \@@_a_type:w } % \end{macrocode} % \end{macro} @@ -510,7 +510,7 @@ % over \cs{l_@@_token} if it matches with one of the % character tokens (hence is not a primitive conditional). % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_a_type:w +\cs_new_protected:Npn \@@_a_type:w { \l_@@_type_int = \if_meaning:w \l_@@_token \c_space_token @@ -558,14 +558,14 @@ % so that the second pass does not need to test the meaning of tokens, % only strings. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_a_space:w +\cs_new_protected:Npn \@@_a_space:w { \tex_afterassignment:D \@@_a_space_test:w \exp_after:wN \cs_set_eq:NN \exp_after:wN \l_@@_char_token \token_to_str:N } -\cs_new_protected_nopar:Npn \@@_a_space_test:w +\cs_new_protected:Npn \@@_a_space_test:w { \if_meaning:w \l_@@_char_token \c_space_token \tex_toks:D \l_@@_index_int { \exp_not:n { ~ } } @@ -597,11 +597,11 @@ \group_begin: \char_set_catcode_group_begin:N \^^@ \char_set_catcode_group_end:N \^^E - \cs_new_protected_nopar:Npn \@@_a_bgroup:w + \cs_new_protected:Npn \@@_a_bgroup:w { \@@_a_group:nw { \exp_after:wN ^^@ \if_false: ^^E \fi: } } \char_set_catcode_group_begin:N \^^B \char_set_catcode_group_end:N \^^@ - \cs_new_protected_nopar:Npn \@@_a_egroup:w + \cs_new_protected:Npn \@@_a_egroup:w { \@@_a_group:nw { \if_false: ^^B \fi: ^^@ } } \group_end: \cs_new_protected:Npn \@@_a_group:nw #1 @@ -616,7 +616,7 @@ \exp_after:wN \l_@@_char_token \token_to_str:N } -\cs_new_protected_nopar:Npn \@@_a_group_test:w +\cs_new_protected:Npn \@@_a_group_test:w { \if_charcode:w \l_@@_token \l_@@_char_token \@@_a_store: @@ -660,7 +660,7 @@ % Finally, we check whether we reached the last closing brace, in which % case we stop by disabling the looping function (locally). % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_a_store: +\cs_new_protected:Npn \@@_a_store: { \tex_advance:D \l_@@_nesting_int \l_@@_type_int \if_int_compare:w \tex_lccode:D \c_zero = \c_thirty_two diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx index db33b260adc..50a67c3858f 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx @@ -36,8 +36,8 @@ %<*driver|package> % The version of expl3 required is tested as early as possible, as % some really old versions do not define \ProvidesExplPackage. -\RequirePackage{expl3}[2016/05/14] -%<package>\@ifpackagelater{expl3}{2016/05/14} +\RequirePackage{expl3}[2016/10/19] +%<package>\@ifpackagelater{expl3}{2016/10/19} %<package> {} %<package> {% %<package> \PackageError{l3tl-build}{Support package l3kernel too old} @@ -49,7 +49,7 @@ %<package> }% %<package> \endinput %<package> } -\GetIdInfo$Id: l3tl-build.dtx 6492 2016-05-14 20:27:55Z joseph $ +\GetIdInfo$Id: l3tl-build.dtx 6730 2016-10-19 11:19:38Z joseph $ {L3 Experimental token list construction} %</driver|package> %<*driver> @@ -205,7 +205,7 @@ % expanding to |\the\toks#10...\the\toks#19|, but this should be kept % for much later. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_unpack: +\cs_new_protected:Npn \@@_unpack: { \tl_put_right:Nx \l_@@_result_tl { @@ -240,18 +240,18 @@ % \cs{@@_end:} for details). Then initialize the start index and % the current index at zero, and empty the \texttt{result} token list. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@:Nw +\cs_new_protected:Npn \@@:Nw { \@@_aux:NNw \tl_set:Nn } -\cs_new_protected_nopar:Npn \@@_x:Nw +\cs_new_protected:Npn \@@_x:Nw { \@@_aux:NNw \tl_set:Nx } -\cs_new_protected_nopar:Npn \__tl_gbuild:Nw +\cs_new_protected:Npn \__tl_gbuild:Nw { \@@_aux:NNw \tl_gset:Nn } -\cs_new_protected_nopar:Npn \__tl_gbuild_x:Nw +\cs_new_protected:Npn \__tl_gbuild_x:Nw { \@@_aux:NNw \tl_gset:Nx } \cs_new_protected:Npn \@@_aux:NNw #1#2 { \group_begin: - \cs_set_nopar:Npn \@@_end_assignment:n + \cs_set:Npn \@@_end_assignment:n { \group_end: #1 #2 } \int_zero:N \l_@@_start_index_int \int_zero:N \l_@@_index_int @@ -271,7 +271,7 @@ % set it to a function which would clean up the contents of % \cs{l_@@_result_tl}. % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_end: +\cs_new_protected:Npn \@@_end: { \@@_unpack: \exp_args:No |