[latex3-commits] [latex3/latex3] main: Add \cctab_gsave_current:N (ba396bed9)

github at latex-project.org github at latex-project.org
Fri May 26 12:42:15 CEST 2023


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/ba396bed98d8fb4c9700cd404c00b15f98152af7

>---------------------------------------------------------------

commit ba396bed98d8fb4c9700cd404c00b15f98152af7
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri May 26 11:42:15 2023 +0100

    Add \cctab_gsave_current:N


>---------------------------------------------------------------

ba396bed98d8fb4c9700cd404c00b15f98152af7
 l3kernel/CHANGELOG.md             |  1 +
 l3kernel/l3cctab.dtx              | 21 +++++++++++++++++++++
 l3kernel/testfiles/m3cctab001.lvt | 15 +++++++++++++++
 l3kernel/testfiles/m3cctab001.tlg |  6 ++++++
 4 files changed, 43 insertions(+)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 5afe7081d..7a971e726 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -8,6 +8,7 @@ this project uses date-based 'snapshot' version identifiers.
 ## [Unreleased]
 
 ### Added
+- `\cctab_gsave_current:N` (issue \#1089)
 - `\prg_gset_eq_conditional:NNn` (issue \#1212)
 - `\iow_shell_open:Nn` (issue \#1122)
 
diff --git a/l3kernel/l3cctab.dtx b/l3kernel/l3cctab.dtx
index c99fd37b6..38612b460 100644
--- a/l3kernel/l3cctab.dtx
+++ b/l3kernel/l3cctab.dtx
@@ -89,6 +89,15 @@
 %   can include a call to \cs{cctab_select:N}.
 % \end{function}
 %
+% \begin{function}[added = 2023-05-26]
+%   {\cctab_gsave_current:Nn,\cctab_gsave_current:cn}
+%   \begin{syntax}
+%     \cs{cctab_gsave_current:Nn} \meta{category code table}
+%   \end{syntax}
+%   Saves the current prevailing category codes in the
+%   \meta{category code table}.
+% \end{function}
+%
 % \section{Using category code tables}
 %
 % \begin{function}[updated = 2020-07-02]{\cctab_begin:N,\cctab_begin:c}
@@ -366,6 +375,18 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\cctab_gsave_current:N, \cctab_gsave_current:c}
+%   Very simple.
+%    \begin{macrocode}
+\cs_new_protected:Npn \cctab_gsave_current:N #1
+  {
+    \@@_chk_if_valid:NT #1
+      { \@@_gset:n {#1} }
+  }
+\cs_generate_variant:Nn \cctab_gsave_current:N { c }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsection{Using category code tables}
 %
 % \begin{variable}{\g_@@_internal_cctab}
diff --git a/l3kernel/testfiles/m3cctab001.lvt b/l3kernel/testfiles/m3cctab001.lvt
index 6464eb184..8b72d1661 100644
--- a/l3kernel/testfiles/m3cctab001.lvt
+++ b/l3kernel/testfiles/m3cctab001.lvt
@@ -260,6 +260,21 @@
       { \TRUE } { \ERROR }
   }
 
+\TEST { \cctab_gsave_current:N }
+  {
+    \OMIT
+    \cctab_new:N \g_test_cctab
+    \TIMO
+    \group_begin:
+      \char_set_catcode_other:N \q
+      \cctab_gsave_current:N \g_test_cctab
+    \group_end:
+    \int_compare:nNnTF { \char_value_catcode:n { `q } } = { 11 }
+      { \TRUE } { \ERROR }
+    \cctab_select:N \g_test_cctab
+    \int_compare:nNnTF { \char_value_catcode:n { `q } } = { 12 }
+      { \TRUE } { \ERROR }
+  }
 
 \ExplSyntaxOff
 
diff --git a/l3kernel/testfiles/m3cctab001.tlg b/l3kernel/testfiles/m3cctab001.tlg
index 9fa53ec74..d196b0ff6 100644
--- a/l3kernel/testfiles/m3cctab001.tlg
+++ b/l3kernel/testfiles/m3cctab001.tlg
@@ -61,3 +61,9 @@ TEST 10: restoring \cctab_select:N after group end
 TRUE
 TRUE
 ============================================================
+============================================================
+TEST 11: \cctab_gsave_current:N 
+============================================================
+TRUE
+TRUE
+============================================================





More information about the latex3-commits mailing list.