[latex3-commits] [latex3/latex2e] ltmarks-multicol: improve error message and docu (cee2a6079)

github at latex-project.org github at latex-project.org
Thu Nov 14 16:25:27 CET 2024


Repository : https://github.com/latex3/latex2e
On branch  : ltmarks-multicol
Link       : https://github.com/latex3/latex2e/commit/cee2a6079da672cdcbb897878ed34220afc25aab

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

commit cee2a6079da672cdcbb897878ed34220afc25aab
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Thu Nov 14 16:25:27 2024 +0100

    improve error message and docu


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

cee2a6079da672cdcbb897878ed34220afc25aab
 base/changes.txt                                |  5 +++
 base/ltmarks.dtx                                | 37 ++++++++++--------
 base/testfiles-ltmarks/xmarks-001.tlg           |  4 +-
 base/testfiles-ltmarks/xmarks-003.tlg           | 24 ++++++------
 base/testfiles-ltmarks/xmarks-004.tlg           | 32 +++++++--------
 required/tools/testfiles/tlb-multicol-marks.lvt |  8 +++-
 required/tools/testfiles/tlb-multicol-marks.tlg | 52 +++++++++++++++++--------
 7 files changed, 99 insertions(+), 63 deletions(-)

diff --git a/base/changes.txt b/base/changes.txt
index 407fd373e..94d3dc3b0 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -6,6 +6,11 @@ to completeness or accuracy and it contains some references to files that are
 not part of the distribution.
 ================================================================================
 
+2024-11-14  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltmarks.dtx (subsection{Placing and retrieving marks}):
+	Improve error message if mark region or class is unknown
+
 2024-11-12  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* lttagging.dtx (subsection{Tagging support for output routines}):
diff --git a/base/ltmarks.dtx b/base/ltmarks.dtx
index f77df396b..08a4ad3a7 100644
--- a/base/ltmarks.dtx
+++ b/base/ltmarks.dtx
@@ -17,7 +17,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltmarks.dtx}
-             [2024/11/09 v1.1a LaTeX Kernel (Marks)]
+             [2024/11/14 v1.1a LaTeX Kernel (Marks)]
 % \iffalse
 %
 \documentclass{l3doc}
