summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3experimental/l3str
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-10-19 20:37:37 +0000
committerKarl Berry <karl@freefriends.org>2016-10-19 20:37:37 +0000
commit97a401ad817da2dafd1069df9d87a28ed39df69b (patch)
treef1555539115424980d80f573f5d17ded80989dd8 /Master/texmf-dist/source/latex/l3experimental/l3str
parent8bd51564ec4daf2be1c0e6767abbd5215cb8b21a (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')
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx228
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx102
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx20
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx20
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