summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3experimental/l3cctab.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3experimental/l3cctab.dtx')
-rw-r--r--macros/latex/contrib/l3experimental/l3cctab.dtx37
1 files changed, 34 insertions, 3 deletions
diff --git a/macros/latex/contrib/l3experimental/l3cctab.dtx b/macros/latex/contrib/l3experimental/l3cctab.dtx
index 51bbf90bf0..4d758c1ad4 100644
--- a/macros/latex/contrib/l3experimental/l3cctab.dtx
+++ b/macros/latex/contrib/l3experimental/l3cctab.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-05-18}
+% \date{Released 2020-06-03}
%
% \maketitle
%
@@ -114,6 +114,14 @@
% the matching \cs{cctab_begin:N} was used.
% \end{function}
%
+% \begin{function}[added = 2020-05-19]{\cctab_select:N}
+% \begin{syntax}
+% \cs{cctab_select:N}\meta{category code table}
+% \end{syntax}
+% Selects the \meta{category code table} for the scope of the current
+% group.
+% \end{function}
+%
% \subsection{Category code table conditionals}
%
% \begin{function}[pTF]{\cctab_if_exist:N,\cctab_if_exist:c}
@@ -171,7 +179,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3cctab}{2020-05-18}{}
+\ProvidesExplPackage{l3cctab}{2020-06-03}{}
{L3 Experimental category code tables}
%</package>
% \end{macrocode}
@@ -392,7 +400,7 @@
% \cs{cctab_end:}.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_begin:N #1
- { \@@_chk_if_valid:NT #1 { \__cctab_begin:N #1 } }
+ { \@@_chk_if_valid:NT #1 { \@@_begin:N #1 } }
\cs_generate_variant:Nn \cctab_begin:N { c }
\cs_new_protected:Npn \cctab_end:
{
@@ -403,6 +411,29 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\cctab_select:N}
+% \begin{macro}{\@@_end_fast:}
+% Select a catcode table within a group.
+% \begin{macrocode}
+\cs_new_protected:Npn \cctab_select:N #1
+ {
+ \@@_chk_if_valid:NT #1
+ {
+ \@@_begin:N #1
+ \group_insert_after:N \@@_end_fast:
+ }
+ }
+\cs_generate_variant:Nn \cctab_select:N { c }
+\cs_new_protected:Npx \@@_end_fast:
+ {
+ \int_gsub:Nn \exp_not:N \g_@@_stack_int { 2 }
+ \sys_if_engine_luatex:T
+ { \seq_gpop:NN \exp_not:N \g_@@_stack_seq \exp_not:N \l_@@_tmp_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\cctab_if_exist:N,\cctab_if_exist:c}
% Checks whether a \meta{cctab~var} is defined.
% \begin{macrocode}