@@ -1565,9 +1565,9 @@
 \cs_new_protected:Npn \@@_set_structure_to_err:n #1 {
   \seq_map_inline:Nn \g_@@_classes_seq
       {
-        \tl_gset:ce { g_@@_ #1 _top_   ##1 _tl } { \@@_value:nn{?}{\@@_error:n {#1}} }
-        \tl_gset:ce { g_@@_ #1 _first_ ##1 _tl } { \@@_value:nn{?}{\@@_error:n {#1} }}
-        \tl_gset:ce { g_@@_ #1 _last_  ##1 _tl } { \@@_value:nn{?}{\@@_error:n {#1} }}
+        \tl_gset:ce { g_@@_ #1 _top_   ##1 _tl } { \@@_value:nn{?}{\@@_error:nn {#1}{?} }}
+        \tl_gset:ce { g_@@_ #1 _first_ ##1 _tl } { \@@_value:nn{?}{\@@_error:nn {#1}{?} }}
+        \tl_gset:ce { g_@@_ #1 _last_  ##1 _tl } { \@@_value:nn{?}{\@@_error:nn {#1}{?} }}
       }
 }
 %    \end{macrocode}
@@ -1579,8 +1579,8 @@
 %    This is not protected so that it expands, for example in a
 %    \cs{typeout} to the next level.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_error:n #1 {
-  \msg_error:nnn { mark } { invalid-use } {#1}
+\cs_new_protected:Npn \@@_error:nn #1#2 {
+  \msg_error:nnnn { mark } { invalid-use } {#1} {#2}
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -1725,21 +1725,26 @@
 %    otherwise their value will be wrong.
 %
 %    \begin{macrocode}
-\cs_new:Npn \mark_use_first:nn #1#2 { \@@_use_check:nn { g_@@_#1_first_#2_tl } { #1 } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \@@_use_check:nn { g_@@_#1_last_#2_tl } { #1 } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \@@_use_check:nn { g_@@_#1_top_#2_tl } { #1 } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \@@_use_check:nnn { g_@@_#1_first_#2_tl } {#1} {#2} }
+\cs_new:Npn \mark_use_last:nn #1#2 { \@@_use_check:nnn { g_@@_#1_last_#2_tl } {#1} {#2} }
+\cs_new:Npn \mark_use_top:nn #1#2 { \@@_use_check:nnn { g_@@_#1_top_#2_tl } {#1} {#2} }
 %    \end{macrocode}
 %
 %    If used with an unknown class or region they generate an error.
-%    If that happens in an expandable context, e.g., in a \cs{typeout}
-%    you only see something like
+%    If that happens in an expandable context then the error
+%    generation is delayed (e.g., if used in a \cs{section}) and
+%    happens if the code is finally used in typesetting, e.g., in the
+%    TOC or a running header. 
+%    If used in a \cs{typeout} you only see something like
 %    \verb=\__mark_error:n{page}=.
-%    Not that great but better than low-level errors, I guess.
+%    The latter is not that great but better than low-level errors, I
+%    guess, and I don't want to use an expandable error because of its
+%    size restrictions.
 % \changes{v1.1a}{2024/11/09}{}
 %    \begin{macrocode}
-\cs_new:Npn \@@_use_check:nn #1#2 {
+\cs_new:Npn \@@_use_check:nnn #1#2#3 {
   \tl_if_eq:cNTF {#1} \relax
-     { \@@_error:n {#2} }
+     { \@@_error:nn {#2} {#3} }
      { \@@_drop_id:v {#1} }
 }     
 %    \end{macrocode}
@@ -1823,13 +1828,13 @@
 %    should probably be separated into two different errors.
 %    \begin{macrocode}
 \msg_new:nnnn { mark } { invalid-use }
-  { Mark~region~'#1'~not~usable~or~class~unknown }
+  { Mark~region~'#1'~not~usable~or~class~'#2'~unknown }
   {
     \c__msg_coding_error_text_tl
     The~region~'#1'~is~either~not~known~or~data~for~it~
     still~needs~to~be~assembled,~e.g.,~last-column~
     while~building~the~first-column.~
-    Also~possible:~the~class~name~is~misspelled.
+    Also~possible:~the~class~namne~'#2'~is~misspelled.
     \c__msg_return_text_tl
   }
 %    \end{macrocode}
diff --git a/base/testfiles-ltmarks/xmarks-001.tlg b/base/testfiles-ltmarks/xmarks-001.tlg
index df0ea2eb3..aa61ca28b 100644
--- a/base/testfiles-ltmarks/xmarks-001.tlg
+++ b/base/testfiles-ltmarks/xmarks-001.tlg
@@ -107,12 +107,12 @@ l. ...
 This is a coding error.
 LaTeX was asked to manipulate a mark of class 'unknown', but this class of marks does not exist.
 !second foo!
-! LaTeX mark Error: Mark region 'mistake' not usable or class unknown
+! LaTeX mark Error: Mark region 'mistake' not usable or class 'foo' unknown
 For immediate help type H <return>.
  ...                                              
 l. ...\TopMark[mistake]{foo}
 This is a coding error.
-The region 'mistake' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'mistake' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'foo' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
 ! LaTeX Error: Can be used only in preamble.
diff --git a/base/testfiles-ltmarks/xmarks-003.tlg b/base/testfiles-ltmarks/xmarks-003.tlg
index 7ce13f535..113fee829 100644
--- a/base/testfiles-ltmarks/xmarks-003.tlg
+++ b/base/testfiles-ltmarks/xmarks-003.tlg
@@ -11,23 +11,23 @@ Marks: set 2e-right <- '\__mark_value:nn {2}{\MakeUppercase    []{1\hskip 1em\re
 Marks: set 2e-right-nonempty <- '\__mark_value:nn {3}{\MakeUppercase    []{1\hskip 1em\relax A test}}' on line ...
 Marks: set foo <- '\__mark_value:nn {4}{first foo}' on line ...
 Marks: 2e-left in OR (oneside first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right in OR (oneside first column):
     column (current) =| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right-nonempty in OR (oneside first column):
     column (current) =| {0}  | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {0}  | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: foo in OR (oneside first column):
     column (current) =| {0}  | {4} first foo | {4} first foo |
     column (first)=| {0}  | {4} first foo | {4} first foo |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: bar in OR (oneside first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: baz in OR (oneside first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: set foo <- '\__mark_value:nn {5}{second foo}' on line ...
 Marks: set bar <- '\__mark_value:nn {6}{first bar}' on line ...
 Marks: 2e-left in OR (oneside second column):
@@ -61,35 +61,35 @@ Marks: set bar <- '\__mark_value:nn {8}{second bar}' on line ...
 Marks: set foo <- '\__mark_value:nn {9}{forth foo}' on line ...
 Marks: set baz <- '\__mark_value:nn {10}{first baz}' on line ...
 Marks: 2e-left in OR (oneside first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right in OR (oneside first column):
     page (current) =| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (previous)=| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (current) =| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right-nonempty in OR (oneside first column):
     page (current) =| {0}  | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (previous)=| {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (current) =| {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} | {3} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: foo in OR (oneside first column):
     page (current) =| {0}  | {4} first foo | {5} second foo |
     column (previous)=| {4} first foo | {5} second foo | {5} second foo |
     column (current) =| {5} second foo | {7} third foo | {9} forth foo |
     column (first)=| {5} second foo | {7} third foo | {9} forth foo |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: bar in OR (oneside first column):
     page (current) =| {0}  | {6} first bar | {6} first bar |
     column (previous)=| {0}  | {6} first bar | {6} first bar |
     column (current) =| {6} first bar | {8} second bar | {8} second bar |
     column (first)=| {6} first bar | {8} second bar | {8} second bar |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: baz in OR (oneside first column):
     column (current) =| {0}  | {10} first baz | {10} first baz |
     column (first)=| {0}  | {10} first baz | {10} first baz |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-left in OR (oneside second column):
 Marks: 2e-right in OR (oneside second column):
     page (previous)=| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
diff --git a/base/testfiles-ltmarks/xmarks-004.tlg b/base/testfiles-ltmarks/xmarks-004.tlg
index 3fe4f0a5b..ebf933f9e 100644
--- a/base/testfiles-ltmarks/xmarks-004.tlg
+++ b/base/testfiles-ltmarks/xmarks-004.tlg
@@ -13,21 +13,21 @@ Marks: set foo <- '\__mark_value:nn {4}{first foo}' on line ...
 Marks: 2e-left in OR (twoside-odd first column):
     column (current) =| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {0}  | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right in OR (twoside-odd first column):
     column (current) =| {0}  | {3}  | {3}  |
     column (first)=| {0}  | {3}  | {3}  |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right-nonempty in OR (twoside-odd first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: foo in OR (twoside-odd first column):
     column (current) =| {0}  | {4} first foo | {4} first foo |
     column (first)=| {0}  | {4} first foo | {4} first foo |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: bar in OR (twoside-odd first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: baz in OR (twoside-odd first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: set foo <- '\__mark_value:nn {5}{second foo}' on line ...
 Marks: set bar <- '\__mark_value:nn {6}{first bar}' on line ...
 Marks: 2e-left in OR (twoside-odd second column):
@@ -65,47 +65,47 @@ Marks: 2e-left in OR (twoside-even first column):
     column (previous)=| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (current) =| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
     column (first)=| {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} | {2} \MakeUppercase    []{1\hskip 1em\relax A test} |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right in OR (twoside-even first column):
     page (current) =| {0}  | {3}  | {3}  |
     column (previous)=| {3}  | {3}  | {3}  |
     column (current) =| {3}  | {3}  | {3}  |
     column (first)=| {3}  | {3}  | {3}  |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: 2e-right-nonempty in OR (twoside-even first column):
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: foo in OR (twoside-even first column):
     page (current) =| {0}  | {4} first foo | {5} second foo |
     column (previous)=| {4} first foo | {5} second foo | {5} second foo |
     column (current) =| {5} second foo | {7} third foo | {9} forth foo |
     column (first)=| {5} second foo | {7} third foo | {9} forth foo |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: bar in OR (twoside-even first column):
     page (current) =| {0}  | {6} first bar | {6} first bar |
     column (previous)=| {0}  | {6} first bar | {6} first bar |
     column (current) =| {6} first bar | {8} second bar | {8} second bar |
     column (first)=| {6} first bar | {8} second bar | {8} second bar |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
 Marks: baz in OR (twoside-even first column):
     column (current) =| {0}  | {10} first baz | {10} first baz |
     column (first)=| {0}  | {10} first baz | {10} first baz |
-    column (last) =| {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} | {?} \__mark_error:n {last-column} |
-! LaTeX mark Error: Mark region 'page' not usable or class unknown
+    column (last) =| {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} | {?} \__mark_error:nn {last-column}{?} |
+! LaTeX mark Error: Mark region 'page' not usable or class 'foobar' unknown
 For immediate help type H <return>.
  ...                                              
 l. ...\TopMark{foobar}
                         % does not exist
 This is a coding error.
-The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'foobar' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
-! LaTeX mark Error: Mark region 'page' not usable or class unknown
+! LaTeX mark Error: Mark region 'page' not usable or class 'foobar' unknown
 For immediate help type H <return>.
  ...                                              
 l. ...\FirstMark{foobar}
                           % does not exist
 This is a coding error.
-The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'foobar' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
 equal
diff --git a/required/tools/testfiles/tlb-multicol-marks.lvt b/required/tools/testfiles/tlb-multicol-marks.lvt
index c7aab36b8..8dae5a726 100644
--- a/required/tools/testfiles/tlb-multicol-marks.lvt
+++ b/required/tools/testfiles/tlb-multicol-marks.lvt
@@ -116,6 +116,10 @@ abc
   text \InsertMark{DictMark}{s2}s2
 \end{multicols}
 
+\typeout{----> Ok mark in typeout: \FirstMark{DictMark}}
+\typeout{----> Wrong mark in typeout: \FirstMark{unkown-class}}
+
+
 
 
 
@@ -123,5 +127,7 @@ abc
 
 \FirstMark[column-13]{DictMark}
 
-\FirstMark{unkown-class}
+\section{With mark: \FirstMark{unkown-class}}
+
+
 \end{document}
diff --git a/required/tools/testfiles/tlb-multicol-marks.tlg b/required/tools/testfiles/tlb-multicol-marks.tlg
index 447e11d2b..723fe7495 100644
--- a/required/tools/testfiles/tlb-multicol-marks.tlg
+++ b/required/tools/testfiles/tlb-multicol-marks.tlg
@@ -338,44 +338,48 @@ Marks: -- reinsert marks (multicol)
 Marks: set DictMark <- '\__mark_value:nn {47}{s2}' on line ...
 Marks: set DictMark <- '\__mark_value:nn {48}{s2}' on line ...
 Marks: -- finished reinserting marks (multicol)
-! LaTeX mark Error: Mark region 'column-3' not usable or class unknown
+----> Ok mark in typeout: q2
+----> Wrong mark in typeout: \__mark_error:nn {page}{unkown-class}
+! LaTeX mark Error: Mark region 'column-3' not usable or class 'DictMark' unknown
 For immediate help type H <return>.
  ...                                              
 l. ...\FirstMark[column-3]{DictMark}
 This is a coding error.
-The region 'column-3' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'column-3' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'DictMark' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
-! LaTeX mark Error: Mark region 'column-13' not usable or class unknown
+! LaTeX mark Error: Mark region 'column-13' not usable or class 'DictMark' unknown
 For immediate help type H <return>.
  ...                                              
 l. ...\FirstMark[column-13]{DictMark}
 This is a coding error.
-The region 'column-13' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'column-13' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'DictMark' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
-! LaTeX mark Error: Mark region 'page' not usable or class unknown
+! LaTeX mark Error: Mark region 'page' not usable or class 'unkown-class' unknown
 For immediate help type H <return>.
  ...                                              
-l. ...\FirstMark{unkown-class}
+l. ......tion{With mark: \FirstMark{unkown-class}}
 This is a coding error.
-The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class name is misspelled.
+The region 'page' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'unkown-class' is misspelled.
 Try typing <return> to proceed.
 If that doesn't work, type X <return> to quit.
+Marks: set 2e-left <- '\__mark_value:nn {49}{\MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}}}' on line ...
+Marks: set 2e-right <- '\__mark_value:nn {50}{}' on line ...
 Marks: 2e-left in OR (twoside-even):
     page (previous)=| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
-    page (current) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
+    page (current) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} |
     column (previous)=| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
-    column (current) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
-    column (first)=| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
-    column (last) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} | {26} \MakeUppercase    []{3\hskip 1em\relax C} |
+    column (current) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} |
+    column (first)=| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} |
+    column (last) =| {26} \MakeUppercase    []{3\hskip 1em\relax C} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} | {49} \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}} |
 Marks: 2e-right in OR (twoside-even):
     page (previous)=| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
-    page (current) =| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
+    page (current) =| {31} 3.1\hskip 1em\relax C sub1 | {50}  | {50}  |
     column (previous)=| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
-    column (current) =| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
-    column (first)=| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
-    column (last) =| {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 | {31} 3.1\hskip 1em\relax C sub1 |
+    column (current) =| {31} 3.1\hskip 1em\relax C sub1 | {50}  | {50}  |
+    column (first)=| {31} 3.1\hskip 1em\relax C sub1 | {50}  | {50}  |
+    column (last) =| {31} 3.1\hskip 1em\relax C sub1 | {50}  | {50}  |
 Marks: 2e-right-nonempty in OR (twoside-even):
     page (previous)=| {32} 3.1\hskip 1em\relax C sub1 | {32} 3.1\hskip 1em\relax C sub1 | {32} 3.1\hskip 1em\relax C sub1 |
     page (current) =| {32} 3.1\hskip 1em\relax C sub1 | {32} 3.1\hskip 1em\relax C sub1 | {32} 3.1\hskip 1em\relax C sub1 |
@@ -390,6 +394,22 @@ Marks: DictMark in OR (twoside-even):
     column (current) =| {45} r2 | {47} s2 | {48} s2 |
     column (first)=| {45} r2 | {47} s2 | {48} s2 |
     column (last) =| {45} r2 | {47} s2 | {48} s2 |
-==> Header: \MakeUppercase    []{3\hskip 1em\relax C}-- ??? \MakeUppercase    []{3\hskip 1em\relax C}--3.1\hskip 1em\relax C sub1
+! LaTeX mark Error: Mark region 'PAGE' not usable or class 'UNKOWN-CLASS' unknown
+For immediate help type H <return>.
+ ...                                              
+l. ...\end{document}
+This is a coding error.
+The region 'PAGE' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'UNKOWN-CLASS' is misspelled.
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+! LaTeX mark Error: Mark region 'PAGE' not usable or class 'UNKOWN-CLASS' unknown
+For immediate help type H <return>.
+ ...                                              
+l. ...\end{document}
+This is a coding error.
+The region 'PAGE' is either not known or data for it still needs to be assembled, e.g., last-column while building the first-column. Also possible: the class namne 'UNKOWN-CLASS' is misspelled.
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+==> Header: \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}}-- ??? \MakeUppercase    []{4\hskip 1em\relax With mark: \__mark_error:nn {page}{unkown-class}}--
 ==> Footer: s2--s2 page: 6
 [6] (tlb-multicol-marks.aux)





More information about the latex3-commits mailing list.