[latex3-commits] [git/LaTeX3-latex3-latex3] master: Add \cctab_select:N (f8e78e39f)
Joseph Wright
joseph.wright at morningstar2.co.uk
Tue May 19 14:19:49 CEST 2020
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/f8e78e39f5aee4f23ba102082c805bbf13b77d5d
>---------------------------------------------------------------
commit f8e78e39f5aee4f23ba102082c805bbf13b77d5d
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Tue May 19 13:19:49 2020 +0100
Add \cctab_select:N
>---------------------------------------------------------------
f8e78e39f5aee4f23ba102082c805bbf13b77d5d
l3experimental/CHANGELOG.md | 3 +++
l3experimental/l3cctab/l3cctab.dtx | 27 +++++++++++++++++++++++++
l3experimental/l3cctab/testfiles/m3cctab001.lvt | 17 ++++++++++++++++
l3experimental/l3cctab/testfiles/m3cctab001.tlg | 5 +++++
4 files changed, 52 insertions(+)
diff --git a/l3experimental/CHANGELOG.md b/l3experimental/CHANGELOG.md
index f457a0069..465d4ddc4 100644
--- a/l3experimental/CHANGELOG.md
+++ b/l3experimental/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Added
+- `\cctab_select:N`
+
## [2020-05-18]
### Added
diff --git a/l3experimental/l3cctab/l3cctab.dtx b/l3experimental/l3cctab/l3cctab.dtx
index 51bbf90bf..cbb32d7d3 100644
--- a/l3experimental/l3cctab/l3cctab.dtx
+++ b/l3experimental/l3cctab/l3cctab.dtx
@@ -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}
@@ -403,6 +411,25 @@
% \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:Npn \@@_end_fast:
+ { \int_gsub:Nn \g_@@_stack_int { 2 } }
+% \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}
diff --git a/l3experimental/l3cctab/testfiles/m3cctab001.lvt b/l3experimental/l3cctab/testfiles/m3cctab001.lvt
index 9e9c8cf35..7a36358f7 100644
--- a/l3experimental/l3cctab/testfiles/m3cctab001.lvt
+++ b/l3experimental/l3cctab/testfiles/m3cctab001.lvt
@@ -102,6 +102,23 @@
{ \TYPE { OK } } { \TYPE { Sob~T_T } }
}
+
+\TEST { cctab_select / document~in~str }
+ {
+ \group_begin:
+ \cctab_select:N \c_document_cctab
+ \SAVECATCODES \TESTintarrayA
+ \group_end:
+ %
+ \group_begin:
+ \cctab_select:N \c_str_cctab
+ \cctab_select:N \c_document_cctab
+ \SAVECATCODES \TESTintarrayB
+ \group_end:
+ \IntarrayIfEqTF \TESTintarrayA \TESTintarrayB
+ { \TYPE { OK } } { \TYPE { Sob~T_T } }
+ }
+
\ExplSyntaxOff
\END
diff --git a/l3experimental/l3cctab/testfiles/m3cctab001.tlg b/l3experimental/l3cctab/testfiles/m3cctab001.tlg
index 394de4fe7..926827550 100644
--- a/l3experimental/l3cctab/testfiles/m3cctab001.tlg
+++ b/l3experimental/l3cctab/testfiles/m3cctab001.tlg
@@ -21,3 +21,8 @@ TEST 4: cctab_begin/document in str
============================================================
OK
============================================================
+============================================================
+TEST 5: cctab_select/document in str
+============================================================
+OK
+============================================================
More information about the latex3-commits
mailing list.