[latex3-commits] [git/LaTeX3-latex3-latex3] scan-quark: Addded missing scan mark declaration (b8c121200)

PhelypeOleinik tex.phelype at gmail.com
Tue Apr 28 00:59:35 CEST 2020


Repository : https://github.com/latex3/latex3
On branch  : scan-quark
Link       : https://github.com/latex3/latex3/commit/b8c121200b76cfe569f2f7975bcb41f86c7fc905

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

commit b8c121200b76cfe569f2f7975bcb41f86c7fc905
Author: PhelypeOleinik <tex.phelype at gmail.com>
Date:   Mon Apr 27 19:59:35 2020 -0300

    Addded missing scan mark declaration


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

b8c121200b76cfe569f2f7975bcb41f86c7fc905
 l3kernel/l3quark.dtx              | 22 ++++++++++++++++++++--
 l3kernel/testfiles/m3quark001.tlg | 10 +++++-----
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/l3kernel/l3quark.dtx b/l3kernel/l3quark.dtx
index b098da7d1..6252a525f 100644
--- a/l3kernel/l3quark.dtx
+++ b/l3kernel/l3quark.dtx
@@ -399,6 +399,15 @@
 %    \end{macrocode}
 % \end{variable}
 %
+% \begin{variable}{\s_@@}
+%   Private scan mark used in \pkg{l3quark}.  We don't have \pkg{l3scan}
+%   yet, so we declare the scan mark here and add it to the scan mark pool
+%   later.
+%    \begin{macrocode}
+\cs_new_eq:NN \s_@@ \scan_stop:
+%    \end{macrocode}
+% \end{variable}
+%
 % \begin{macro}[EXP]{\quark_if_recursion_tail_stop:N}
 % \UnitTested
 % \begin{macro}[EXP]{\quark_if_recursion_tail_stop_do:Nn}
@@ -961,10 +970,19 @@
 %   by specific modules.
 %   Can't use \cs{scan_new:N} yet because \pkg{l3tl} isn't loaded,
 %   so define \cs{s_stop} by hand and add it to \cs{g_@@_marks_tl}.
+%   We also add \cs{s__quark} (declared earlier) to the pool here.
+%   Since it lives in a different namespace, a little \pkg{l3docstrip}
+%   cheating is necessary.
 %    \begin{macrocode}
-\cs_gset_nopar:Npx \g_@@_marks_tl
-  { \exp_not:o \g_@@_marks_tl \exp_not:n { \s_stop } }
 \cs_new_eq:NN \s_stop \scan_stop:
+\cs_gset_nopar:Npx \g_@@_marks_tl
+  {
+    \exp_not:o \g_@@_marks_tl
+    \exp_not:n { \s_stop }
+%<@@=quark>
+    \exp_not:n { \s_@@ }
+%<@@=scan>
+  }
 %    \end{macrocode}
 % \end{variable}
 %
diff --git a/l3kernel/testfiles/m3quark001.tlg b/l3kernel/testfiles/m3quark001.tlg
index 33e89c19d..b625e2fce 100644
--- a/l3kernel/testfiles/m3quark001.tlg
+++ b/l3kernel/testfiles/m3quark001.tlg
@@ -80,11 +80,11 @@ l. ...}
 This is a coding error.
 LaTeX has been asked to create a new scan mark '\s__foo' but this name has
 already been used for a scan mark.
-> \g__scan_marks_tl=\s_stop \s__tl_nil \s__tl_mark \s__tl_stop \s__str_mark
-\s__str_stop \s__seq \s__seq_mark \s__seq_stop \s__int_mark \s__int_stop
-\s__clist_mark \s__clist_stop \s__char_stop \s__token_stop \s__peek_mark
-\s__peek_stop \s__prop \s__prop_mark \s__prop_stop \s__msg_mark \s__msg_stop
-\s__iow_mark \s__iow_stop \s__file_stop \s__dim_mark \s__dim_stop
+> \g__scan_marks_tl=\s_stop \s__quark \s__tl_nil \s__tl_mark \s__tl_stop
+\s__str_mark \s__str_stop \s__seq \s__seq_mark \s__seq_stop \s__int_mark
+\s__int_stop \s__clist_mark \s__clist_stop \s__char_stop \s__token_stop
+\s__peek_mark \s__peek_stop \s__prop \s__prop_mark \s__prop_stop \s__msg_mark
+\s__msg_stop \s__iow_mark \s__iow_stop \s__file_stop \s__dim_mark \s__dim_stop
 \s__skip_stop \s__keyval_nil \s__keyval_mark \s__keyval_stop \s__keyval_tail
 \s__keys_stop \s__fp \s__fp_expr_mark \s__fp_expr_stop \s__fp_mark \s__fp_stop
 \s__fp_invalid \s__fp_underflow \s__fp_overflow \s__fp_division \s__fp_exact





More information about the latex3-commits mailing list.