texlive[42305] Master/texmf-dist: l3experimental (18oct16)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 19 22:37:38 CEST 2016


Revision: 42305
          http://tug.org/svn/texlive?view=revision&revision=42305
Author:   karl
Date:     2016-10-19 22:37:37 +0200 (Wed, 19 Oct 2016)
Log Message:
-----------
l3experimental (18oct16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
    trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
    trunk/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
    trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
    trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md	2016-10-19 20:37:37 UTC (rev 42305)
@@ -1,7 +1,7 @@
 Experimental LaTeX3 Concepts
 ============================
 
-Release 2016/05/14 (r6495)
+Release 2016/10/19 (r6730)
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3sort/l3sort.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3flag.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3regex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-convert.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-analysis.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3tl-build.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3sort/l3sort.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -37,8 +37,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{l3sort}{Support package l3kernel too old}
@@ -50,7 +50,7 @@
 %<package>      }%
 %<package>    \endinput
 %<package>  }
-\GetIdInfo$Id: l3sort.dtx 6492 2016-05-14 20:27:55Z joseph $
+\GetIdInfo$Id: l3sort.dtx 6730 2016-10-19 11:19:38Z joseph $
   {L3 Experimental sorting functions}
 %</driver|package>
 %<*driver>
@@ -147,6 +147,8 @@
 %   \meta{clist var}.
 % \end{function}
 %
+% {\renewcommand{\thefootnote}{}\footnotetext{\CodedocExplainEXP}}
+%
 % \begin{function}[EXP]{\tl_sort:nN}
 %   \begin{syntax}
 %     \cs{tl_sort:nN} \Arg{token list} \meta{conditional}
@@ -302,13 +304,13 @@
 %   arguments are the variable to sort, and the sorting method
 %   as inline code.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \seq_sort:Nn
+\cs_new_protected:Npn \seq_sort:Nn
   {
     \@@_main:NNNnNn \tl_set:Nn
       \seq_map_inline:Nn \seq_map_break:
       { \s__seq \@@_toks:NNw \exp_not:N \__seq_item:n 0 ; }
   }
-\cs_new_protected_nopar:Npn \seq_gsort:Nn
+\cs_new_protected:Npn \seq_gsort:Nn
   {
     \@@_main:NNNnNn \tl_gset:Nn
       \seq_map_inline:Nn \seq_map_break:
@@ -324,13 +326,13 @@
 %   the token list is very similar to sequences, removing
 %   \cs{seq_item:Nn}.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \tl_sort:Nn
+\cs_new_protected:Npn \tl_sort:Nn
   {
     \@@_main:NNNnNn \tl_set:Nn
       \tl_map_inline:Nn \tl_map_break:
       { \@@_toks:NNw \prg_do_nothing: \prg_do_nothing: 0 ; }
   }
-\cs_new_protected_nopar:Npn \tl_gsort:Nn
+\cs_new_protected:Npn \tl_gsort:Nn
   {
     \@@_main:NNNnNn \tl_gset:Nn
       \tl_map_inline:Nn \tl_map_break:
@@ -353,9 +355,9 @@
 %   argument to that function; hence we need to expand this argument
 %   once to unpack the register.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \clist_sort:Nn
+\cs_new_protected:Npn \clist_sort:Nn
   { \@@_clist:NNn \tl_set:Nn }
-\cs_new_protected_nopar:Npn \clist_gsort:Nn
+\cs_new_protected:Npn \clist_gsort:Nn
   { \@@_clist:NNn \tl_gset:Nn }
 \cs_new_protected:Npn \@@_clist:NNn #1#2#3
   {
@@ -409,7 +411,7 @@
 %   empty list or a list with one item). Otherwise, go through pairs
 %   of blocks starting from $0$, then double the block size, and repeat.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_level:
+\cs_new_protected:Npn \@@_level:
   {
     \if_int_compare:w \l_@@_block_int < \l_@@_length_int
       \l_@@_end_int \c_zero
@@ -439,7 +441,7 @@
 %   those ranges. Of course, once that pair of blocks is merged,
 %   move on to the next pair.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_merge_blocks:
+\cs_new_protected:Npn \@@_merge_blocks:
   {
     \l_@@_begin_int \l_@@_end_int
     \tex_advance:D \l_@@_end_int \l_@@_block_int
@@ -469,7 +471,7 @@
 %   (excluded) into a new range starting at the initial value
 %   of \cs{l_@@_C_int}, namely \cs{l_@@_length_int}.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \sort_copy_block:
+\cs_new_protected:Npn \sort_copy_block:
   {
     \tex_toks:D \l_@@_C_int \tex_toks:D \l_@@_B_int
     \tex_advance:D \l_@@_C_int \c_one
@@ -496,7 +498,7 @@
 %   means the arguments need to be given in the order they
 %   appear originally in the list.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_merge_blocks_aux:
+\cs_new_protected:Npn \@@_merge_blocks_aux:
   {
     \exp_after:wN \sort_compare:nn \exp_after:wN
       { \tex_the:D \tex_toks:D \exp_after:wN \l_@@_A_int \exp_after:wN }
@@ -517,7 +519,7 @@
 %   is already in the correct register and we are done
 %   with merging those two blocks.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \sort_ordered:
+\cs_new_protected:Npn \sort_ordered:
   {
     \tex_toks:D \l_@@_B_int \tex_toks:D \l_@@_C_int
     \tex_advance:D \l_@@_B_int \c_minus_one
@@ -541,7 +543,7 @@
 %   the second block, indexed by $C$, should be copied
 %   to the merger (see \cs{@@_merge_blocks_end:}).
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \sort_reversed:
+\cs_new_protected:Npn \sort_reversed:
   {
     \tex_toks:D \l_@@_B_int \tex_toks:D \l_@@_A_int
     \tex_advance:D \l_@@_B_int \c_minus_one
@@ -561,7 +563,7 @@
 %   the threshold \texttt{begin}, or when $C$ reaches
 %   \texttt{length}.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_merge_blocks_end:
+\cs_new_protected:Npn \@@_merge_blocks_end:
   {
     \tex_toks:D \l_@@_B_int \tex_toks:D \l_@@_C_int
     \tex_advance:D \l_@@_B_int \c_minus_one

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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>

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3regex.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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,9 +1197,9 @@
     \@@_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
@@ -1206,7 +1206,7 @@
     \@@_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,26 +1221,26 @@
 %   }
 %   \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 }
@@ -1247,15 +1247,15 @@
     \@@_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,7 +3098,7 @@
 \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 }
@@ -3105,18 +3105,18 @@
           \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,7 +3449,7 @@
 %   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 }
@@ -3456,7 +3456,7 @@
     \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:

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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
   {

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-analysis.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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,7 +558,7 @@
 %   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
@@ -565,7 +565,7 @@
     \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

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3tl-build.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -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

Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx	2016-10-19 20:37:37 UTC (rev 42305)
@@ -38,8 +38,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{l3galley}{Support package l3kernel too old}
@@ -51,7 +51,7 @@
 %<package>      }%
 %<package>    \endinput
 %<package>  }
-\GetIdInfo$Id: l3galley.dtx 6493 2016-05-14 21:08:13Z joseph $
+\GetIdInfo$Id: l3galley.dtx 6730 2016-10-19 11:19:38Z joseph $
   {L3 Experimental galley code}
 %</driver|package>
 %<*driver>
@@ -744,9 +744,16 @@
 % Settings for application by the galley respect the usual \TeX{} grouping and
 % so are all local variables.
 %
+% \begin{variable}{\g_@@_cutout_active_bool, \g_@@_cutout_active_bool}
+%    \begin{macrocode}
+\bool_new:N \g_@@_cutout_active_bool
+\bool_new:N \l_@@_cutout_active_bool
+%    \end{macrocode}
+% \end{variable}
+%
 % \begin{variable}
 %   {\l_@@_cutout_left_indent_seq, \l_@@_cutout_right_indent_seq}
-%   Essentially scratch space, used when setting up a cutout in a paragrph,
+%   Essentially scratch space, used when setting up a cutout in a paragraph,
 %   but named as there is quite a bit to do in that code.
 %    \begin{macrocode}
 \seq_new:N \l_@@_cutout_left_indent_seq
@@ -982,14 +989,25 @@
 % galley level must form a group: galley levels are tied to vertical
 % boxes and so this is a reasonable requirements.
 %
+% \begin{variable}{\l_@@_group_level_int}
+%   The top group level for the galley needs to be known to allow
+%   some data structures to be reset correctly: they can only be
+%   fully cleared at the outer level.
+%    \begin{macrocode}
+\int_new:N \l_@@_group_level_int
+%    \end{macrocode}
+% \end{variable}
+%
 % \begin{macro}{\@@_initialise_variables:}
 %   At the start of a galley level the global variables need to be reset to
 %   standard values. For example, the measure is set to the galley width and
 %   any paragraph shape is cleared.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_initialise_variables:
+\cs_new_protected:Npn \@@_initialise_variables:
   {
+    \int_set:Nn \l_@@_group_level_int { \etex_currentgrouplevel:D }
     \bool_gset_true:N \g_@@_begin_level_bool
+    \bool_gset_false:N \g_@@_cutout_active_bool
     \seq_gclear:N \g_@@_cutout_left_seq
     \seq_gclear:N \g_@@_cutout_right_seq
     \tl_gclear:N \g_@@_interpar_penalty_user_tl
@@ -1012,10 +1030,10 @@
 % \begin{macro}{\@@_initialise_settings:}
 %   This sets the local values of the various galley settings. The
 %   flag \cs{l_@@_parshape_multipar_bool} is set \texttt{true} here
-%   as it allows an efficency saving in parshape setting: only
+%   as it allows an efficiency saving in parshape setting: only
 %   when it is actively set \texttt{false} is action needed.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_initialise_settings:
+\cs_new_protected:Npn \@@_initialise_settings:
   {
     \bool_set_true:N \l_@@_parshape_multipar_bool
     \seq_clear:N \l_@@_parshape_left_indent_seq
@@ -1031,10 +1049,12 @@
 %   Saving and restoring parameters is carried out by a series of copy
 %   functions.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_save_parameters:
+\cs_new_protected:Npn \@@_save_parameters:
   {
     \bool_set_eq:NN \l_@@_begin_level_bool
       \g_@@_begin_level_bool
+    \bool_set_eq:NN \l_@@_cutout_active_bool
+      \g_@@_cutout_active_bool
     \seq_set_eq:NN \l_@@_cutout_left_seq
       \g_@@_cutout_left_seq
     \seq_set_eq:NN \l_@@_cutout_right_seq
@@ -1064,10 +1084,12 @@
     \tl_set_eq:NN \l_@@_whatsit_next_tl
       \g_galley_whatsit_next_tl
   }
-\cs_new_protected_nopar:Npn \@@_restore_parameters:
+\cs_new_protected:Npn \@@_restore_parameters:
   {
     \bool_gset_eq:NN \g_@@_begin_level_bool
       \l_@@_begin_level_bool
+    \bool_gset_eq:NN \g_@@_cutout_active_bool
+      \l_@@_cutout_active_bool
     \seq_gset_eq:NN \g_@@_cutout_left_seq
       \l_@@_cutout_left_seq
     \seq_gset_eq:NN \g_@@_cutout_right_seq
@@ -1106,7 +1128,7 @@
 %   settings, starting a group then initialising both the local and global
 %   variables.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_level:
+\cs_new_protected:Npn \galley_level:
   {
     \@@_save_parameters:
     \group_begin:
@@ -1122,7 +1144,7 @@
 %   must come in a fixed location. All of this relies on the
 %   \enquote{color safe} group used inside a box.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_level_end:
+\cs_new_protected:Npn \@@_level_end:
   {
       \par
       \@@_restore_parameters:
@@ -1144,13 +1166,13 @@
 % \begin{macro}{\galley_par:}
 % \begin{macro}[aux]{\@@_par_auxi:, \@@_par_auxii:, \@@_par_auxiii:}
 % \begin{macro}[aux]{\@@_par_aux:N}
-% \begin{macro}[int]{\@@_par_set_cutout:, \@@_par_update_cutout:}
+% \begin{macro}[int]{\@@_par_update_cutout:}
 %   The idea here is to expand the next token in exactly the same way as \TeX{}
 %   would do anyway. The \texttt{f}-type expansion will ignore any protection,
 %   but will stop at a scan marker. Thus the code can test for an
 %   \enquote{omit paragraph} marker.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_par:
+\cs_new_protected:Npn \galley_par:
   {
     \s__par_omit
     \exp_after:wN \@@_par_auxi: \exp:w \exp_end_continue_f:w
@@ -1175,7 +1197,7 @@
 %   \cs{etex_interlinepenalties:D}). In vertical mode, that means just
 %   inserting the primitive.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_par_auxii:
+\cs_new_protected:Npn \@@_par_auxii:
   {
     \mode_if_vertical:TF
       {
@@ -1194,7 +1216,8 @@
 %    \begin{macrocode}
       {
         \g_galley_par_end_hook_tl
-        \@@_par_set_cutout:
+        \bool_if:NT \g_@@_cutout_active_bool
+          { \@@_parshape_set: }
         \group_begin:
           \tex_par:D
         \group_end:
@@ -1221,13 +1244,26 @@
     \tex_penalty:D \c_ten_thousand
   }
 %    \end{macrocode}
-%   When cutouts are active, there is a need to set the paragraph shape
-%   \enquote{just in time}. After the typesetting, the lines remaining in
-%   the cutout has to be updated for the next run. This is all done for
-%   each paragraph to avoid any grouping issues and without needing to set
-%   \cs{tex_parshape:n} globally.
+%   Once a cutout has been set, properly tidying up needs some work. The
+%   cutout is applied \enquote{just in time} at the start of each paragraph
+%   (see above). After the paragraph, the consumed lines are removed from
+%   the tracking sequences and the paragraph shape is reset. The latter step
+%   is required as we do not set the paragraph shape for every paragraph.
+%   Once the two sequences are empty, there is no cutout to apply. However,
+%   it can still be \enquote{active}. If a cutout is started then we have a
+%   group, it is possible for the cutout to be entirely applied before the
+%   end of the group. At that point, the two sequences show there is nothing
+%   to do \emph{but} the active paragraph shape still has some lines indented.
+%   As we avoid setting the \tn{parshape} primitive for every paragraph,
+%   the result of only checking the sequences would be that the cutout would
+%   reappear after the group! Instead, we use a boolean and only set it
+%   false once the group level is that of the galley itself. (There is a slight
+%   inefficiency here in that we thus do set the paragraph shape for each
+%   paragraph after a cutout until we reach the top group level of the galley.
+%   That should be an acceptable hit given the extra work needed to track
+%   reset-in-this-group as well.)
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_par_set_cutout:
+\cs_new_protected:Npn \@@_par_update_cutout:
   {
     \bool_if:nF
       {
@@ -1234,16 +1270,7 @@
            \seq_if_empty_p:N \g_@@_cutout_left_seq
         && \seq_if_empty_p:N \g_@@_cutout_right_seq
       }
-      { \@@_parshape_set: }
-  }
-\cs_new_protected_nopar:Npn \@@_par_update_cutout:
-  {
-    \bool_if:nF
       {
-           \seq_if_empty_p:N \g_@@_cutout_left_seq
-        && \seq_if_empty_p:N \g_@@_cutout_right_seq
-      }
-      {
         \prg_replicate:nn \tex_prevgraf:D
           {
             \seq_gpop_left:NN \g_@@_cutout_left_seq  \l_@@_tmp_tl
@@ -1251,12 +1278,20 @@
           }
         \@@_parshape_set:
       }
+    \int_compare:nNnT \l_@@_group_level_int = \etex_currentgrouplevel:D
+      {
+        \bool_if:nT
+          {
+               \seq_if_empty_p:N \g_@@_cutout_left_seq
+            && \seq_if_empty_p:N \g_@@_cutout_right_seq
+          }
+          { \bool_gset_false:N \g_@@_cutout_active_bool }
+      }
   }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \end{macro}
 %
 % \begin{macro}{\galley_par:n}
 %   Inserts tokens such that they are appended to the end of the last
@@ -1278,7 +1313,7 @@
 %   The meaning of the token \cs{par} itself starts off as a standard
 %   paragraph.
 %    \begin{macrocode}
-\cs_set_protected_nopar:Npn \par { \galley_par: }
+\cs_set_protected:Npn \par { \galley_par: }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1304,7 +1339,7 @@
 %   settings from the surrounding material. They may also start and end with
 %   special spacing values.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_display_begin:
+\cs_new_protected:Npn \galley_display_begin:
   {
     \group_begin:
       \@@_save_parameters:
@@ -1355,7 +1390,7 @@
 %   \cs{group_insert_after:N}. Resetting the meaning of the \cs{par} token
 %   needs to be carried out after the group used for the environment.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_display_end:
+\cs_new_protected:Npn \galley_display_end:
   {
       \par
       \@@_restore_parameters:
@@ -1369,7 +1404,7 @@
 %   \cs{par} token is then altered so that a check can be made to see if
 %   this assumption was correct.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_display_par_setup:
+\cs_new_protected:Npn \@@_display_par_setup:
   {
     \bool_gset_false:N \g_galley_omit_next_indent_bool
     \cs_set_eq:NN \par \@@_display_par:
@@ -1388,7 +1423,7 @@
 %   cutout will have to be updated as it depends on the number of lines
 %   \TeX{} has typeset.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_display_par:
+\cs_new_protected:Npn \@@_display_par:
   {
     \cs_set_eq:NN \par \galley_par:
     \mode_if_vertical:TF
@@ -1506,7 +1541,7 @@
 %   tidied up before sorting out any items which have been set on a
 %   single-paragraph basis.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_start_paragraph_std:
+\cs_new_protected:Npn \@@_start_paragraph_std:
   {
     \@@_start_paragraph_common:N \@@_insert_vertical_items:
     \@@_insert_horizontal_items:
@@ -1523,7 +1558,7 @@
 %   must not add any vertical space as the start of the box unless there
 %   is a user space to insert.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_start_paragraph_first:
+\cs_new_protected:Npn \@@_start_paragraph_first:
   {
     \bool_gset_false:N \g_@@_begin_level_bool
     \mode_if_horizontal:TF
@@ -1532,7 +1567,7 @@
     \@@_insert_horizontal_items:
     \@@_restore_running_parameters:
   }
-\cs_new_protected_nopar:Npn \@@_insert_vspace_first:
+\cs_new_protected:Npn \@@_insert_vspace_first:
   {
     \tl_if_empty:NF \g_@@_interpar_vspace_user_tl
       { \skip_vertical:n { \g_@@_interpar_vspace_user_tl } }
@@ -1553,7 +1588,7 @@
 %   the inter-paragraph space is applied: only one space is ever added
 %   there.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_insert_vertical_items:
+\cs_new_protected:Npn \@@_insert_vertical_items:
   {
     \g_galley_whatsit_previous_tl
     \tl_gclear:N \g_galley_whatsit_previous_tl
@@ -1583,7 +1618,7 @@
 %   Horizontal mode objects start with the whatsits for the next paragraph. An
 %   indent is then included if the removed box was not void.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_insert_horizontal_items:
+\cs_new_protected:Npn \@@_insert_horizontal_items:
   {
     \g_galley_whatsit_next_tl
     \tl_gclear:N \g_galley_whatsit_next_tl
@@ -1604,7 +1639,7 @@
 %   variable in which the appropriate assignments are stored. The
 %   list can then be cleared.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_restore_running_parameters:
+\cs_new_protected:Npn \@@_restore_running_parameters:
   {
     \g_galley_restore_running_tl
     \tl_gclear:N \g_galley_restore_running_tl
@@ -1669,12 +1704,12 @@
 %   Setting the paragraph shape is mainly a question of converting the input.
 %   First, though, a flag is set.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_parshape_set_multi:nnnN
+\cs_new_protected:Npn \galley_parshape_set_multi:nnnN
   {
     \bool_set_true:N \l_@@_parshape_multipar_bool
     \@@_parshape_set:nnnN
   }
-\cs_new_protected_nopar:Npn \galley_parshape_set_single:nnnN
+\cs_new_protected:Npn \galley_parshape_set_single:nnnN
   {
     \bool_set_false:N \l_@@_parshape_multipar_bool
     \@@_parshape_set:nnnN
@@ -1725,9 +1760,9 @@
 %   the same idea with one or two very specific points of difference. As such,
 %   the two interface functions both use the same implementation.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_cutout_left:nn
+\cs_new_protected:Npn \galley_cutout_left:nn
   { \@@_cutout:nnn { left } }
-\cs_new_protected_nopar:Npn \galley_cutout_right:nn
+\cs_new_protected:Npn \galley_cutout_right:nn
   { \@@_cutout:nnn { right } }
 %    \end{macrocode}
 %   The cutout information needs to be saved in in the appropriate sequence.
@@ -1757,6 +1792,8 @@
           { \@@_cutout:Nc \g_@@_tmpa_seq { g_@@_cutout_ #1 _seq } }
         \seq_gset_eq:cN { g_@@_cutout_ #1 _seq } \l_@@_tmp_seq
       }
+    \seq_if_empty:cF { g_@@_cutout_ #1 _seq }
+      { \bool_gset_true:N \g_@@_cutout_active_bool }
   }
 \cs_new_protected:Npn \@@_cutout:NN #1#2
   {
@@ -1796,24 +1833,12 @@
 %   code, the approach taken here is always to reset the entire shape. This
 %   is done in three stages, one for each conceptual element.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_parshape_set:
+\cs_new_protected:Npn \@@_parshape_set:
   {
     \@@_parshape_set_margins:
     \@@_parshape_set_indents:
     \@@_parshape_set_cutouts:
-    \tl_set:Nx \l_@@_tmp_tl
-      {
-        \__int_value:w \tex_parshape:D
-        \int_step_function:nnnN \c_one \c_one \tex_parshape:D
- \tmp
-      }
-%    \tl_show:N \l_@@_tmp_tl
   }
-  \def\tmp#1{%
-            \c_space_tl
-            \__int_value:w \etex_parshapeindent:D #1 \c_space_tl \c_space_tl
-            \__int_value:w  \etex_parshapelength:D #1 \c_space_tl
-          }
 %    \end{macrocode}
 %   Setting the margins is simple. Either they are zero, using the full measure,
 %   or they are not. This is always set even if there are other elements to
@@ -1820,7 +1845,7 @@
 %   apply as these settings are very fast, so it is not worth doing a check
 %   at this stage for further parts to apply.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_parshape_set_margins:
+\cs_new_protected:Npn \@@_parshape_set_margins:
   {
     \bool_if:nTF
       {
@@ -1842,7 +1867,7 @@
 %   will always apply. The margins are reapplied at this stage as part of
 %   the auxiliary for the calculation of indentation.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_parshape_set_indents:
+\cs_new_protected:Npn \@@_parshape_set_indents:
   {
     \bool_if:nF
       {
@@ -1878,12 +1903,12 @@
 %   temporary sequences so that they can safely be \enquote{chomped} by
 %   \cs{@@_cutout:NN}. We then construct the overall list of indents required
 %   and store them in dedicated temporary storage. That is necessary as to get
-%   the indents corret on both sides is to use a thread mapping. That also
+%   the indents correct on both sides is to use a thread mapping. That also
 %   means that the two sequences need to be of the same length.  That is
 %   done by finding the length difference then applying an auxiliary to
 %   the shorter sequence.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_parshape_set_cutouts:
+\cs_new_protected:Npn \@@_parshape_set_cutouts:
   {
     \bool_if:nF
       {
@@ -2363,7 +2388,7 @@
 %   so an \texttt{f}-type expansion is used to make life a little less
 %   complex.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_calc_interline_penalties:
+\cs_new_protected:Npn \@@_calc_interline_penalties:
   {
     \exp_args:Nff \@@_calc_interline_penalties:nn
       {
@@ -2466,7 +2491,10 @@
       }
   }
 \cs_new:Npn \@@_save_display_widow_penalties:n #1
-  { \__int_value:w \etex_displaywidowpenalties:D \__int_eval:w #1 \__int_eval_end: , }
+  {
+    \__int_value:w \etex_displaywidowpenalties:D
+      \__int_eval:w #1 \__int_eval_end: ,
+  }
 \cs_new_protected:Npn \galley_save_widow_penalties:N #1
   {
     \clist_set:Nx #1
@@ -2483,7 +2511,7 @@
 %   a simple conversion. The general interline penalty is always the
 %   last value in the primitive array.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \galley_interline_penalty:
+\cs_new_protected:Npn \galley_interline_penalty:
   { \__int_value:w \etex_interlinepenalties:D \etex_interlinepenalties:D \c_zero }
 %    \end{macrocode}
 % \end{macro}
@@ -2508,7 +2536,7 @@
 %   structures rather than directly onto the main vertical list. Other
 %   than that it is the same as the \LaTeXe{} version.
 %    \begin{macrocode}
-\cs_set_nopar:Npn \clearpage
+\cs_set:Npn \clearpage
   {
     \mode_if_vertical:T
       {
@@ -2530,7 +2558,7 @@
 % In package mode, some of \LaTeXe{}'s functions are re-implemented using
 % the galley system. Not all of the optional arguments currently work!
 %    \begin{macrocode}
-\cs_set_nopar:Npn \nobreak
+\cs_set_protected:Npn \nobreak
   { \bool_gset_true:N \g_galley_no_break_next_bool }
 %    \end{macrocode}
 %  The \tn{noindent} primitive will causes problems, as it is used by
@@ -2539,7 +2567,7 @@
 %  need leave vertical mode, at the moment we stick with the primitive as
 %  well as setting the galley flag.
 %    \begin{macrocode}
-\cs_set_protected_nopar:Npn \noindent
+\cs_set_protected:Npn \noindent
   {
     \tex_noindent:D
     \bool_gset_false:N \g_galley_omit_next_indent_bool
@@ -2602,8 +2630,8 @@
 % \begin{macro}{\addpenalty, \addvspace}
 %   The mechanism here is entirely different, but at least this works!
 %    \begin{macrocode}
-\cs_set_nopar:Npn \addpenalty { \galley_penalty_add_single:n }
-\cs_set_nopar:Npn \addvspace  { \galley_vspace_max_single:n }
+\cs_set_protected:Npn \addpenalty { \galley_penalty_add_single:n }
+\cs_set_protected:Npn \addvspace  { \galley_vspace_max_single:n }
 %    \end{macrocode}
 %\end{macro}
 %
@@ -2610,7 +2638,7 @@
 % \begin{macro}{\@afterheading}
 %   Set some flags and hope for the best!
 %    \begin{macrocode}
-\cs_set_nopar:Npn \@afterheading
+\cs_set_protected:Npn \@afterheading
   {
     \bool_gset_true:N \g_galley_no_break_next_bool
     \if at afterindent
@@ -2626,7 +2654,7 @@
 %   shape is set in a different way. As a result, the label is part of the
 %   same paragraph as the main body, hence the need to leave vertical mode.
 %    \begin{macrocode}
-\cs_set:Npn \@hangfrom #1
+\cs_set_protected:Npn \@hangfrom #1
   {
     \bool_gset_true:N \g_galley_omit_next_indent_bool
     \leavevmode

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3sort/l3sort.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -46,8 +46,8 @@
 %%
 %% -----------------------------------------------------------------------
 %%
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3sort}{Support package l3kernel too old}
@@ -59,7 +59,7 @@
       }%
     \endinput
   }
-\GetIdInfo$Id: l3sort.dtx 6492 2016-05-14 20:27:55Z joseph $
+\GetIdInfo$Id: l3sort.dtx 6730 2016-10-19 11:19:38Z joseph $
   {L3 Experimental sorting functions}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -93,33 +93,33 @@
           #1 \exp_not:N #5 {#4}
         }
   }
-\cs_new_protected_nopar:Npn \seq_sort:Nn
+\cs_new_protected:Npn \seq_sort:Nn
   {
     \__sort_main:NNNnNn \tl_set:Nn
       \seq_map_inline:Nn \seq_map_break:
       { \s__seq \__sort_toks:NNw \exp_not:N \__seq_item:n 0 ; }
   }
-\cs_new_protected_nopar:Npn \seq_gsort:Nn
+\cs_new_protected:Npn \seq_gsort:Nn
   {
     \__sort_main:NNNnNn \tl_gset:Nn
       \seq_map_inline:Nn \seq_map_break:
       { \s__seq \__sort_toks:NNw \exp_not:N \__seq_item:n 0 ; }
   }
-\cs_new_protected_nopar:Npn \tl_sort:Nn
+\cs_new_protected:Npn \tl_sort:Nn
   {
     \__sort_main:NNNnNn \tl_set:Nn
       \tl_map_inline:Nn \tl_map_break:
       { \__sort_toks:NNw \prg_do_nothing: \prg_do_nothing: 0 ; }
   }
-\cs_new_protected_nopar:Npn \tl_gsort:Nn
+\cs_new_protected:Npn \tl_gsort:Nn
   {
     \__sort_main:NNNnNn \tl_gset:Nn
       \tl_map_inline:Nn \tl_map_break:
       { \__sort_toks:NNw \prg_do_nothing: \prg_do_nothing: 0 ; }
   }
-\cs_new_protected_nopar:Npn \clist_sort:Nn
+\cs_new_protected:Npn \clist_sort:Nn
   { \__sort_clist:NNn \tl_set:Nn }
-\cs_new_protected_nopar:Npn \clist_gsort:Nn
+\cs_new_protected:Npn \clist_gsort:Nn
   { \__sort_clist:NNn \tl_gset:Nn }
 \cs_new_protected:Npn \__sort_clist:NNn #1#2#3
   {
@@ -142,7 +142,7 @@
       \__int_value:w \__int_eval:w #3 + \c_one \exp_after:wN ;
     \fi:
   }
-\cs_new_protected_nopar:Npn \__sort_level:
+\cs_new_protected:Npn \__sort_level:
   {
     \if_int_compare:w \l__sort_block_int < \l__sort_length_int
       \l__sort_end_int \c_zero
@@ -151,7 +151,7 @@
       \exp_after:wN \__sort_level:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__sort_merge_blocks:
+\cs_new_protected:Npn \__sort_merge_blocks:
   {
     \l__sort_begin_int \l__sort_end_int
     \tex_advance:D \l__sort_end_int \l__sort_block_int
@@ -171,7 +171,7 @@
       \exp_after:wN \__sort_merge_blocks:
     \fi:
   }
-\cs_new_protected_nopar:Npn \sort_copy_block:
+\cs_new_protected:Npn \sort_copy_block:
   {
     \tex_toks:D \l__sort_C_int \tex_toks:D \l__sort_B_int
     \tex_advance:D \l__sort_C_int \c_one
@@ -181,13 +181,13 @@
     \fi:
     \sort_copy_block:
   }
-\cs_new_protected_nopar:Npn \__sort_merge_blocks_aux:
+\cs_new_protected:Npn \__sort_merge_blocks_aux:
   {
     \exp_after:wN \sort_compare:nn \exp_after:wN
       { \tex_the:D \tex_toks:D \exp_after:wN \l__sort_A_int \exp_after:wN }
       \exp_after:wN { \tex_the:D \tex_toks:D \l__sort_C_int }
   }
-\cs_new_protected_nopar:Npn \sort_ordered:
+\cs_new_protected:Npn \sort_ordered:
   {
     \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
     \tex_advance:D \l__sort_B_int \c_minus_one
@@ -197,7 +197,7 @@
     \fi:
     \__sort_merge_blocks_aux:
   }
-\cs_new_protected_nopar:Npn \sort_reversed:
+\cs_new_protected:Npn \sort_reversed:
   {
     \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_A_int
     \tex_advance:D \l__sort_B_int \c_minus_one
@@ -207,7 +207,7 @@
     \fi:
     \__sort_merge_blocks_aux:
   }
-\cs_new_protected_nopar:Npn \__sort_merge_blocks_end:
+\cs_new_protected:Npn \__sort_merge_blocks_end:
   {
     \tex_toks:D \l__sort_B_int \tex_toks:D \l__sort_C_int
     \tex_advance:D \l__sort_B_int \c_minus_one

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,8 +45,8 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3flag}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
       }%
     \endinput
   }
-\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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex-trace.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,8 +45,8 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
       }%
     \endinput
   }
-\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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -130,7 +130,7 @@
       \fi:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compute_case_changed_char:
+\cs_new_protected:Npn \__regex_compute_case_changed_char:
   {
     \int_set_eq:NN \l__regex_case_changed_char_int \l__regex_current_char_int
     \if_int_compare:w \l__regex_current_char_int < \c_ninety_one
@@ -214,14 +214,14 @@
         \group_end:
       }
   }
-\cs_new_protected_nopar:Npn \__regex_prop_d:
+\cs_new_protected:Npn \__regex_prop_d:
   { \__regex_item_caseful_range:nn \c_forty_eight { 57 } } % 0--9
-\cs_new_protected_nopar:Npn \__regex_prop_h:
+\cs_new_protected:Npn \__regex_prop_h:
   {
     \__regex_item_caseful_equal:n \c_thirty_two % space
     \__regex_item_caseful_equal:n \c_nine       % tab
   }
-\cs_new_protected_nopar:Npn \__regex_prop_s:
+\cs_new_protected:Npn \__regex_prop_s:
   {
     \__regex_item_caseful_equal:n \c_thirty_two % space
     \__regex_item_caseful_equal:n \c_nine       % tab
@@ -229,9 +229,9 @@
     \__regex_item_caseful_equal:n \c_twelve     % ff
     \__regex_item_caseful_equal:n \c_thirteen   % cr
   }
-\cs_new_protected_nopar:Npn \__regex_prop_v:
+\cs_new_protected:Npn \__regex_prop_v:
   { \__regex_item_caseful_range:nn \c_ten \c_thirteen } % lf, vtab, ff, cr
-\cs_new_protected_nopar:Npn \__regex_prop_w:
+\cs_new_protected:Npn \__regex_prop_w:
   {
     \__regex_item_caseful_range:nn \c_ninety_seven { 122 } % a--z
     \__regex_item_caseful_range:nn \c_sixty_five   {  90 } % A--Z
@@ -238,28 +238,28 @@
     \__regex_item_caseful_range:nn \c_forty_eight  {  57 } % 0--9
     \__regex_item_caseful_equal:n  { 95 } % _
   }
-\cs_new_protected_nopar:Npn \__regex_prop_N:
+\cs_new_protected:Npn \__regex_prop_N:
   { \__regex_item_reverse:n { \__regex_item_caseful_equal:n \c_ten } }
-\cs_new_protected_nopar:Npn \__regex_posix_alnum:
+\cs_new_protected:Npn \__regex_posix_alnum:
   { \__regex_posix_alpha: \__regex_posix_digit: }
-\cs_new_protected_nopar:Npn \__regex_posix_alpha:
+\cs_new_protected:Npn \__regex_posix_alpha:
   { \__regex_posix_lower: \__regex_posix_upper: }
-\cs_new_protected_nopar:Npn \__regex_posix_ascii:
+\cs_new_protected:Npn \__regex_posix_ascii:
   { \__regex_item_caseful_range:nn \c_zero \c_one_hundred_twenty_seven }
 \cs_new_eq:NN \__regex_posix_blank: \__regex_prop_h:
-\cs_new_protected_nopar:Npn \__regex_posix_cntrl:
+\cs_new_protected:Npn \__regex_posix_cntrl:
   {
     \__regex_item_caseful_range:nn \c_zero { 31 }
     \__regex_item_caseful_equal:n \c_one_hundred_twenty_seven
   }
 \cs_new_eq:NN \__regex_posix_digit: \__regex_prop_d:
-\cs_new_protected_nopar:Npn \__regex_posix_graph:
+\cs_new_protected:Npn \__regex_posix_graph:
   { \__regex_item_caseful_range:nn { 33 } { 126 } }
-\cs_new_protected_nopar:Npn \__regex_posix_lower:
+\cs_new_protected:Npn \__regex_posix_lower:
   { \__regex_item_caseful_range:nn \c_ninety_seven { 122 } }
-\cs_new_protected_nopar:Npn \__regex_posix_print:
+\cs_new_protected:Npn \__regex_posix_print:
   { \__regex_item_caseful_range:nn \c_thirty_two { 126 } }
-\cs_new_protected_nopar:Npn \__regex_posix_punct:
+\cs_new_protected:Npn \__regex_posix_punct:
   {
     \__regex_item_caseful_range:nn { 33 } { 47 }
     \__regex_item_caseful_range:nn { 58 } { 64 }
@@ -266,15 +266,15 @@
     \__regex_item_caseful_range:nn { 91 } { 96 }
     \__regex_item_caseful_range:nn { 123 } { 126 }
   }
-\cs_new_protected_nopar:Npn \__regex_posix_space:
+\cs_new_protected:Npn \__regex_posix_space:
   {
     \__regex_item_caseful_equal:n \c_thirty_two
     \__regex_item_caseful_range:nn \c_nine \c_thirteen
   }
-\cs_new_protected_nopar:Npn \__regex_posix_upper:
+\cs_new_protected:Npn \__regex_posix_upper:
   { \__regex_item_caseful_range:nn \c_sixty_five { 90 } }
 \cs_new_eq:NN \__regex_posix_word: \__regex_prop_w:
-\cs_new_protected_nopar:Npn \__regex_posix_xdigit:
+\cs_new_protected:Npn \__regex_posix_xdigit:
   {
     \__regex_posix_digit:
     \__regex_item_caseful_range:nn \c_sixty_five { 70 }
@@ -284,9 +284,9 @@
   {
     \trace_push:nnn { regex } { 1 } { __regex_escape_use:nnnn }
     \__tl_build:Nw \l__regex_internal_a_tl
-      \cs_set_nopar:Npn \__regex_escape_unescaped:N ##1 { #1 }
-      \cs_set_nopar:Npn \__regex_escape_escaped:N ##1 { #2 }
-      \cs_set_nopar:Npn \__regex_escape_raw:N ##1 { #3 }
+      \cs_set:Npn \__regex_escape_unescaped:N ##1 { #1 }
+      \cs_set:Npn \__regex_escape_escaped:N ##1 { #2 }
+      \cs_set:Npn \__regex_escape_raw:N ##1 { #3 }
       \int_set:Nn \tex_escapechar:D { 92 }
       \__str_gset_other:Nn \g__regex_internal_tl { #4 }
       \tl_set:Nx \l__regex_internal_b_tl
@@ -305,7 +305,7 @@
       { \__regex_escape_unescaped:N #1 }
     \__regex_escape_loop:N
   }
-\cs_new_nopar:cpn { __regex_escape_ \c_backslash_str :w }
+\cs_new:cpn { __regex_escape_ \c_backslash_str :w }
     \__regex_escape_loop:N #1
   {
     \cs_if_exist_use:cF { __regex_escape_/\token_to_str:N #1:w }
@@ -316,24 +316,24 @@
 \cs_new_eq:NN \__regex_escape_escaped:N   ?
 \cs_new_eq:NN \__regex_escape_raw:N       ?
 \cs_new_eq:NN \__regex_escape_break:w \__prg_break:
-\cs_new_nopar:cpn { __regex_escape_/break:w }
+\cs_new:cpn { __regex_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 { __regex_escape_~:w } { }
-\cs_new_nopar:cpx { __regex_escape_/a:w }
+\cs_new:cpn { __regex_escape_~:w } { }
+\cs_new:cpx { __regex_escape_/a:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^G }
-\cs_new_nopar:cpx { __regex_escape_/t:w }
+\cs_new:cpx { __regex_escape_/t:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^I }
-\cs_new_nopar:cpx { __regex_escape_/n:w }
+\cs_new:cpx { __regex_escape_/n:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^J }
-\cs_new_nopar:cpx { __regex_escape_/f:w }
+\cs_new:cpx { __regex_escape_/f:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^L }
-\cs_new_nopar:cpx { __regex_escape_/r:w }
+\cs_new:cpx { __regex_escape_/r:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^M }
-\cs_new_nopar:cpx { __regex_escape_/e:w }
+\cs_new:cpx { __regex_escape_/e:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^[ }
 \cs_new:cpn { __regex_escape_/x:w } \__regex_escape_loop:N
   {
@@ -517,7 +517,7 @@
       \prg_return_false:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_class:TF
+\cs_new:Npn \__regex_if_in_class:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_i:nn
@@ -525,7 +525,7 @@
       \exp_after:wN \use_ii:nn
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_cs:TF
+\cs_new:Npn \__regex_if_in_cs:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_ii:nn
@@ -537,7 +537,7 @@
       \fi:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_class_or_catcode:TF
+\cs_new:Npn \__regex_if_in_class_or_catcode:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_i:nn
@@ -549,7 +549,7 @@
       \fi:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_within_catcode:TF
+\cs_new:Npn \__regex_if_within_catcode:TF
   {
     \if_int_compare:w \l__regex_mode_int > \c_zero
       \exp_after:wN \use_i:nn
@@ -580,17 +580,17 @@
       \fi:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compile:w
+\cs_new_protected:Npn \__regex_compile:w
   {
     \__tl_build_x:Nw \l__regex_internal_regex
       \int_zero:N \l__regex_group_level_int
       \int_set_eq:NN \l__regex_default_catcodes_int \c__regex_all_catcodes_int
       \int_set_eq:NN \l__regex_catcodes_int \l__regex_default_catcodes_int
-      \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
-      \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
+      \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
+      \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
       \__tl_build_one:n { \__regex_branch:n { \if_false: } \fi: }
   }
-\cs_new_protected_nopar:Npn \__regex_compile_end:
+\cs_new_protected:Npn \__regex_compile_end:
   {
       \__regex_if_in_class:TF
         {
@@ -714,11 +714,11 @@
         #3 #4
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_?:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_?:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_*:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_*:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_+:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_+:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
 \cs_new_protected:cpn { __regex_compile_quantifier_ \c_left_brace_str :w }
   {
@@ -857,13 +857,13 @@
         #2#3
       }
   }
-\cs_new_protected_nopar:cpx { __regex_compile_.: }
+\cs_new_protected:cpx { __regex_compile_.: }
   {
     \exp_not:N \__regex_if_in_class:TF
       { \__regex_compile_raw:N . }
       { \__regex_compile_one:x \exp_not:c { __regex_prop_.: } }
   }
-\cs_new_protected_nopar:cpn { __regex_prop_.: }
+\cs_new_protected:cpn { __regex_prop_.: }
   {
     \if_int_compare:w \l__regex_current_char_int > - \c_two
       \exp_after:wN \__regex_break_true:w
@@ -871,9 +871,9 @@
   }
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpx { __regex_compile_/#1: }
+    \cs_new_protected:cpx { __regex_compile_/#1: }
       { \__regex_compile_one:x \exp_not:c { __regex_prop_#1: } }
-    \cs_new_protected_nopar:cpx { __regex_compile_/#2: }
+    \cs_new_protected:cpx { __regex_compile_/#2: }
       {
         \__regex_compile_one:x
           { \__regex_item_reverse:n \exp_not:c { __regex_prop_#1: } }
@@ -884,7 +884,7 @@
 \__regex_tmp:w s S
 \__regex_tmp:w v V
 \__regex_tmp:w w W
-\cs_new_protected_nopar:cpn { __regex_compile_/N: }
+\cs_new_protected:cpn { __regex_compile_/N: }
   { \__regex_compile_one:x \__regex_prop_N: }
 \cs_new_protected:Npn \__regex_compile_anchor:NF #1#2
   {
@@ -896,7 +896,7 @@
   }
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpn { __regex_compile_/#1: }
+    \cs_new_protected:cpn { __regex_compile_/#1: }
       { \__regex_compile_anchor:NF #2 { \__regex_compile_raw_error:N #1 } }
   }
 \__regex_tmp:w A \l__regex_min_pos_int
@@ -905,12 +905,12 @@
 \__regex_tmp:w z \l__regex_max_pos_int
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpn { __regex_compile_#1: }
+    \cs_new_protected:cpn { __regex_compile_#1: }
       { \__regex_compile_anchor:NF #2 { \__regex_compile_raw:N #1 } }
   }
 \exp_args:Nx \__regex_tmp:w { \iow_char:N \^ } \l__regex_min_pos_int
 \exp_args:Nx \__regex_tmp:w { \iow_char:N \$ } \l__regex_max_pos_int
-\cs_new_protected_nopar:cpn { __regex_compile_/b: }
+\cs_new_protected:cpn { __regex_compile_/b: }
   {
     \__regex_if_in_class_or_catcode:TF
       { \__regex_compile_raw_error:N b }
@@ -919,7 +919,7 @@
           { \__regex_assertion:Nn \c_true_bool { \__regex_b_test: } }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_/B: }
+\cs_new_protected:cpn { __regex_compile_/B: }
   {
     \__regex_if_in_class_or_catcode:TF
       { \__regex_compile_raw_error:N B }
@@ -943,7 +943,7 @@
       }
       { \__regex_compile_raw:N ] }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_[: }
+\cs_new_protected:cpn { __regex_compile_[: }
   {
     \__regex_if_in_class:TF
       { \__regex_compile_class_posix_test:w }
@@ -956,7 +956,7 @@
           { \__regex_compile_class_normal:w }
       }
   }
-\cs_new_protected_nopar:Npn \__regex_compile_class_normal:w
+\cs_new_protected:Npn \__regex_compile_class_normal:w
   {
     \__regex_compile_class:TFNN
       { \__regex_class:NnnnN \c_true_bool }
@@ -1077,7 +1077,7 @@
       \exp_after:wN \__regex_compile_raw:N \exp_after:wN )
     \fi:
   }
-\cs_new_protected_nopar:cpn { __regex_compile_(: }
+\cs_new_protected:cpn { __regex_compile_(: }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N ( }
       { \__regex_compile_lparen:w }
@@ -1100,7 +1100,7 @@
           #1 #2 #3 #4
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_|: }
+\cs_new_protected:cpn { __regex_compile_|: }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N | }
       {
@@ -1108,21 +1108,21 @@
           { \if_false: { \fi: } \__regex_branch:n { \if_false: } \fi: }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_): }
+\cs_new_protected:cpn { __regex_compile_): }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N ) }
       { \__regex_compile_group_end: }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_::w }
+\cs_new_protected:cpn { __regex_compile_special_group_::w }
   { \__regex_compile_group_begin:N \__regex_group_no_capture:nnnN }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_|:w }
+\cs_new_protected:cpn { __regex_compile_special_group_|:w }
   { \__regex_compile_group_begin:N \__regex_group_resetting:nnnN }
 \cs_new_protected:Npn \__regex_compile_special_group_i:w #1#2
   {
     \str_if_eq:nnTF { #1 #2 } { \__regex_compile_special:N ) }
       {
-        \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseless_equal:n }
-        \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseless_range:nn }
+        \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseless_equal:n }
+        \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseless_range:nn }
       }
       {
         \__msg_kernel_warning:nnx { regex } { unknown-option } { (?i #2 }
@@ -1132,13 +1132,13 @@
         #1 #2
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_-:w } #1#2#3#4
+\cs_new_protected:cpn { __regex_compile_special_group_-:w } #1#2#3#4
   {
     \str_if_eq:nnTF { #1 #2 #3 #4 }
       { \__regex_compile_raw:N i \__regex_compile_special:N ) }
       {
-        \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
-        \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
+        \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
+        \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
       }
       {
         \__msg_kernel_warning:nnx { regex } { unknown-option } { (?-#2#4 }
@@ -1211,7 +1211,7 @@
       \tex_advance:D \l__regex_catcodes_int #1
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compile_c_lbrack_end:
+\cs_new_protected:Npn \__regex_compile_c_lbrack_end:
   {
     \if_meaning:w \c_false_bool \l__regex_catcodes_bool
       \int_set:Nn \l__regex_catcodes_int
@@ -1218,7 +1218,7 @@
         { \c__regex_all_catcodes_int - \l__regex_catcodes_int }
     \fi:
   }
-\cs_new_protected_nopar:cpn { __regex_compile_c_ \c_left_brace_str :w }
+\cs_new_protected:cpn { __regex_compile_c_ \c_left_brace_str :w }
   {
     \__regex_compile:w
       \__regex_disable_submatches:
@@ -1313,7 +1313,7 @@
           }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_/K: }
+\cs_new_protected:cpn { __regex_compile_/K: }
   {
     \int_compare:nNnTF \l__regex_mode_int = \c_zero
       { \__tl_build_one:n { \__regex_command_K: } }
@@ -1322,7 +1322,7 @@
 \cs_new_protected:Npn \__regex_show:Nx #1#2
   {
     \__tl_build:Nw \l__regex_internal_a_tl
-      \cs_set_protected_nopar:Npn \__regex_branch:n
+      \cs_set_protected:Npn \__regex_branch:n
         {
           \seq_pop_right:NN \l__regex_show_prefix_seq \l__regex_internal_a_tl
           \__regex_show_one:n { +-branch }
@@ -1329,18 +1329,18 @@
           \seq_put_right:No \l__regex_show_prefix_seq \l__regex_internal_a_tl
           \use:n
         }
-      \cs_set_protected_nopar:Npn \__regex_group:nnnN
+      \cs_set_protected:Npn \__regex_group:nnnN
         { \__regex_show_group_aux:nnnnN { } }
-      \cs_set_protected_nopar:Npn \__regex_group_no_capture:nnnN
+      \cs_set_protected:Npn \__regex_group_no_capture:nnnN
         { \__regex_show_group_aux:nnnnN { ~(no~capture) } }
-      \cs_set_protected_nopar:Npn \__regex_group_resetting:nnnN
+      \cs_set_protected:Npn \__regex_group_resetting:nnnN
         { \__regex_show_group_aux:nnnnN { ~(resetting) } }
       \cs_set_eq:NN \__regex_class:NnnnN \__regex_show_class:NnnnN
-      \cs_set_protected_nopar:Npn \__regex_command_K:
+      \cs_set_protected:Npn \__regex_command_K:
         { \__regex_show_one:n { reset~match~start~(\iow_char:N\\K) } }
       \cs_set_protected:Npn \__regex_assertion:Nn ##1##2
         { \__regex_show_one:n { \bool_if:NF ##1 { negative~ } assertion:~##2 } }
-      \cs_set_nopar:Npn \__regex_b_test: { word~boundary }
+      \cs_set:Npn \__regex_b_test: { word~boundary }
       \cs_set_eq:NN \__regex_anchor:N \__regex_show_anchor_to_str:N
       \cs_set_protected:Npn \__regex_item_caseful_equal:n ##1
         { \__regex_show_one:n { char~code~\int_eval:n{##1} } }
@@ -1511,7 +1511,7 @@
     \__regex_trace_states:n { 2 }
     \trace_pop:nnn { regex } { 1 } { __regex_build_for_cs }
   }
-\cs_new_protected_nopar:Npn \__regex_push_lr_states:
+\cs_new_protected:Npn \__regex_push_lr_states:
   {
     \seq_push:No \l__regex_left_state_seq
       { \int_use:N \l__regex_left_state_int }
@@ -1518,7 +1518,7 @@
     \seq_push:No \l__regex_right_state_seq
       { \int_use:N \l__regex_right_state_int }
   }
-\cs_new_protected_nopar:Npn \__regex_pop_lr_states:
+\cs_new_protected:Npn \__regex_pop_lr_states:
   {
     \seq_pop:NN \l__regex_left_state_seq  \l__regex_internal_a_tl
     \int_set:Nn \l__regex_left_state_int  \l__regex_internal_a_tl
@@ -1527,13 +1527,13 @@
   }
 \cs_new_protected:Npn \__regex_toks_put_left:Nx #1#2
   {
-    \cs_set_nopar:Npx \__regex_tmp:w { #2 }
+    \cs_set:Npx \__regex_tmp:w { #2 }
     \tex_toks:D #1 \exp_after:wN \exp_after:wN \exp_after:wN
       { \exp_after:wN \__regex_tmp:w \tex_the:D \tex_toks:D #1 }
   }
 \cs_new_protected:Npn \__regex_toks_put_right:Nx #1#2
   {
-    \cs_set_nopar:Npx \__regex_tmp:w {#2}
+    \cs_set:Npx \__regex_tmp:w {#2}
     \tex_toks:D #1 \exp_after:wN
       { \tex_the:D \tex_toks:D \exp_after:wN #1 \__regex_tmp:w }
   }
@@ -1543,7 +1543,7 @@
   { \__regex_toks_put_left:Nx  #2 { #1 { \int_eval:n { #3 - #2 } } } }
 \cs_new_protected:Npn \__regex_build_transition_right:nNn #1#2#3
   { \__regex_toks_put_right:Nx #2 { #1 { \int_eval:n { #3 - #2 } } } }
-\cs_new_protected_nopar:Npn \__regex_build_new_state:
+\cs_new_protected:Npn \__regex_build_new_state:
   {
     \trace:nnx { regex } { 2 }
       {
@@ -1574,7 +1574,7 @@
   }
 \cs_new_protected:Npn \__regex_class:NnnnN #1#2#3#4#5
   {
-    \cs_set_nopar:Npx \__regex_tests_action_cost:n ##1
+    \cs_set:Npx \__regex_tests_action_cost:n ##1
       {
         \exp_not:n { \exp_not:n {#2} }
         \bool_if:NTF #1
@@ -1651,7 +1651,7 @@
         #1
       }
   }
-\cs_new_protected_nopar:Npn \__regex_group_no_capture:nnnN
+\cs_new_protected:Npn \__regex_group_no_capture:nnnN
   { \__regex_group_aux:nnnnN { -1 } }
 \cs_new_protected:Npn \__regex_group_resetting:nnnN #1
   {
@@ -1820,7 +1820,7 @@
       \exp_after:wN \__regex_break_true:w
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_b_test:
+\cs_new_protected:Npn \__regex_b_test:
   {
     \group_begin:
       \int_set_eq:NN \l__regex_current_char_int \l__regex_last_char_int
@@ -1829,7 +1829,7 @@
         { \group_end: \__regex_item_reverse:n \__regex_prop_w: }
         { \group_end: \__regex_prop_w: }
   }
-\cs_new_protected_nopar:Npn \__regex_command_K:
+\cs_new_protected:Npn \__regex_command_K:
   {
     \__regex_build_new_state:
     \__regex_toks_put_right:Nx \l__regex_left_state_int
@@ -1889,10 +1889,10 @@
     \__regex_match_once:
     \trace_pop:nnx { regex } { 1 } { __regex_match }
   }
-\cs_new_protected_nopar:Npn \__regex_match_once:
+\cs_new_protected:Npn \__regex_match_once:
   {
     \if_meaning:w \c_true_bool \l__regex_empty_success_bool
-      \cs_set_nopar:Npn \__regex_if_two_empty_matches:F
+      \cs_set:Npn \__regex_if_two_empty_matches:F
         { \int_compare:nNnF \l__regex_start_pos_int = \l__regex_current_pos_int }
     \else:
       \cs_set_eq:NN \__regex_if_two_empty_matches:F \use:n
@@ -1908,7 +1908,7 @@
     \__regex_match_loop:
     \l__regex_every_match_tl
   }
-\cs_new_protected_nopar:Npn \__regex_single_match:
+\cs_new_protected:Npn \__regex_single_match:
   {
     \tl_set:Nn \l__regex_every_match_tl
       { \bool_gset_eq:NN \g__regex_success_bool \l__regex_match_success_bool }
@@ -1924,7 +1924,7 @@
         \fi:
       }
   }
-\cs_new_protected_nopar:Npn \__regex_match_loop:
+\cs_new_protected:Npn \__regex_match_loop:
   {
     \tex_advance:D \l__regex_step_int \c_two
     \int_incr:N \l__regex_current_pos_int
@@ -1970,7 +1970,7 @@
     \or: \int_decr:N \l__regex_balance_int
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_query_get:
+\cs_new_protected:Npn \__regex_query_get:
   {
     \l__regex_current_char_int
       = \etex_mutoglue:D \tex_muskip:D \l__regex_current_pos_int
@@ -1977,7 +1977,7 @@
     \l__regex_current_catcode_int = \etex_gluestretch:D
       \etex_mutoglue:D \tex_muskip:D \l__regex_current_pos_int
   }
-\cs_new_protected_nopar:Npn \__regex_use_state:
+\cs_new_protected:Npn \__regex_use_state:
   {
     \trace:nnx { regex } { 2 } { state~\int_use:N \l__regex_current_state_int }
     \tex_dimen:D \l__regex_current_state_int
@@ -1996,7 +1996,7 @@
     \fi:
     \scan_stop:
   }
-\cs_new_protected_nopar:Npn \__regex_action_start_wildcard:
+\cs_new_protected:Npn \__regex_action_start_wildcard:
   {
     \bool_set_true:N \l__regex_fresh_thread_bool
     \__regex_action_free:n {1}
@@ -2003,9 +2003,9 @@
     \bool_set_false:N \l__regex_fresh_thread_bool
     \__regex_action_cost:n {0}
   }
-\cs_new_protected_nopar:Npn \__regex_action_free:n
+\cs_new_protected:Npn \__regex_action_free:n
   { \__regex_action_free_aux:nn { > \l__regex_step_int \else: } }
-\cs_new_protected_nopar:Npn \__regex_action_free_group:n
+\cs_new_protected:Npn \__regex_action_free_group:n
   { \__regex_action_free_aux:nn { < \l__regex_step_int } }
 \cs_new_protected:Npn \__regex_action_free_aux:nn #1#2
   {
@@ -2035,14 +2035,14 @@
     \tex_skip:D \l__regex_max_active_int = #1 sp \scan_stop:
     \int_incr:N \l__regex_max_active_int
   }
-\cs_new_protected_nopar:Npn \__regex_store_submatches:
+\cs_new_protected:Npn \__regex_store_submatches:
   {
     \tex_toks:D \l__regex_max_active_int \exp_after:wN
       { \l__regex_current_submatches_prop }
   }
-\cs_new_protected_nopar:Npn \__regex_disable_submatches:
+\cs_new_protected:Npn \__regex_disable_submatches:
   {
-    \cs_set_protected_nopar:Npn \__regex_store_submatches: { }
+    \cs_set_protected:Npn \__regex_store_submatches: { }
     \cs_set_protected:Npn \__regex_action_submatch:n ##1 { }
   }
 \cs_new_protected:Npn \__regex_action_submatch:n #1
@@ -2050,7 +2050,7 @@
     \prop_put:Nno \l__regex_current_submatches_prop {#1}
       { \int_use:N \l__regex_current_pos_int }
   }
-\cs_new_protected_nopar:Npn \__regex_action_success:
+\cs_new_protected:Npn \__regex_action_success:
   {
     \__regex_if_two_empty_matches:F
       {
@@ -2210,7 +2210,7 @@
       }
       { \__regex_replacement_error:NNN c #1#2 }
   }
-\cs_new_protected_nopar:cpn { __regex_replacement_c_ \c_left_brace_str :w }
+\cs_new_protected:cpn { __regex_replacement_c_ \c_left_brace_str :w }
   {
     \if_case:w \l__regex_replacement_csnames_int
       \__tl_build_one:n
@@ -2253,10 +2253,10 @@
       \fi:
     }
   \char_set_catcode_active:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_A:w
+  \cs_new_protected:Npn \__regex_replacement_c_A:w
     { \__regex_replacement_char:nNN { \exp_not:n { \exp_not:N ^^@ } } }
   \char_set_catcode_group_begin:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_B:w
+  \cs_new_protected:Npn \__regex_replacement_c_B:w
     {
       \if_int_compare:w \l__regex_replacement_csnames_int = \c_zero
         \int_incr:N \l__regex_balance_int
@@ -2267,10 +2267,10 @@
   \cs_new_protected:Npn \__regex_replacement_c_C:w #1#2
     { \__tl_build_one:n { \exp_not:N \exp_not:N \exp_not:c {#2} } }
   \char_set_catcode_math_subscript:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_D:w
+  \cs_new_protected:Npn \__regex_replacement_c_D:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_group_end:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_E:w
+  \cs_new_protected:Npn \__regex_replacement_c_E:w
     {
       \if_int_compare:w \l__regex_replacement_csnames_int = \c_zero
         \int_decr:N \l__regex_balance_int
@@ -2279,16 +2279,16 @@
         { \exp_not:n { \if_false: { \fi:  ^^@ } }
     }
   \char_set_catcode_letter:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_L:w
+  \cs_new_protected:Npn \__regex_replacement_c_L:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_math_toggle:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_M:w
+  \cs_new_protected:Npn \__regex_replacement_c_M:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_other:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_O:w
+  \cs_new_protected:Npn \__regex_replacement_c_O:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_parameter:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_P:w
+  \cs_new_protected:Npn \__regex_replacement_c_P:w
     {
       \__regex_replacement_char:nNN
         { \exp_not:n { \exp_not:n { ^^@^^@^^@^^@ } } }
@@ -2306,10 +2306,10 @@
       \fi:
     }
   \char_set_catcode_alignment:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_T:w
+  \cs_new_protected:Npn \__regex_replacement_c_T:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_math_superscript:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_U:w
+  \cs_new_protected:Npn \__regex_replacement_c_U:w
     { \__regex_replacement_char:nNN { ^^@ } }
 \group_end:
 \cs_new_protected:Npn \__regex_replacement_error:NNN #1#2#3
@@ -2319,17 +2319,17 @@
   }
 \cs_new_protected:Npn \regex_new:N #1
   { \cs_new_eq:NN #1 \c__regex_no_match_regex }
-\cs_new_protected_nopar:Npn \regex_set:Nn #1#2
+\cs_new_protected:Npn \regex_set:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_set_eq:NN #1 \l__regex_internal_regex
   }
-\cs_new_protected_nopar:Npn \regex_gset:Nn #1#2
+\cs_new_protected:Npn \regex_gset:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_gset_eq:NN #1 \l__regex_internal_regex
   }
-\cs_new_protected_nopar:Npn \regex_const:Nn #1#2
+\cs_new_protected:Npn \regex_const:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_const:Nx #1 { \exp_not:o \l__regex_internal_regex }
@@ -2379,7 +2379,7 @@
 \flag_new:n { __regex_end }
 \int_new:N \l__regex_submatch_int
 \int_new:N \l__regex_zeroth_submatch_int
-\cs_new_protected_nopar:Npn \__regex_return:
+\cs_new_protected:Npn \__regex_return:
   {
     \if_meaning:w \c_true_bool \g__regex_success_bool
       \prg_return_true:
@@ -2498,7 +2498,7 @@
       \prg_replicate:nn {#1} { \exp_not:n { \if_false: { \fi: } } }
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_extract:
+\cs_new_protected:Npn \__regex_extract:
   {
     \if_meaning:w \c_true_bool \g__regex_success_bool
       \int_set_eq:NN \l__regex_zeroth_submatch_int \l__regex_submatch_int
@@ -2585,7 +2585,7 @@
         }
     \__regex_group_end_replace:N #3
   }
-\cs_new_protected_nopar:Npn \__regex_group_end_replace:N #1
+\cs_new_protected:Npn \__regex_group_end_replace:N #1
   {
     \if_int_compare:w \l__regex_balance_int = \c_zero
     \else:

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3regex.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,8 +45,8 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3regex}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
       }%
     \endinput
   }
-\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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -130,7 +130,7 @@
       \fi:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compute_case_changed_char:
+\cs_new_protected:Npn \__regex_compute_case_changed_char:
   {
     \int_set_eq:NN \l__regex_case_changed_char_int \l__regex_current_char_int
     \if_int_compare:w \l__regex_current_char_int < \c_ninety_one
@@ -214,14 +214,14 @@
         \group_end:
       }
   }
-\cs_new_protected_nopar:Npn \__regex_prop_d:
+\cs_new_protected:Npn \__regex_prop_d:
   { \__regex_item_caseful_range:nn \c_forty_eight { 57 } } % 0--9
-\cs_new_protected_nopar:Npn \__regex_prop_h:
+\cs_new_protected:Npn \__regex_prop_h:
   {
     \__regex_item_caseful_equal:n \c_thirty_two % space
     \__regex_item_caseful_equal:n \c_nine       % tab
   }
-\cs_new_protected_nopar:Npn \__regex_prop_s:
+\cs_new_protected:Npn \__regex_prop_s:
   {
     \__regex_item_caseful_equal:n \c_thirty_two % space
     \__regex_item_caseful_equal:n \c_nine       % tab
@@ -229,9 +229,9 @@
     \__regex_item_caseful_equal:n \c_twelve     % ff
     \__regex_item_caseful_equal:n \c_thirteen   % cr
   }
-\cs_new_protected_nopar:Npn \__regex_prop_v:
+\cs_new_protected:Npn \__regex_prop_v:
   { \__regex_item_caseful_range:nn \c_ten \c_thirteen } % lf, vtab, ff, cr
-\cs_new_protected_nopar:Npn \__regex_prop_w:
+\cs_new_protected:Npn \__regex_prop_w:
   {
     \__regex_item_caseful_range:nn \c_ninety_seven { 122 } % a--z
     \__regex_item_caseful_range:nn \c_sixty_five   {  90 } % A--Z
@@ -238,28 +238,28 @@
     \__regex_item_caseful_range:nn \c_forty_eight  {  57 } % 0--9
     \__regex_item_caseful_equal:n  { 95 } % _
   }
-\cs_new_protected_nopar:Npn \__regex_prop_N:
+\cs_new_protected:Npn \__regex_prop_N:
   { \__regex_item_reverse:n { \__regex_item_caseful_equal:n \c_ten } }
-\cs_new_protected_nopar:Npn \__regex_posix_alnum:
+\cs_new_protected:Npn \__regex_posix_alnum:
   { \__regex_posix_alpha: \__regex_posix_digit: }
-\cs_new_protected_nopar:Npn \__regex_posix_alpha:
+\cs_new_protected:Npn \__regex_posix_alpha:
   { \__regex_posix_lower: \__regex_posix_upper: }
-\cs_new_protected_nopar:Npn \__regex_posix_ascii:
+\cs_new_protected:Npn \__regex_posix_ascii:
   { \__regex_item_caseful_range:nn \c_zero \c_one_hundred_twenty_seven }
 \cs_new_eq:NN \__regex_posix_blank: \__regex_prop_h:
-\cs_new_protected_nopar:Npn \__regex_posix_cntrl:
+\cs_new_protected:Npn \__regex_posix_cntrl:
   {
     \__regex_item_caseful_range:nn \c_zero { 31 }
     \__regex_item_caseful_equal:n \c_one_hundred_twenty_seven
   }
 \cs_new_eq:NN \__regex_posix_digit: \__regex_prop_d:
-\cs_new_protected_nopar:Npn \__regex_posix_graph:
+\cs_new_protected:Npn \__regex_posix_graph:
   { \__regex_item_caseful_range:nn { 33 } { 126 } }
-\cs_new_protected_nopar:Npn \__regex_posix_lower:
+\cs_new_protected:Npn \__regex_posix_lower:
   { \__regex_item_caseful_range:nn \c_ninety_seven { 122 } }
-\cs_new_protected_nopar:Npn \__regex_posix_print:
+\cs_new_protected:Npn \__regex_posix_print:
   { \__regex_item_caseful_range:nn \c_thirty_two { 126 } }
-\cs_new_protected_nopar:Npn \__regex_posix_punct:
+\cs_new_protected:Npn \__regex_posix_punct:
   {
     \__regex_item_caseful_range:nn { 33 } { 47 }
     \__regex_item_caseful_range:nn { 58 } { 64 }
@@ -266,15 +266,15 @@
     \__regex_item_caseful_range:nn { 91 } { 96 }
     \__regex_item_caseful_range:nn { 123 } { 126 }
   }
-\cs_new_protected_nopar:Npn \__regex_posix_space:
+\cs_new_protected:Npn \__regex_posix_space:
   {
     \__regex_item_caseful_equal:n \c_thirty_two
     \__regex_item_caseful_range:nn \c_nine \c_thirteen
   }
-\cs_new_protected_nopar:Npn \__regex_posix_upper:
+\cs_new_protected:Npn \__regex_posix_upper:
   { \__regex_item_caseful_range:nn \c_sixty_five { 90 } }
 \cs_new_eq:NN \__regex_posix_word: \__regex_prop_w:
-\cs_new_protected_nopar:Npn \__regex_posix_xdigit:
+\cs_new_protected:Npn \__regex_posix_xdigit:
   {
     \__regex_posix_digit:
     \__regex_item_caseful_range:nn \c_sixty_five { 70 }
@@ -283,9 +283,9 @@
 \cs_new_protected:Npn \__regex_escape_use:nnnn #1#2#3#4
   {
     \__tl_build:Nw \l__regex_internal_a_tl
-      \cs_set_nopar:Npn \__regex_escape_unescaped:N ##1 { #1 }
-      \cs_set_nopar:Npn \__regex_escape_escaped:N ##1 { #2 }
-      \cs_set_nopar:Npn \__regex_escape_raw:N ##1 { #3 }
+      \cs_set:Npn \__regex_escape_unescaped:N ##1 { #1 }
+      \cs_set:Npn \__regex_escape_escaped:N ##1 { #2 }
+      \cs_set:Npn \__regex_escape_raw:N ##1 { #3 }
       \int_set:Nn \tex_escapechar:D { 92 }
       \__str_gset_other:Nn \g__regex_internal_tl { #4 }
       \tl_set:Nx \l__regex_internal_b_tl
@@ -303,7 +303,7 @@
       { \__regex_escape_unescaped:N #1 }
     \__regex_escape_loop:N
   }
-\cs_new_nopar:cpn { __regex_escape_ \c_backslash_str :w }
+\cs_new:cpn { __regex_escape_ \c_backslash_str :w }
     \__regex_escape_loop:N #1
   {
     \cs_if_exist_use:cF { __regex_escape_/\token_to_str:N #1:w }
@@ -314,24 +314,24 @@
 \cs_new_eq:NN \__regex_escape_escaped:N   ?
 \cs_new_eq:NN \__regex_escape_raw:N       ?
 \cs_new_eq:NN \__regex_escape_break:w \__prg_break:
-\cs_new_nopar:cpn { __regex_escape_/break:w }
+\cs_new:cpn { __regex_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 { __regex_escape_~:w } { }
-\cs_new_nopar:cpx { __regex_escape_/a:w }
+\cs_new:cpn { __regex_escape_~:w } { }
+\cs_new:cpx { __regex_escape_/a:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^G }
-\cs_new_nopar:cpx { __regex_escape_/t:w }
+\cs_new:cpx { __regex_escape_/t:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^I }
-\cs_new_nopar:cpx { __regex_escape_/n:w }
+\cs_new:cpx { __regex_escape_/n:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^J }
-\cs_new_nopar:cpx { __regex_escape_/f:w }
+\cs_new:cpx { __regex_escape_/f:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^L }
-\cs_new_nopar:cpx { __regex_escape_/r:w }
+\cs_new:cpx { __regex_escape_/r:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^M }
-\cs_new_nopar:cpx { __regex_escape_/e:w }
+\cs_new:cpx { __regex_escape_/e:w }
   { \exp_not:N \__regex_escape_raw:N \iow_char:N \^^[ }
 \cs_new:cpn { __regex_escape_/x:w } \__regex_escape_loop:N
   {
@@ -515,7 +515,7 @@
       \prg_return_false:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_class:TF
+\cs_new:Npn \__regex_if_in_class:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_i:nn
@@ -523,7 +523,7 @@
       \exp_after:wN \use_ii:nn
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_cs:TF
+\cs_new:Npn \__regex_if_in_cs:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_ii:nn
@@ -535,7 +535,7 @@
       \fi:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_in_class_or_catcode:TF
+\cs_new:Npn \__regex_if_in_class_or_catcode:TF
   {
     \if_int_odd:w \l__regex_mode_int
       \exp_after:wN \use_i:nn
@@ -547,7 +547,7 @@
       \fi:
     \fi:
   }
-\cs_new_nopar:Npn \__regex_if_within_catcode:TF
+\cs_new:Npn \__regex_if_within_catcode:TF
   {
     \if_int_compare:w \l__regex_mode_int > \c_zero
       \exp_after:wN \use_i:nn
@@ -578,17 +578,17 @@
       \fi:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compile:w
+\cs_new_protected:Npn \__regex_compile:w
   {
     \__tl_build_x:Nw \l__regex_internal_regex
       \int_zero:N \l__regex_group_level_int
       \int_set_eq:NN \l__regex_default_catcodes_int \c__regex_all_catcodes_int
       \int_set_eq:NN \l__regex_catcodes_int \l__regex_default_catcodes_int
-      \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
-      \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
+      \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
+      \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
       \__tl_build_one:n { \__regex_branch:n { \if_false: } \fi: }
   }
-\cs_new_protected_nopar:Npn \__regex_compile_end:
+\cs_new_protected:Npn \__regex_compile_end:
   {
       \__regex_if_in_class:TF
         {
@@ -712,11 +712,11 @@
         #3 #4
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_?:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_?:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 0 } { 1 } }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_*:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_*:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 0 } { -1 } }
-\cs_new_protected_nopar:cpn { __regex_compile_quantifier_+:w }
+\cs_new_protected:cpn { __regex_compile_quantifier_+:w }
   { \__regex_compile_quantifier_lazyness:nnNN { 1 } { -1 } }
 \cs_new_protected:cpn { __regex_compile_quantifier_ \c_left_brace_str :w }
   {
@@ -855,13 +855,13 @@
         #2#3
       }
   }
-\cs_new_protected_nopar:cpx { __regex_compile_.: }
+\cs_new_protected:cpx { __regex_compile_.: }
   {
     \exp_not:N \__regex_if_in_class:TF
       { \__regex_compile_raw:N . }
       { \__regex_compile_one:x \exp_not:c { __regex_prop_.: } }
   }
-\cs_new_protected_nopar:cpn { __regex_prop_.: }
+\cs_new_protected:cpn { __regex_prop_.: }
   {
     \if_int_compare:w \l__regex_current_char_int > - \c_two
       \exp_after:wN \__regex_break_true:w
@@ -869,9 +869,9 @@
   }
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpx { __regex_compile_/#1: }
+    \cs_new_protected:cpx { __regex_compile_/#1: }
       { \__regex_compile_one:x \exp_not:c { __regex_prop_#1: } }
-    \cs_new_protected_nopar:cpx { __regex_compile_/#2: }
+    \cs_new_protected:cpx { __regex_compile_/#2: }
       {
         \__regex_compile_one:x
           { \__regex_item_reverse:n \exp_not:c { __regex_prop_#1: } }
@@ -882,7 +882,7 @@
 \__regex_tmp:w s S
 \__regex_tmp:w v V
 \__regex_tmp:w w W
-\cs_new_protected_nopar:cpn { __regex_compile_/N: }
+\cs_new_protected:cpn { __regex_compile_/N: }
   { \__regex_compile_one:x \__regex_prop_N: }
 \cs_new_protected:Npn \__regex_compile_anchor:NF #1#2
   {
@@ -894,7 +894,7 @@
   }
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpn { __regex_compile_/#1: }
+    \cs_new_protected:cpn { __regex_compile_/#1: }
       { \__regex_compile_anchor:NF #2 { \__regex_compile_raw_error:N #1 } }
   }
 \__regex_tmp:w A \l__regex_min_pos_int
@@ -903,12 +903,12 @@
 \__regex_tmp:w z \l__regex_max_pos_int
 \cs_set_protected:Npn \__regex_tmp:w #1#2
   {
-    \cs_new_protected_nopar:cpn { __regex_compile_#1: }
+    \cs_new_protected:cpn { __regex_compile_#1: }
       { \__regex_compile_anchor:NF #2 { \__regex_compile_raw:N #1 } }
   }
 \exp_args:Nx \__regex_tmp:w { \iow_char:N \^ } \l__regex_min_pos_int
 \exp_args:Nx \__regex_tmp:w { \iow_char:N \$ } \l__regex_max_pos_int
-\cs_new_protected_nopar:cpn { __regex_compile_/b: }
+\cs_new_protected:cpn { __regex_compile_/b: }
   {
     \__regex_if_in_class_or_catcode:TF
       { \__regex_compile_raw_error:N b }
@@ -917,7 +917,7 @@
           { \__regex_assertion:Nn \c_true_bool { \__regex_b_test: } }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_/B: }
+\cs_new_protected:cpn { __regex_compile_/B: }
   {
     \__regex_if_in_class_or_catcode:TF
       { \__regex_compile_raw_error:N B }
@@ -941,7 +941,7 @@
       }
       { \__regex_compile_raw:N ] }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_[: }
+\cs_new_protected:cpn { __regex_compile_[: }
   {
     \__regex_if_in_class:TF
       { \__regex_compile_class_posix_test:w }
@@ -954,7 +954,7 @@
           { \__regex_compile_class_normal:w }
       }
   }
-\cs_new_protected_nopar:Npn \__regex_compile_class_normal:w
+\cs_new_protected:Npn \__regex_compile_class_normal:w
   {
     \__regex_compile_class:TFNN
       { \__regex_class:NnnnN \c_true_bool }
@@ -1075,7 +1075,7 @@
       \exp_after:wN \__regex_compile_raw:N \exp_after:wN )
     \fi:
   }
-\cs_new_protected_nopar:cpn { __regex_compile_(: }
+\cs_new_protected:cpn { __regex_compile_(: }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N ( }
       { \__regex_compile_lparen:w }
@@ -1098,7 +1098,7 @@
           #1 #2 #3 #4
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_|: }
+\cs_new_protected:cpn { __regex_compile_|: }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N | }
       {
@@ -1106,21 +1106,21 @@
           { \if_false: { \fi: } \__regex_branch:n { \if_false: } \fi: }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_): }
+\cs_new_protected:cpn { __regex_compile_): }
   {
     \__regex_if_in_class:TF { \__regex_compile_raw:N ) }
       { \__regex_compile_group_end: }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_::w }
+\cs_new_protected:cpn { __regex_compile_special_group_::w }
   { \__regex_compile_group_begin:N \__regex_group_no_capture:nnnN }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_|:w }
+\cs_new_protected:cpn { __regex_compile_special_group_|:w }
   { \__regex_compile_group_begin:N \__regex_group_resetting:nnnN }
 \cs_new_protected:Npn \__regex_compile_special_group_i:w #1#2
   {
     \str_if_eq:nnTF { #1 #2 } { \__regex_compile_special:N ) }
       {
-        \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseless_equal:n }
-        \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseless_range:nn }
+        \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseless_equal:n }
+        \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseless_range:nn }
       }
       {
         \__msg_kernel_warning:nnx { regex } { unknown-option } { (?i #2 }
@@ -1130,13 +1130,13 @@
         #1 #2
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_special_group_-:w } #1#2#3#4
+\cs_new_protected:cpn { __regex_compile_special_group_-:w } #1#2#3#4
   {
     \str_if_eq:nnTF { #1 #2 #3 #4 }
       { \__regex_compile_raw:N i \__regex_compile_special:N ) }
       {
-        \cs_set_nopar:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
-        \cs_set_nopar:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
+        \cs_set:Npn \__regex_item_equal:n  { \__regex_item_caseful_equal:n }
+        \cs_set:Npn \__regex_item_range:nn { \__regex_item_caseful_range:nn }
       }
       {
         \__msg_kernel_warning:nnx { regex } { unknown-option } { (?-#2#4 }
@@ -1209,7 +1209,7 @@
       \tex_advance:D \l__regex_catcodes_int #1
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_compile_c_lbrack_end:
+\cs_new_protected:Npn \__regex_compile_c_lbrack_end:
   {
     \if_meaning:w \c_false_bool \l__regex_catcodes_bool
       \int_set:Nn \l__regex_catcodes_int
@@ -1216,7 +1216,7 @@
         { \c__regex_all_catcodes_int - \l__regex_catcodes_int }
     \fi:
   }
-\cs_new_protected_nopar:cpn { __regex_compile_c_ \c_left_brace_str :w }
+\cs_new_protected:cpn { __regex_compile_c_ \c_left_brace_str :w }
   {
     \__regex_compile:w
       \__regex_disable_submatches:
@@ -1311,7 +1311,7 @@
           }
       }
   }
-\cs_new_protected_nopar:cpn { __regex_compile_/K: }
+\cs_new_protected:cpn { __regex_compile_/K: }
   {
     \int_compare:nNnTF \l__regex_mode_int = \c_zero
       { \__tl_build_one:n { \__regex_command_K: } }
@@ -1320,7 +1320,7 @@
 \cs_new_protected:Npn \__regex_show:Nx #1#2
   {
     \__tl_build:Nw \l__regex_internal_a_tl
-      \cs_set_protected_nopar:Npn \__regex_branch:n
+      \cs_set_protected:Npn \__regex_branch:n
         {
           \seq_pop_right:NN \l__regex_show_prefix_seq \l__regex_internal_a_tl
           \__regex_show_one:n { +-branch }
@@ -1327,18 +1327,18 @@
           \seq_put_right:No \l__regex_show_prefix_seq \l__regex_internal_a_tl
           \use:n
         }
-      \cs_set_protected_nopar:Npn \__regex_group:nnnN
+      \cs_set_protected:Npn \__regex_group:nnnN
         { \__regex_show_group_aux:nnnnN { } }
-      \cs_set_protected_nopar:Npn \__regex_group_no_capture:nnnN
+      \cs_set_protected:Npn \__regex_group_no_capture:nnnN
         { \__regex_show_group_aux:nnnnN { ~(no~capture) } }
-      \cs_set_protected_nopar:Npn \__regex_group_resetting:nnnN
+      \cs_set_protected:Npn \__regex_group_resetting:nnnN
         { \__regex_show_group_aux:nnnnN { ~(resetting) } }
       \cs_set_eq:NN \__regex_class:NnnnN \__regex_show_class:NnnnN
-      \cs_set_protected_nopar:Npn \__regex_command_K:
+      \cs_set_protected:Npn \__regex_command_K:
         { \__regex_show_one:n { reset~match~start~(\iow_char:N\\K) } }
       \cs_set_protected:Npn \__regex_assertion:Nn ##1##2
         { \__regex_show_one:n { \bool_if:NF ##1 { negative~ } assertion:~##2 } }
-      \cs_set_nopar:Npn \__regex_b_test: { word~boundary }
+      \cs_set:Npn \__regex_b_test: { word~boundary }
       \cs_set_eq:NN \__regex_anchor:N \__regex_show_anchor_to_str:N
       \cs_set_protected:Npn \__regex_item_caseful_equal:n ##1
         { \__regex_show_one:n { char~code~\int_eval:n{##1} } }
@@ -1503,7 +1503,7 @@
         \fi:
       }
   }
-\cs_new_protected_nopar:Npn \__regex_push_lr_states:
+\cs_new_protected:Npn \__regex_push_lr_states:
   {
     \seq_push:No \l__regex_left_state_seq
       { \int_use:N \l__regex_left_state_int }
@@ -1510,7 +1510,7 @@
     \seq_push:No \l__regex_right_state_seq
       { \int_use:N \l__regex_right_state_int }
   }
-\cs_new_protected_nopar:Npn \__regex_pop_lr_states:
+\cs_new_protected:Npn \__regex_pop_lr_states:
   {
     \seq_pop:NN \l__regex_left_state_seq  \l__regex_internal_a_tl
     \int_set:Nn \l__regex_left_state_int  \l__regex_internal_a_tl
@@ -1519,13 +1519,13 @@
   }
 \cs_new_protected:Npn \__regex_toks_put_left:Nx #1#2
   {
-    \cs_set_nopar:Npx \__regex_tmp:w { #2 }
+    \cs_set:Npx \__regex_tmp:w { #2 }
     \tex_toks:D #1 \exp_after:wN \exp_after:wN \exp_after:wN
       { \exp_after:wN \__regex_tmp:w \tex_the:D \tex_toks:D #1 }
   }
 \cs_new_protected:Npn \__regex_toks_put_right:Nx #1#2
   {
-    \cs_set_nopar:Npx \__regex_tmp:w {#2}
+    \cs_set:Npx \__regex_tmp:w {#2}
     \tex_toks:D #1 \exp_after:wN
       { \tex_the:D \tex_toks:D \exp_after:wN #1 \__regex_tmp:w }
   }
@@ -1535,7 +1535,7 @@
   { \__regex_toks_put_left:Nx  #2 { #1 { \int_eval:n { #3 - #2 } } } }
 \cs_new_protected:Npn \__regex_build_transition_right:nNn #1#2#3
   { \__regex_toks_put_right:Nx #2 { #1 { \int_eval:n { #3 - #2 } } } }
-\cs_new_protected_nopar:Npn \__regex_build_new_state:
+\cs_new_protected:Npn \__regex_build_new_state:
   {
     \tex_toks:D \l__regex_max_state_int { }
     \int_set_eq:NN \l__regex_left_state_int \l__regex_right_state_int
@@ -1558,7 +1558,7 @@
   }
 \cs_new_protected:Npn \__regex_class:NnnnN #1#2#3#4#5
   {
-    \cs_set_nopar:Npx \__regex_tests_action_cost:n ##1
+    \cs_set:Npx \__regex_tests_action_cost:n ##1
       {
         \exp_not:n { \exp_not:n {#2} }
         \bool_if:NTF #1
@@ -1633,7 +1633,7 @@
         #1
       }
   }
-\cs_new_protected_nopar:Npn \__regex_group_no_capture:nnnN
+\cs_new_protected:Npn \__regex_group_no_capture:nnnN
   { \__regex_group_aux:nnnnN { -1 } }
 \cs_new_protected:Npn \__regex_group_resetting:nnnN #1
   {
@@ -1800,7 +1800,7 @@
       \exp_after:wN \__regex_break_true:w
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_b_test:
+\cs_new_protected:Npn \__regex_b_test:
   {
     \group_begin:
       \int_set_eq:NN \l__regex_current_char_int \l__regex_last_char_int
@@ -1809,7 +1809,7 @@
         { \group_end: \__regex_item_reverse:n \__regex_prop_w: }
         { \group_end: \__regex_prop_w: }
   }
-\cs_new_protected_nopar:Npn \__regex_command_K:
+\cs_new_protected:Npn \__regex_command_K:
   {
     \__regex_build_new_state:
     \__regex_toks_put_right:Nx \l__regex_left_state_int
@@ -1865,10 +1865,10 @@
     \bool_set_false:N \l__regex_empty_success_bool
     \__regex_match_once:
   }
-\cs_new_protected_nopar:Npn \__regex_match_once:
+\cs_new_protected:Npn \__regex_match_once:
   {
     \if_meaning:w \c_true_bool \l__regex_empty_success_bool
-      \cs_set_nopar:Npn \__regex_if_two_empty_matches:F
+      \cs_set:Npn \__regex_if_two_empty_matches:F
         { \int_compare:nNnF \l__regex_start_pos_int = \l__regex_current_pos_int }
     \else:
       \cs_set_eq:NN \__regex_if_two_empty_matches:F \use:n
@@ -1884,7 +1884,7 @@
     \__regex_match_loop:
     \l__regex_every_match_tl
   }
-\cs_new_protected_nopar:Npn \__regex_single_match:
+\cs_new_protected:Npn \__regex_single_match:
   {
     \tl_set:Nn \l__regex_every_match_tl
       { \bool_gset_eq:NN \g__regex_success_bool \l__regex_match_success_bool }
@@ -1900,7 +1900,7 @@
         \fi:
       }
   }
-\cs_new_protected_nopar:Npn \__regex_match_loop:
+\cs_new_protected:Npn \__regex_match_loop:
   {
     \tex_advance:D \l__regex_step_int \c_two
     \int_incr:N \l__regex_current_pos_int
@@ -1946,7 +1946,7 @@
     \or: \int_decr:N \l__regex_balance_int
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_query_get:
+\cs_new_protected:Npn \__regex_query_get:
   {
     \l__regex_current_char_int
       = \etex_mutoglue:D \tex_muskip:D \l__regex_current_pos_int
@@ -1953,7 +1953,7 @@
     \l__regex_current_catcode_int = \etex_gluestretch:D
       \etex_mutoglue:D \tex_muskip:D \l__regex_current_pos_int
   }
-\cs_new_protected_nopar:Npn \__regex_use_state:
+\cs_new_protected:Npn \__regex_use_state:
   {
     \tex_dimen:D \l__regex_current_state_int
       = \l__regex_step_int sp \scan_stop:
@@ -1971,7 +1971,7 @@
     \fi:
     \scan_stop:
   }
-\cs_new_protected_nopar:Npn \__regex_action_start_wildcard:
+\cs_new_protected:Npn \__regex_action_start_wildcard:
   {
     \bool_set_true:N \l__regex_fresh_thread_bool
     \__regex_action_free:n {1}
@@ -1978,9 +1978,9 @@
     \bool_set_false:N \l__regex_fresh_thread_bool
     \__regex_action_cost:n {0}
   }
-\cs_new_protected_nopar:Npn \__regex_action_free:n
+\cs_new_protected:Npn \__regex_action_free:n
   { \__regex_action_free_aux:nn { > \l__regex_step_int \else: } }
-\cs_new_protected_nopar:Npn \__regex_action_free_group:n
+\cs_new_protected:Npn \__regex_action_free_group:n
   { \__regex_action_free_aux:nn { < \l__regex_step_int } }
 \cs_new_protected:Npn \__regex_action_free_aux:nn #1#2
   {
@@ -2010,14 +2010,14 @@
     \tex_skip:D \l__regex_max_active_int = #1 sp \scan_stop:
     \int_incr:N \l__regex_max_active_int
   }
-\cs_new_protected_nopar:Npn \__regex_store_submatches:
+\cs_new_protected:Npn \__regex_store_submatches:
   {
     \tex_toks:D \l__regex_max_active_int \exp_after:wN
       { \l__regex_current_submatches_prop }
   }
-\cs_new_protected_nopar:Npn \__regex_disable_submatches:
+\cs_new_protected:Npn \__regex_disable_submatches:
   {
-    \cs_set_protected_nopar:Npn \__regex_store_submatches: { }
+    \cs_set_protected:Npn \__regex_store_submatches: { }
     \cs_set_protected:Npn \__regex_action_submatch:n ##1 { }
   }
 \cs_new_protected:Npn \__regex_action_submatch:n #1
@@ -2025,7 +2025,7 @@
     \prop_put:Nno \l__regex_current_submatches_prop {#1}
       { \int_use:N \l__regex_current_pos_int }
   }
-\cs_new_protected_nopar:Npn \__regex_action_success:
+\cs_new_protected:Npn \__regex_action_success:
   {
     \__regex_if_two_empty_matches:F
       {
@@ -2183,7 +2183,7 @@
       }
       { \__regex_replacement_error:NNN c #1#2 }
   }
-\cs_new_protected_nopar:cpn { __regex_replacement_c_ \c_left_brace_str :w }
+\cs_new_protected:cpn { __regex_replacement_c_ \c_left_brace_str :w }
   {
     \if_case:w \l__regex_replacement_csnames_int
       \__tl_build_one:n
@@ -2226,10 +2226,10 @@
       \fi:
     }
   \char_set_catcode_active:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_A:w
+  \cs_new_protected:Npn \__regex_replacement_c_A:w
     { \__regex_replacement_char:nNN { \exp_not:n { \exp_not:N ^^@ } } }
   \char_set_catcode_group_begin:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_B:w
+  \cs_new_protected:Npn \__regex_replacement_c_B:w
     {
       \if_int_compare:w \l__regex_replacement_csnames_int = \c_zero
         \int_incr:N \l__regex_balance_int
@@ -2240,10 +2240,10 @@
   \cs_new_protected:Npn \__regex_replacement_c_C:w #1#2
     { \__tl_build_one:n { \exp_not:N \exp_not:N \exp_not:c {#2} } }
   \char_set_catcode_math_subscript:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_D:w
+  \cs_new_protected:Npn \__regex_replacement_c_D:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_group_end:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_E:w
+  \cs_new_protected:Npn \__regex_replacement_c_E:w
     {
       \if_int_compare:w \l__regex_replacement_csnames_int = \c_zero
         \int_decr:N \l__regex_balance_int
@@ -2252,16 +2252,16 @@
         { \exp_not:n { \if_false: { \fi:  ^^@ } }
     }
   \char_set_catcode_letter:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_L:w
+  \cs_new_protected:Npn \__regex_replacement_c_L:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_math_toggle:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_M:w
+  \cs_new_protected:Npn \__regex_replacement_c_M:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_other:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_O:w
+  \cs_new_protected:Npn \__regex_replacement_c_O:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_parameter:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_P:w
+  \cs_new_protected:Npn \__regex_replacement_c_P:w
     {
       \__regex_replacement_char:nNN
         { \exp_not:n { \exp_not:n { ^^@^^@^^@^^@ } } }
@@ -2279,10 +2279,10 @@
       \fi:
     }
   \char_set_catcode_alignment:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_T:w
+  \cs_new_protected:Npn \__regex_replacement_c_T:w
     { \__regex_replacement_char:nNN { ^^@ } }
   \char_set_catcode_math_superscript:N \^^@
-  \cs_new_protected_nopar:Npn \__regex_replacement_c_U:w
+  \cs_new_protected:Npn \__regex_replacement_c_U:w
     { \__regex_replacement_char:nNN { ^^@ } }
 \group_end:
 \cs_new_protected:Npn \__regex_replacement_error:NNN #1#2#3
@@ -2292,17 +2292,17 @@
   }
 \cs_new_protected:Npn \regex_new:N #1
   { \cs_new_eq:NN #1 \c__regex_no_match_regex }
-\cs_new_protected_nopar:Npn \regex_set:Nn #1#2
+\cs_new_protected:Npn \regex_set:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_set_eq:NN #1 \l__regex_internal_regex
   }
-\cs_new_protected_nopar:Npn \regex_gset:Nn #1#2
+\cs_new_protected:Npn \regex_gset:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_gset_eq:NN #1 \l__regex_internal_regex
   }
-\cs_new_protected_nopar:Npn \regex_const:Nn #1#2
+\cs_new_protected:Npn \regex_const:Nn #1#2
   {
     \__regex_compile:n {#2}
     \tl_const:Nx #1 { \exp_not:o \l__regex_internal_regex }
@@ -2352,7 +2352,7 @@
 \flag_new:n { __regex_end }
 \int_new:N \l__regex_submatch_int
 \int_new:N \l__regex_zeroth_submatch_int
-\cs_new_protected_nopar:Npn \__regex_return:
+\cs_new_protected:Npn \__regex_return:
   {
     \if_meaning:w \c_true_bool \g__regex_success_bool
       \prg_return_true:
@@ -2471,7 +2471,7 @@
       \prg_replicate:nn {#1} { \exp_not:n { \if_false: { \fi: } } }
     \fi:
   }
-\cs_new_protected_nopar:Npn \__regex_extract:
+\cs_new_protected:Npn \__regex_extract:
   {
     \if_meaning:w \c_true_bool \g__regex_success_bool
       \int_set_eq:NN \l__regex_zeroth_submatch_int \l__regex_submatch_int
@@ -2558,7 +2558,7 @@
         }
     \__regex_group_end_replace:N #3
   }
-\cs_new_protected_nopar:Npn \__regex_group_end_replace:N #1
+\cs_new_protected:Npn \__regex_group_end_replace:N #1
   {
     \if_int_compare:w \l__regex_balance_int = \c_zero
     \else:

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -46,7 +46,7 @@
 %%
 %% -----------------------------------------------------------------------
 \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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -53,17 +53,7 @@
 \RequirePackage{l3tl-analysis,l3tl-build,l3flag}
 \cs_if_exist:NF \use_ii_i:nn
   { \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } }
-\int_const:Nn \c_max_char_int
-  {
-    \bool_if:nTF
-      {
-        \sys_if_engine_luatex_p: ||
-        \sys_if_engine_xetex_p:
-      }
-      { "10FFFF }
-      { "FF }
-  }
-\cs_new_protected_nopar:Npn \__str_tmp:w { }
+\cs_new_protected:Npn \__str_tmp:w { }
 \tl_new:N \l__str_internal_tl
 \int_new:N \l__str_internal_int
 \tl_new:N \g__str_result_tl
@@ -140,7 +130,7 @@
     \fi:
     \__str_if_contains_char_aux:NN #1
   }
-\cs_new_nopar:Npn \__str_if_contains_char_true:
+\cs_new:Npn \__str_if_contains_char_true:
   { \__prg_break:n { \prg_return_true: \use_none:n } }
 \prg_new_conditional:Npnn \__str_octal_use:N #1 { TF }
   {
@@ -185,7 +175,7 @@
 \tl_const:cn { c__str_byte_-1_tl } { { } \use_none:n { } }
 \cs_new:Npn \__str_output_byte:n #1
   { \__str_output_byte:w #1 \__str_output_end: }
-\cs_new_nopar:Npn \__str_output_byte:w
+\cs_new:Npn \__str_output_byte:w
   {
     \exp_after:wN \exp_after:wN
     \exp_after:wN \use_i:nnn
@@ -193,13 +183,13 @@
   }
 \cs_new:Npn \__str_output_hexadecimal:n #1
   { \__str_output_hexadecimal:w #1 \__str_output_end: }
-\cs_new_nopar:Npn \__str_output_hexadecimal:w
+\cs_new:Npn \__str_output_hexadecimal:w
   {
     \exp_after:wN \exp_after:wN
     \exp_after:wN \use_none:n
     \cs:w c__str_byte_ \__int_value:w \__int_eval:w
   }
-\cs_new_nopar:Npn \__str_output_end:
+\cs_new:Npn \__str_output_end:
   { \__int_eval_end: _tl \cs_end: }
 \cs_new:Npn \__str_output_byte_pair_be:n #1
   {
@@ -259,9 +249,9 @@
   { \flag_if_raised:nT {#1} { \bool_gset_true:N \g__str_error_bool } }
 \cs_new:Npn \__str_if_flag_times:nT #1#2
   { \flag_if_raised:nT {#1} { #2~(x \flag_height:n {#1} ) } }
-\cs_new_protected_nopar:Npn \str_set_convert:Nnnn
+\cs_new_protected:Npn \str_set_convert:Nnnn
   { \__str_convert:nNNnnn { } \tl_set_eq:NN }
-\cs_new_protected_nopar:Npn \str_gset_convert:Nnnn
+\cs_new_protected:Npn \str_gset_convert:Nnnn
   { \__str_convert:nNNnnn { } \tl_gset_eq:NN }
 \prg_new_protected_conditional:Npnn
     \str_set_convert:Nnnn #1#2#3#4 { T , F , TF }
@@ -429,7 +419,7 @@
     \sys_if_engine_xetex_p:
   }
   {
-    \cs_new_protected_nopar:Npn \__str_convert_unescape_:
+    \cs_new_protected:Npn \__str_convert_unescape_:
       {
         \flag_clear:n { str_byte }
         \tl_gset:Nx \g__str_result_tl
@@ -437,11 +427,11 @@
         \__str_if_flag_error:nnx { str_byte } { non-byte } { bytes }
       }
   }
-  { \cs_new_protected_nopar:Npn \__str_convert_unescape_: { } }
+  { \cs_new_protected:Npn \__str_convert_unescape_: { } }
 \cs_new_eq:NN \__str_convert_unescape_bytes: \__str_convert_unescape_:
-\cs_new_protected_nopar:Npn \__str_convert_escape_: { }
+\cs_new_protected:Npn \__str_convert_escape_: { }
 \cs_new_eq:NN \__str_convert_escape_bytes: \__str_convert_escape_:
-\cs_new_protected_nopar:Npn \__str_convert_decode_:
+\cs_new_protected:Npn \__str_convert_decode_:
   { \__str_convert_gmap:N \__str_decode_native_char:N }
 \cs_new:Npn \__str_decode_native_char:N #1
   { #1 \s__tl \__int_value:w `#1 \s__tl }
@@ -453,7 +443,7 @@
       \sys_if_engine_xetex_p:
     }
     {
-      \cs_new_protected_nopar:Npn \__str_convert_encode_:
+      \cs_new_protected:Npn \__str_convert_encode_:
         {
           \__tl_gbuild_x:Nw \g__str_result_tl
             \exp_after:wN \__str_encode_native_loop:w
@@ -470,7 +460,7 @@
         }
     }
     {
-      \cs_new_protected_nopar:Npn \__str_convert_encode_:
+      \cs_new_protected:Npn \__str_convert_encode_:
         {
           \flag_clear:n { str_error }
           \__str_convert_gmap_internal:N \__str_encode_native_char:n
@@ -495,7 +485,7 @@
         }
     }
 \group_end:
-\cs_new_protected_nopar:Npn \__str_convert_decode_clist:
+\cs_new_protected:Npn \__str_convert_decode_clist:
   {
     \clist_set:No \g__str_result_tl \g__str_result_tl
     \tl_gset:Nx \g__str_result_tl
@@ -506,7 +496,7 @@
   }
 \cs_new:Npn \__str_decode_clist_char:n #1
   { #1 \s__tl \int_eval:n {#1} \s__tl }
-\cs_new_protected_nopar:Npn \__str_convert_encode_clist:
+\cs_new_protected:Npn \__str_convert_encode_clist:
   {
     \__str_convert_gmap_internal:N \__str_encode_clist_char:n
     \tl_gset:Nx \g__str_result_tl { \tl_tail:N \g__str_result_tl }
@@ -515,9 +505,9 @@
 \cs_new_protected:Npn \__str_declare_eight_bit_encoding:nnn #1#2#3
   {
     \tl_set:Nn \l__str_internal_tl {#1}
-    \cs_new_protected_nopar:cpn { __str_convert_decode_#1: }
+    \cs_new_protected:cpn { __str_convert_decode_#1: }
       { \__str_convert_decode_eight_bit:n {#1} }
-    \cs_new_protected_nopar:cpn { __str_convert_encode_#1: }
+    \cs_new_protected:cpn { __str_convert_encode_#1: }
       { \__str_convert_encode_eight_bit:n {#1} }
     \tl_const:cn { c__str_encoding_#1_tl } {#2}
     \tl_const:cn { c__str_encoding_#1_missing_tl } {#3}

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -48,14 +48,14 @@
 \group_begin:
   \char_set_catcode_other:N \^^fe
   \char_set_catcode_other:N \^^ff
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf16: }
+  \cs_new_protected:cpn { __str_convert_encode_utf16: }
     {
       \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_be:n
       \tl_gput_left:Nx \g__str_result_tl { ^^fe ^^ff }
     }
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf16be: }
+  \cs_new_protected:cpn { __str_convert_encode_utf16be: }
     { \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_be:n }
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf16le: }
+  \cs_new_protected:cpn { __str_convert_encode_utf16le: }
     { \__str_encode_utf_xvi_aux:N \__str_output_byte_pair_le:n }
   \cs_new_protected:Npn \__str_encode_utf_xvi_aux:N #1
     {
@@ -130,11 +130,11 @@
           the~basic~code~unit~for~UTF-16~is~16~bits~(2~bytes).
         }
     }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf16be: }
+  \cs_new_protected:cpn { __str_convert_decode_utf16be: }
     { \__str_decode_utf_xvi:Nw 1 \g__str_result_tl \s__stop }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf16le: }
+  \cs_new_protected:cpn { __str_convert_decode_utf16le: }
     { \__str_decode_utf_xvi:Nw 2 \g__str_result_tl \s__stop }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf16: }
+  \cs_new_protected:cpn { __str_convert_decode_utf16: }
     {
       \exp_after:wN \__str_decode_utf_xvi_bom:NN
         \g__str_result_tl \s__stop \s__stop \s__stop

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -49,14 +49,14 @@
   \char_set_catcode_other:N \^^00
   \char_set_catcode_other:N \^^fe
   \char_set_catcode_other:N \^^ff
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf32: }
+  \cs_new_protected:cpn { __str_convert_encode_utf32: }
     {
       \__str_convert_gmap_internal:N \__str_encode_utf_xxxii_be:n
       \tl_gput_left:Nx \g__str_result_tl { ^^00 ^^00 ^^fe ^^ff }
     }
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf32be: }
+  \cs_new_protected:cpn { __str_convert_encode_utf32be: }
     { \__str_convert_gmap_internal:N \__str_encode_utf_xxxii_be:n }
-  \cs_new_protected_nopar:cpn { __str_convert_encode_utf32le: }
+  \cs_new_protected:cpn { __str_convert_encode_utf32le: }
     { \__str_convert_gmap_internal:N \__str_encode_utf_xxxii_le:n }
   \cs_new:Npn \__str_encode_utf_xxxii_be:n #1
     {
@@ -106,11 +106,11 @@
           Perhaps~the~string~was~truncated?
         }
     }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf32be: }
+  \cs_new_protected:cpn { __str_convert_decode_utf32be: }
     { \__str_decode_utf_xxxii:Nw 1 \g__str_result_tl \s__stop }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf32le: }
+  \cs_new_protected:cpn { __str_convert_decode_utf32le: }
     { \__str_decode_utf_xxxii:Nw 2 \g__str_result_tl \s__stop }
-  \cs_new_protected_nopar:cpn { __str_convert_decode_utf32: }
+  \cs_new_protected:cpn { __str_convert_decode_utf32: }
     {
       \exp_after:wN \__str_decode_utf_xxxii_bom:NNNN \g__str_result_tl
         \s__stop \s__stop \s__stop \s__stop \s__stop

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,7 +45,7 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\cs_new_protected_nopar:cpn { __str_convert_encode_utf8: }
+\cs_new_protected:cpn { __str_convert_encode_utf8: }
   { \__str_convert_gmap_internal:N \__str_encode_utf_viii_char:n }
 \cs_new:Npn \__str_encode_utf_viii_char:n #1
   {
@@ -115,7 +115,7 @@
         Unicode~limits~code~points~to~the~range~[0,1114111].
       }
   }
-\cs_new_protected_nopar:cpn { __str_convert_decode_utf8: }
+\cs_new_protected:cpn { __str_convert_decode_utf8: }
   {
     \flag_clear:n { str_error }
     \flag_clear:n { str_missing }
@@ -202,7 +202,7 @@
     \flag_raise:n { str_error }
     \int_use:N \c__str_replacement_char_int
   }
-\cs_new_nopar:Npn \__str_decode_utf_viii_end:
+\cs_new:Npn \__str_decode_utf_viii_end:
   {
     \s__tl
     \flag_raise:n { str_missing }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,7 +45,7 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\cs_new_protected_nopar:Npn \__str_convert_unescape_hex:
+\cs_new_protected:Npn \__str_convert_unescape_hex:
   {
     \group_begin:
       \flag_clear:n { str_error }
@@ -91,7 +91,7 @@
     Some~characters~in~the~string~you~asked~to~convert~are~not~
     hexadecimal~digits~(0-9,~A-F,~a-f)~nor~spaces.
   }
-\cs_new_protected_nopar:Npn \__str_convert_escape_hex:
+\cs_new_protected:Npn \__str_convert_escape_hex:
   { \__str_convert_gmap:N \__str_escape_hex_char:N }
 \cs_new:Npn \__str_escape_hex_char:N #1
   { \__str_output_hexadecimal:n { `#1 } }

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -95,7 +95,7 @@
   \__str_unescape_name_loop:wNN
 \str_const:Nn \c__str_escape_name_not_str { ! " $ & ' } %$
 \str_const:Nn \c__str_escape_name_str { {}/<>[] }
-\cs_new_protected_nopar:Npn \__str_convert_escape_name:
+\cs_new_protected:Npn \__str_convert_escape_name:
   { \__str_convert_gmap:N \__str_escape_name_char:N }
 \cs_new:Npn \__str_escape_name_char:N #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -51,7 +51,7 @@
   \char_set_catcode_other:N \^^M
   \tex_lowercase:D
     {
-      \cs_new_protected_nopar:Npn \__str_convert_unescape_string:
+      \cs_new_protected:Npn \__str_convert_unescape_string:
         {
           \group_begin:
             \flag_clear:n { str_byte }
@@ -134,7 +134,7 @@
 \group_end:
 \str_const:Nx \c__str_escape_string_str
   { \c_backslash_str ( ) }
-\cs_new_protected_nopar:Npn \__str_convert_escape_string:
+\cs_new_protected:Npn \__str_convert_escape_string:
   { \__str_convert_gmap:N \__str_escape_string_char:N }
 \cs_new:Npn \__str_escape_string_char:N #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def	2016-10-19 20:37:37 UTC (rev 42305)
@@ -93,7 +93,7 @@
   }
 \exp_after:wN \__str_tmp:w \c_percent_str { url }
   \__str_unescape_url_loop:wNN
-\cs_new_protected_nopar:Npn \__str_convert_escape_url:
+\cs_new_protected:Npn \__str_convert_escape_url:
   { \__str_convert_gmap:N \__str_escape_url_char:N }
 \cs_new:Npn \__str_escape_url_char:N #1
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -46,7 +46,7 @@
 %%
 %% -----------------------------------------------------------------------
 \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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -182,7 +182,7 @@
       }
     #1
   }
-\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
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -46,7 +46,7 @@
 %%
 %% -----------------------------------------------------------------------
 \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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -59,7 +59,7 @@
 \int_new:N \l__tl_analysis_nesting_int
 \int_new:N \l__tl_analysis_type_int
 \tl_new:N \g__tl_analysis_result_tl
-\cs_new_nopar:Npn \__tl_analysis_extract_charcode:
+\cs_new:Npn \__tl_analysis_extract_charcode:
   {
     \exp_after:wN \__tl_analysis_extract_charcode_aux:w
       \token_to_meaning:N \l__tl_analysis_token
@@ -116,9 +116,9 @@
     \if_false: { \fi: \__tl_analysis_a_loop:w #1 }
     \int_decr:N \l__tl_analysis_index_int
   }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_loop:w
+\cs_new_protected:Npn \__tl_analysis_a_loop:w
   { \tex_futurelet:D \l__tl_analysis_token \__tl_analysis_a_type:w }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_type:w
+\cs_new_protected:Npn \__tl_analysis_a_type:w
   {
     \l__tl_analysis_type_int =
       \if_meaning:w \l__tl_analysis_token \c_space_token
@@ -141,7 +141,7 @@
     \else: \exp_after:wN \__tl_analysis_a_egroup:w
     \fi:
   }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_space:w
+\cs_new_protected:Npn \__tl_analysis_a_space:w
   {
     \tex_afterassignment:D \__tl_analysis_a_space_test:w
     \exp_after:wN \cs_set_eq:NN
@@ -148,7 +148,7 @@
     \exp_after:wN \l__tl_analysis_char_token
     \token_to_str:N
   }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_space_test:w
+\cs_new_protected:Npn \__tl_analysis_a_space_test:w
   {
     \if_meaning:w \l__tl_analysis_char_token \c_space_token
       \tex_toks:D \l__tl_analysis_index_int { \exp_not:n { ~ } }
@@ -161,11 +161,11 @@
 \group_begin:
   \char_set_catcode_group_begin:N \^^@
   \char_set_catcode_group_end:N \^^E
-  \cs_new_protected_nopar:Npn \__tl_analysis_a_bgroup:w
+  \cs_new_protected:Npn \__tl_analysis_a_bgroup:w
     { \__tl_analysis_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 \__tl_analysis_a_egroup:w
+  \cs_new_protected:Npn \__tl_analysis_a_egroup:w
     { \__tl_analysis_a_group:nw { \if_false: ^^B \fi: ^^@ } }
 \group_end:
 \cs_new_protected:Npn \__tl_analysis_a_group:nw #1
@@ -180,7 +180,7 @@
     \exp_after:wN \l__tl_analysis_char_token
     \token_to_str:N
   }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_group_test:w
+\cs_new_protected:Npn \__tl_analysis_a_group_test:w
   {
     \if_charcode:w \l__tl_analysis_token \l__tl_analysis_char_token
       \__tl_analysis_a_store:
@@ -189,7 +189,7 @@
     \fi:
     \__tl_analysis_a_loop:w
   }
-\cs_new_protected_nopar:Npn \__tl_analysis_a_store:
+\cs_new_protected:Npn \__tl_analysis_a_store:
   {
     \tex_advance:D \l__tl_analysis_nesting_int \l__tl_analysis_type_int
     \if_int_compare:w \tex_lccode:D \c_zero = \c_thirty_two

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-build.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -45,8 +45,8 @@
 %%   prior consultation with the LaTeX3 Project.
 %%
 %% -----------------------------------------------------------------------
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3tl-build}{Support package l3kernel too old}
@@ -58,7 +58,7 @@
       }%
     \endinput
   }
-\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}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -65,7 +65,7 @@
 \int_new:N \l__tl_build_start_index_int
 \int_new:N \l__tl_build_index_int
 \tl_new:N \l__tl_build_result_tl
-\cs_new_protected_nopar:Npn \__tl_build_unpack:
+\cs_new_protected:Npn \__tl_build_unpack:
   {
     \tl_put_right:Nx \l__tl_build_result_tl
       {
@@ -83,24 +83,24 @@
     \exp_after:wN \__tl_build_unpack_loop:w
       \int_use:N \__int_eval:w #1 + \c_one ;
   }
-\cs_new_protected_nopar:Npn \__tl_build:Nw
+\cs_new_protected:Npn \__tl_build:Nw
   { \__tl_build_aux:NNw \tl_set:Nn }
-\cs_new_protected_nopar:Npn \__tl_build_x:Nw
+\cs_new_protected:Npn \__tl_build_x:Nw
   { \__tl_build_aux:NNw \tl_set:Nx }
-\cs_new_protected_nopar:Npn \__tl_gbuild:Nw
+\cs_new_protected:Npn \__tl_gbuild:Nw
   { \__tl_build_aux:NNw \tl_gset:Nn }
-\cs_new_protected_nopar:Npn \__tl_gbuild_x:Nw
+\cs_new_protected:Npn \__tl_gbuild_x:Nw
   { \__tl_build_aux:NNw \tl_gset:Nx }
 \cs_new_protected:Npn \__tl_build_aux:NNw #1#2
   {
     \group_begin:
-      \cs_set_nopar:Npn \__tl_build_end_assignment:n
+      \cs_set:Npn \__tl_build_end_assignment:n
         { \group_end: #1 #2 }
       \int_zero:N \l__tl_build_start_index_int
       \int_zero:N \l__tl_build_index_int
       \tl_clear:N \l__tl_build_result_tl
   }
-\cs_new_protected_nopar:Npn \__tl_build_end:
+\cs_new_protected:Npn \__tl_build_end:
   {
       \__tl_build_unpack:
       \exp_args:No

Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2016-10-19 20:37:14 UTC (rev 42304)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty	2016-10-19 20:37:37 UTC (rev 42305)
@@ -47,8 +47,8 @@
 %%
 %% -----------------------------------------------------------------------
 %%
-\RequirePackage{expl3}[2016/05/14]
-\@ifpackagelater{expl3}{2016/05/14}
+\RequirePackage{expl3}[2016/10/19]
+\@ifpackagelater{expl3}{2016/10/19}
   {}
   {%
     \PackageError{l3galley}{Support package l3kernel too old}
@@ -60,7 +60,7 @@
       }%
     \endinput
   }
-\GetIdInfo$Id: l3galley.dtx 6493 2016-05-14 21:08:13Z joseph $
+\GetIdInfo$Id: l3galley.dtx 6730 2016-10-19 11:19:38Z joseph $
   {L3 Experimental galley code}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -69,6 +69,8 @@
 \seq_new:N \g__galley_tmpb_seq
 \seq_new:N \l__galley_tmp_seq
 \tl_new:N \l__galley_tmp_tl
+\bool_new:N \g__galley_cutout_active_bool
+\bool_new:N \l__galley_cutout_active_bool
 \seq_new:N \l__galley_cutout_left_indent_seq
 \seq_new:N \l__galley_cutout_right_indent_seq
 \bool_new:N \l__galley_parshape_multipar_bool
@@ -110,9 +112,12 @@
 \tl_new:N \l__galley_interpar_penalty_user_tl
 \tl_new:N \g__galley_interpar_vspace_user_tl
 \tl_new:N \l__galley_interpar_vspace_user_tl
-\cs_new_protected_nopar:Npn \__galley_initialise_variables:
+\int_new:N \l__galley_group_level_int
+\cs_new_protected:Npn \__galley_initialise_variables:
   {
+    \int_set:Nn \l__galley_group_level_int { \etex_currentgrouplevel:D }
     \bool_gset_true:N \g__galley_begin_level_bool
+    \bool_gset_false:N \g__galley_cutout_active_bool
     \seq_gclear:N \g__galley_cutout_left_seq
     \seq_gclear:N \g__galley_cutout_right_seq
     \tl_gclear:N \g__galley_interpar_penalty_user_tl
@@ -129,7 +134,7 @@
     \tl_gclear:N \g_galley_whatsit_next_tl
   }
 \__galley_initialise_variables:
-\cs_new_protected_nopar:Npn \__galley_initialise_settings:
+\cs_new_protected:Npn \__galley_initialise_settings:
   {
     \bool_set_true:N \l__galley_parshape_multipar_bool
     \seq_clear:N \l__galley_parshape_left_indent_seq
@@ -138,10 +143,12 @@
     \dim_zero:N \l_galley_total_left_margin_dim
     \dim_zero:N \l_galley_total_right_margin_dim
   }
-\cs_new_protected_nopar:Npn \__galley_save_parameters:
+\cs_new_protected:Npn \__galley_save_parameters:
   {
     \bool_set_eq:NN \l__galley_begin_level_bool
       \g__galley_begin_level_bool
+    \bool_set_eq:NN \l__galley_cutout_active_bool
+      \g__galley_cutout_active_bool
     \seq_set_eq:NN \l__galley_cutout_left_seq
       \g__galley_cutout_left_seq
     \seq_set_eq:NN \l__galley_cutout_right_seq
@@ -171,10 +178,12 @@
     \tl_set_eq:NN \l__galley_whatsit_next_tl
       \g_galley_whatsit_next_tl
   }
-\cs_new_protected_nopar:Npn \__galley_restore_parameters:
+\cs_new_protected:Npn \__galley_restore_parameters:
   {
     \bool_gset_eq:NN \g__galley_begin_level_bool
       \l__galley_begin_level_bool
+    \bool_gset_eq:NN \g__galley_cutout_active_bool
+      \l__galley_cutout_active_bool
     \seq_gset_eq:NN \g__galley_cutout_left_seq
       \l__galley_cutout_left_seq
     \seq_gset_eq:NN \g__galley_cutout_right_seq
@@ -204,7 +213,7 @@
     \tl_gset_eq:NN \g_galley_whatsit_next_tl
       \l__galley_whatsit_next_tl
   }
-\cs_new_protected_nopar:Npn \galley_level:
+\cs_new_protected:Npn \galley_level:
   {
     \__galley_save_parameters:
     \group_begin:
@@ -212,7 +221,7 @@
       \__galley_initialise_settings:
       \group_insert_after:N \__galley_level_end:
   }
-\cs_new_protected_nopar:Npn \__galley_level_end:
+\cs_new_protected:Npn \__galley_level_end:
   {
       \par
       \__galley_restore_parameters:
@@ -219,7 +228,7 @@
     \group_end:
   }
 \__scan_new:N \s__par_omit
-\cs_new_protected_nopar:Npn \galley_par:
+\cs_new_protected:Npn \galley_par:
   {
     \s__par_omit
     \exp_after:wN \__galley_par_auxi: \exp:w \exp_end_continue_f:w
@@ -238,7 +247,7 @@
         #1
       }
   }
-\cs_new_protected_nopar:Npn \__galley_par_auxii:
+\cs_new_protected:Npn \__galley_par_auxii:
   {
     \mode_if_vertical:TF
       {
@@ -248,7 +257,8 @@
       }
       {
         \g_galley_par_end_hook_tl
-        \__galley_par_set_cutout:
+        \bool_if:NT \g__galley_cutout_active_bool
+          { \__galley_parshape_set: }
         \group_begin:
           \tex_par:D
         \group_end:
@@ -268,7 +278,7 @@
     \tl_gclear:N \g_galley_par_reset_hook_tl
     \tex_penalty:D \c_ten_thousand
   }
-\cs_new_protected_nopar:Npn \__galley_par_set_cutout:
+\cs_new_protected:Npn \__galley_par_update_cutout:
   {
     \bool_if:nF
       {
@@ -275,16 +285,7 @@
            \seq_if_empty_p:N \g__galley_cutout_left_seq
         && \seq_if_empty_p:N \g__galley_cutout_right_seq
       }
-      { \__galley_parshape_set: }
-  }
-\cs_new_protected_nopar:Npn \__galley_par_update_cutout:
-  {
-    \bool_if:nF
       {
-           \seq_if_empty_p:N \g__galley_cutout_left_seq
-        && \seq_if_empty_p:N \g__galley_cutout_right_seq
-      }
-      {
         \prg_replicate:nn \tex_prevgraf:D
           {
             \seq_gpop_left:NN \g__galley_cutout_left_seq  \l__galley_tmp_tl
@@ -292,6 +293,15 @@
           }
         \__galley_parshape_set:
       }
+    \int_compare:nNnT \l__galley_group_level_int = \etex_currentgrouplevel:D
+      {
+        \bool_if:nT
+          {
+               \seq_if_empty_p:N \g__galley_cutout_left_seq
+            && \seq_if_empty_p:N \g__galley_cutout_right_seq
+          }
+          { \bool_gset_false:N \g__galley_cutout_active_bool }
+      }
   }
 \cs_new_protected:Npn \galley_par:n #1
   {
@@ -302,9 +312,9 @@
         \galley_par:
       }
   }
-\cs_set_protected_nopar:Npn \par { \galley_par: }
+\cs_set_protected:Npn \par { \galley_par: }
 \tl_set:Nn \@par { \galley_par: }
-\cs_new_protected_nopar:Npn \galley_display_begin:
+\cs_new_protected:Npn \galley_display_begin:
   {
     \group_begin:
       \__galley_save_parameters:
@@ -343,7 +353,7 @@
          \skip_gset:Nn \g_galley_vspace_int {#1}
        }
   }
-\cs_new_protected_nopar:Npn \galley_display_end:
+\cs_new_protected:Npn \galley_display_end:
   {
       \par
       \__galley_restore_parameters:
@@ -350,12 +360,12 @@
     \group_end:
     \group_insert_after:N \__galley_display_par_setup:
   }
-\cs_new_protected_nopar:Npn \__galley_display_par_setup:
+\cs_new_protected:Npn \__galley_display_par_setup:
   {
     \bool_gset_false:N \g_galley_omit_next_indent_bool
     \cs_set_eq:NN \par \__galley_display_par:
   }
-\cs_new_protected_nopar:Npn \__galley_display_par:
+\cs_new_protected:Npn \__galley_display_par:
   {
     \cs_set_eq:NN \par \galley_par:
     \mode_if_vertical:TF
@@ -400,13 +410,13 @@
       \tex_noindent:D
     \group_end:
   }
-\cs_new_protected_nopar:Npn \__galley_start_paragraph_std:
+\cs_new_protected:Npn \__galley_start_paragraph_std:
   {
     \__galley_start_paragraph_common:N \__galley_insert_vertical_items:
     \__galley_insert_horizontal_items:
     \__galley_restore_running_parameters:
   }
-\cs_new_protected_nopar:Npn \__galley_start_paragraph_first:
+\cs_new_protected:Npn \__galley_start_paragraph_first:
   {
     \bool_gset_false:N \g__galley_begin_level_bool
     \mode_if_horizontal:TF
@@ -415,12 +425,12 @@
     \__galley_insert_horizontal_items:
     \__galley_restore_running_parameters:
   }
-\cs_new_protected_nopar:Npn \__galley_insert_vspace_first:
+\cs_new_protected:Npn \__galley_insert_vspace_first:
   {
     \tl_if_empty:NF \g__galley_interpar_vspace_user_tl
       { \skip_vertical:n { \g__galley_interpar_vspace_user_tl } }
   }
-\cs_new_protected_nopar:Npn \__galley_insert_vertical_items:
+\cs_new_protected:Npn \__galley_insert_vertical_items:
   {
     \g_galley_whatsit_previous_tl
     \tl_gclear:N \g_galley_whatsit_previous_tl
@@ -443,7 +453,7 @@
         \tl_gclear:N \g__galley_interpar_vspace_user_tl
       }
   }
-\cs_new_protected_nopar:Npn \__galley_insert_horizontal_items:
+\cs_new_protected:Npn \__galley_insert_horizontal_items:
   {
     \g_galley_whatsit_next_tl
     \tl_gclear:N \g_galley_whatsit_next_tl
@@ -456,7 +466,7 @@
     \g_galley_par_begin_hook_tl
     \bool_gset_false:N \g_galley_omit_next_indent_bool
   }
-\cs_new_protected_nopar:Npn \__galley_restore_running_parameters:
+\cs_new_protected:Npn \__galley_restore_running_parameters:
   {
     \g_galley_restore_running_tl
     \tl_gclear:N \g_galley_restore_running_tl
@@ -487,12 +497,12 @@
       }
     \__galley_parshape_set:
   }
-\cs_new_protected_nopar:Npn \galley_parshape_set_multi:nnnN
+\cs_new_protected:Npn \galley_parshape_set_multi:nnnN
   {
     \bool_set_true:N \l__galley_parshape_multipar_bool
     \__galley_parshape_set:nnnN
   }
-\cs_new_protected_nopar:Npn \galley_parshape_set_single:nnnN
+\cs_new_protected:Npn \galley_parshape_set_single:nnnN
   {
     \bool_set_false:N \l__galley_parshape_multipar_bool
     \__galley_parshape_set:nnnN
@@ -515,9 +525,9 @@
       }
     \__galley_parshape_set:
   }
-\cs_new_protected_nopar:Npn \galley_cutout_left:nn
+\cs_new_protected:Npn \galley_cutout_left:nn
   { \__galley_cutout:nnn { left } }
-\cs_new_protected_nopar:Npn \galley_cutout_right:nn
+\cs_new_protected:Npn \galley_cutout_right:nn
   { \__galley_cutout:nnn { right } }
 \cs_new_protected:Npn \__galley_cutout:nnn #1#2#3
   {
@@ -534,6 +544,8 @@
           { \__galley_cutout:Nc \g__galley_tmpa_seq { g__galley_cutout_ #1 _seq } }
         \seq_gset_eq:cN { g__galley_cutout_ #1 _seq } \l__galley_tmp_seq
       }
+    \seq_if_empty:cF { g__galley_cutout_ #1 _seq }
+      { \bool_gset_true:N \g__galley_cutout_active_bool }
   }
 \cs_new_protected:Npn \__galley_cutout:NN #1#2
   {
@@ -547,24 +559,13 @@
       }
   }
 \cs_generate_variant:Nn \__galley_cutout:NN { c , Nc }
-\cs_new_protected_nopar:Npn \__galley_parshape_set:
+\cs_new_protected:Npn \__galley_parshape_set:
   {
     \__galley_parshape_set_margins:
     \__galley_parshape_set_indents:
     \__galley_parshape_set_cutouts:
-    \tl_set:Nx \l__galley_tmp_tl
-      {
-        \__int_value:w \tex_parshape:D
-        \int_step_function:nnnN \c_one \c_one \tex_parshape:D
- \tmp
-      }
   }
-  \def\tmp#1{%
-            \c_space_tl
-            \__int_value:w \etex_parshapeindent:D #1 \c_space_tl \c_space_tl
-            \__int_value:w  \etex_parshapelength:D #1 \c_space_tl
-          }
-\cs_new_protected_nopar:Npn \__galley_parshape_set_margins:
+\cs_new_protected:Npn \__galley_parshape_set_margins:
   {
     \bool_if:nTF
       {
@@ -579,7 +580,7 @@
           \l_galley_text_width_dim
       }
   }
-\cs_new_protected_nopar:Npn \__galley_parshape_set_indents:
+\cs_new_protected:Npn \__galley_parshape_set_indents:
   {
     \bool_if:nF
       {
@@ -608,7 +609,7 @@
       \l_galley_text_width_dim - ( ( #1 ) + ( #2 ) )
     \__dim_eval_end:
   }
-\cs_new_protected_nopar:Npn \__galley_parshape_set_cutouts:
+\cs_new_protected:Npn \__galley_parshape_set_cutouts:
   {
     \bool_if:nF
       {
@@ -840,7 +841,7 @@
 \cs_new:Npn \__galley_set_interline_penalty_auxi:n #1
   { \etex_interlinepenalties:D \__int_eval:w #1 \__int_eval_end: }
 \cs_new:Npn \__galley_set_interline_penalty_auxii:n #1 { }
-\cs_new_protected_nopar:Npn \__galley_calc_interline_penalties:
+\cs_new_protected:Npn \__galley_calc_interline_penalties:
   {
     \exp_args:Nff \__galley_calc_interline_penalties:nn
       {
@@ -910,7 +911,10 @@
       }
   }
 \cs_new:Npn \__galley_save_display_widow_penalties:n #1
-  { \__int_value:w \etex_displaywidowpenalties:D \__int_eval:w #1 \__int_eval_end: , }
+  {
+    \__int_value:w \etex_displaywidowpenalties:D
+      \__int_eval:w #1 \__int_eval_end: ,
+  }
 \cs_new_protected:Npn \galley_save_widow_penalties:N #1
   {
     \clist_set:Nx #1
@@ -922,11 +926,11 @@
   }
 \cs_new:Npn \__galley_save_widow_penalties:n #1
   { \__int_value:w \etex_widowpenalties:D \__int_eval:w #1 \__int_eval_end: , }
-\cs_new_protected_nopar:Npn \galley_interline_penalty:
+\cs_new_protected:Npn \galley_interline_penalty:
   { \__int_value:w \etex_interlinepenalties:D \etex_interlinepenalties:D \c_zero }
 \__msg_kernel_new:nnn { galley } { no-line-to-end }
   { There's~no~line~here~to~end. }
-\cs_set_nopar:Npn \clearpage
+\cs_set:Npn \clearpage
   {
     \mode_if_vertical:T
       {
@@ -939,9 +943,9 @@
     \newpage
     \galley_penalty_set_single:n { -\@Mi }
   }
-\cs_set_nopar:Npn \nobreak
+\cs_set_protected:Npn \nobreak
   { \bool_gset_true:N \g_galley_no_break_next_bool }
-\cs_set_protected_nopar:Npn \noindent
+\cs_set_protected:Npn \noindent
   {
     \tex_noindent:D
     \bool_gset_false:N \g_galley_omit_next_indent_bool
@@ -971,9 +975,9 @@
 \DeclareRobustCommand \newline
   { \galley_break_line:Nn \c_true_bool { 0pt } }
 \cs_set_eq:cN { @ @ par } \galley_par:
-\cs_set_nopar:Npn \addpenalty { \galley_penalty_add_single:n }
-\cs_set_nopar:Npn \addvspace  { \galley_vspace_max_single:n }
-\cs_set_nopar:Npn \@afterheading
+\cs_set_protected:Npn \addpenalty { \galley_penalty_add_single:n }
+\cs_set_protected:Npn \addvspace  { \galley_vspace_max_single:n }
+\cs_set_protected:Npn \@afterheading
   {
     \bool_gset_true:N \g_galley_no_break_next_bool
     \if at afterindent
@@ -981,7 +985,7 @@
       \bool_gset_true:N \g_galley_omit_next_indent_bool
     \fi
   }
-\cs_set:Npn \@hangfrom #1
+\cs_set_protected:Npn \@hangfrom #1
   {
     \bool_gset_true:N \g_galley_omit_next_indent_bool
     \leavevmode



More information about the tex-live-commits mailing list