[latex3-commits] [git/LaTeX3-latex3-latex3] master: Print 'more text' for critical and fatal errors (fixes #588) (cfbc374)

Joseph Wright joseph.wright at morningstar2.co.uk
Tue Jun 4 09:17:57 CEST 2019


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/cfbc3746eb889e814a61da69cc6b24a364cd808f

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

commit cfbc3746eb889e814a61da69cc6b24a364cd808f
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Jun 4 08:14:19 2019 +0100

    Print 'more text' for critical and fatal errors (fixes #588)


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

cfbc3746eb889e814a61da69cc6b24a364cd808f
 l3kernel/l3msg.dtx                      |   71 ++++++++++++++++---------------
 l3kernel/testfiles/m3expl001.luatex.tlg |    5 +--
 l3kernel/testfiles/m3expl001.ptex.tlg   |    5 +--
 l3kernel/testfiles/m3expl001.tlg        |    5 +--
 l3kernel/testfiles/m3expl001.uptex.tlg  |    5 +--
 l3kernel/testfiles/m3expl001.xetex.tlg  |    5 +--
 l3kernel/testfiles/m3expl003.luatex.tlg |    5 +--
 l3kernel/testfiles/m3expl003.ptex.tlg   |    5 +--
 l3kernel/testfiles/m3expl003.tlg        |    5 +--
 l3kernel/testfiles/m3expl003.uptex.tlg  |    5 +--
 l3kernel/testfiles/m3expl003.xetex.tlg  |    5 +--
 l3kernel/testfiles/m3msg001.tlg         |   10 +++++
 l3kernel/testfiles/m3msg004.luatex.tlg  |   17 ++++++++
 l3kernel/testfiles/m3msg004.tlg         |   17 ++++++++
 14 files changed, 100 insertions(+), 65 deletions(-)

diff --git a/l3kernel/l3msg.dtx b/l3kernel/l3msg.dtx
index c07bb4a..d181639 100644
--- a/l3kernel/l3msg.dtx
+++ b/l3kernel/l3msg.dtx
@@ -674,31 +674,48 @@
 % \subsection{Showing messages: low level mechanism}
 %
 % \begin{macro}{\@@_interrupt:Nnnn}
+% \begin{macro}{\@@_no_more_text:nnnn}
 %   The low-level interruption macro is rather opaque, unfortunately.
 %   Depending on the availability of more information there is a choice
 %   of how to set up the further help.  We feed the extra help text and
 %   the message itself to a wrapping auxiliary, in this order because we
 %   must first setup \TeX{}'s \tn{errhelp} register before issuing an
-%   \tn{errmessage}.
+%   \tn{errmessage}. To deal with the various cases of critical or fatal
+%   errors with and without help text, there is a bit of argument-passing
+%   to do.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_interrupt:Nnnn #1#2#3#4
+\cs_new_protected:Npn \@@_interrupt:NnnnN #1#2#3#4#5
   {
     \str_set:Nx \l_@@_text_str { #1 {#2} }
     \str_set:Nx \l_@@_name_str { \msg_module_name:n {#2} }
-    \tl_if_empty:nTF {#4}
+    \cs_if_eq:cNTF
+      { \c_@@_more_text_prefix_tl #2 / #3 }
+      \@@_no_more_text:nnnn
       {
-        \@@_interrupt_wrap:nnn {#3}
+        \@@_interrupt_wrap:nnn
+          { \use:c { \c_@@_text_prefix_tl #2 / #3 } #4 }
           { \c_@@_continue_text_tl }
-          { \c_@@_no_info_text_tl }
+          {
+             \c_@@_no_info_text_tl
+             \tl_if_empty:NF #5
+               { \\ \\ #5 }
+          }
       }
       {
-        \@@_interrupt_wrap:nnn {#3}
+        \@@_interrupt_wrap:nnn
+          { \use:c { \c_@@_text_prefix_tl #2 / #3 } #4 }
           { \c_@@_help_text_tl }
-          {#4}
+          {
+             \use:c { \c_@@_more_text_prefix_tl #2 / #3 } #4
+             \tl_if_empty:NF #5
+               { \\ \\ #5 }
+          }
       }
   }
+\cs_new:Npn \@@_no_more_text:nnnn #1#2#3#4 { }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\@@_interrupt_wrap:nnn}
 % \begin{macro}{\@@_interrupt_text:n, \@@_interrupt_more_text:n}
@@ -974,11 +991,10 @@
 %    \begin{macrocode}
   \@@_class_new:nn { fatal }
     {
-      \@@_interrupt:Nnnn
-        \msg_fatal_text:n
-        {#1}
-        { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
-        { \c_@@_fatal_text_tl }
+      \@@_interrupt:NnnnN
+        \msg_fatal_text:n {#1} {#2}
+        { {#3} {#4} {#5} {#6} }
+        \c_@@_fatal_text_tl
       \@@_fatal_exit:
     }
   \cs_new_protected:Npn \@@_fatal_exit:
@@ -1019,11 +1035,10 @@
 %    \begin{macrocode}
   \@@_class_new:nn { critical }
     {
-      \@@_interrupt:Nnnn
-        \msg_critical_text:n
-        {#1}
-        { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
-        { \c_@@_critical_text_tl }
+      \@@_interrupt:NnnnN
+        \msg_critical_text:n {#1} {#2}
+        { {#3} {#4} {#5} {#6} }
+        \c_@@_critical_text_tl
       \tex_endinput:D
     }
 %    \end{macrocode}
@@ -1041,33 +1056,19 @@
 %     \msg_error:nnxx   ,
 %     \msg_error:nnx
 %   }
-% \begin{macro}{\@@_error:cnnnnn, \@@_no_more_text:nnnn}
 %   For an error, the interrupt routine is called.  We check if there is
 %   a \enquote{more text} by comparing that control sequence with a
 %   permanently empty text.
 %    \begin{macrocode}
   \@@_class_new:nn { error }
     {
-      \@@_error:cnnnnn
-        { \c_@@_more_text_prefix_tl #1 / #2 }
-        {#3} {#4} {#5} {#6}
-        {
-          \@@_interrupt:Nnnn
-            \msg_error_text:n
-            {#1}
-            { \use:c { \c_@@_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
-       }
+      \@@_interrupt:NnnnN
+        \msg_error_text:n {#1} {#2}
+        { {#3} {#4} {#5} {#6} }
+        \c_empty_tl
     }
-  \cs_new_protected:Npn \@@_error:cnnnnn #1#2#3#4#5#6
-    {
-      \cs_if_eq:cNTF {#1} \@@_no_more_text:nnnn
-        { #6 { } }
-        { #6 { \use:c {#1} {#2} {#3} {#4} {#5} } }
-    }
-  \cs_new:Npn \@@_no_more_text:nnnn #1#2#3#4 { }
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
 % \begin{macro}
 %   {
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 63e56a1..1d84807 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -2486,7 +2486,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2537,8 +2538,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 920fbc4..899517c 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index b65666d..7b49492 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 26d2fba..5ff1334 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 7e31386..6a3d560 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -2484,7 +2484,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2535,8 +2536,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 63e56a1..1d84807 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -2486,7 +2486,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2537,8 +2538,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 920fbc4..899517c 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index b65666d..7b49492 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 26d2fba..5ff1334 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -2740,7 +2740,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2791,8 +2792,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 7e31386..6a3d560 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -2484,7 +2484,8 @@ Defining \c__msg_on_line_text_tl on line ...
 Defining \c__msg_return_text_tl on line ...
 Defining \c__msg_trouble_text_tl on line ...
 Defining \msg_line_number: on line ...
-Defining \__msg_interrupt:Nnnn on line ...
+Defining \__msg_interrupt:NnnnN on line ...
+Defining \__msg_no_more_text:nnnn on line ...
 Defining \__msg_interrupt_wrap:nnn on line ...
 Defining \__msg_interrupt_text:n on line ...
 Defining \__msg_interrupt_more_text:n on line ...
@@ -2535,8 +2536,6 @@ Defining \msg_error:nnxxxx on line ...
 Defining \msg_error:nnxxx on line ...
 Defining \msg_error:nnxx on line ...
 Defining \msg_error:nnx on line ...
-Defining \__msg_error:cnnnnn on line ...
-Defining \__msg_no_more_text:nnnn on line ...
 Defining \l__msg_redirect_warning_prop on line ...
 Defining \__msg_warning_code:nnnnnn on line ...
 Defining \msg_warning:nnnnnn on line ...
diff --git a/l3kernel/testfiles/m3msg001.tlg b/l3kernel/testfiles/m3msg001.tlg
index 2266c6e..6bd9898 100644
--- a/l3kernel/testfiles/m3msg001.tlg
+++ b/l3kernel/testfiles/m3msg001.tlg
@@ -42,26 +42,31 @@ TEST 4: Issuing fatal messages (without stopping!)
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text text text
 This is a fatal error: LaTeX will abort.
 ! Fatal Package module Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text text 
 This is a fatal error: LaTeX will abort.
 ! Fatal Package module Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text  
 This is a fatal error: LaTeX will abort.
 ! Fatal Package module Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text   
 This is a fatal error: LaTeX will abort.
 ! Fatal Package module Error: text 
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text    
 This is a fatal error: LaTeX will abort.
 ============================================================
 ============================================================
@@ -196,26 +201,31 @@ TEST 17: Issuing kernel fatal messages (without stopping!)
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text text text
 This is a fatal error: LaTeX will abort.
 ! Fatal LaTeX3 Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text text 
 This is a fatal error: LaTeX will abort.
 ! Fatal LaTeX3 Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text text  
 This is a fatal error: LaTeX will abort.
 ! Fatal LaTeX3 Error: text text
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text text   
 This is a fatal error: LaTeX will abort.
 ! Fatal LaTeX3 Error: text 
 For immediate help type H <return>.
  ...                                              
 l. ...}
+more text    
 This is a fatal error: LaTeX will abort.
 ============================================================
 ============================================================
diff --git a/l3kernel/testfiles/m3msg004.luatex.tlg b/l3kernel/testfiles/m3msg004.luatex.tlg
index 2e11561..6b54413 100644
--- a/l3kernel/testfiles/m3msg004.luatex.tlg
+++ b/l3kernel/testfiles/m3msg004.luatex.tlg
@@ -10,6 +10,8 @@ TEST 1: Kernel fatal all arg types
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnnnn|
@@ -18,6 +20,8 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnnn|
@@ -26,6 +30,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnn|
@@ -33,6 +38,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nn|
@@ -40,6 +46,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnx|
@@ -47,6 +54,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxx|
@@ -54,6 +62,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxxx|
@@ -61,6 +70,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxxxx|
@@ -68,6 +78,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 ============================================================
@@ -115,12 +126,15 @@ TEST 3: Various non-kernel classes
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 ! Fatal Package foo Error: (\exp_not:N \c_empty_tl ) (\c_empty_tl ) () ()
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |msg_critical:nnnnnn and msg_critical:nnxxxx|
@@ -129,12 +143,15 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 Reading the current file 'm3msg004' will stop.
 tex_endinput:D
 ! Critical Package foo Error: (\exp_not:N \c_empty_tl ) (\c_empty_tl ) () ()
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 Reading the current file 'm3msg004' will stop.
 tex_endinput:D
 |msg_error:nnnnnn and msg_error:nnxxxx|
diff --git a/l3kernel/testfiles/m3msg004.tlg b/l3kernel/testfiles/m3msg004.tlg
index 9dec5df..5a00d8d 100644
--- a/l3kernel/testfiles/m3msg004.tlg
+++ b/l3kernel/testfiles/m3msg004.tlg
@@ -10,6 +10,8 @@ TEST 1: Kernel fatal all arg types
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnnnn|
@@ -18,6 +20,8 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnnn|
@@ -26,6 +30,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnn|
@@ -33,6 +38,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nn|
@@ -40,6 +46,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnx|
@@ -47,6 +54,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxx|
@@ -54,6 +62,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxxx|
@@ -61,6 +70,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |__kernel_msg_fatal:nnxxxx|
@@ -68,6 +78,7 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 ============================================================
@@ -115,12 +126,15 @@ TEST 3: Various non-kernel classes
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 ! Fatal Package foo Error: (\exp_not:N \c_empty_tl ) (\c_empty_tl ) () ()
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 This is a fatal error: LaTeX will abort.
 tex_end:D
 |msg_critical:nnnnnn and msg_critical:nnxxxx|
@@ -129,12 +143,15 @@ tex_end:D
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:n {\exp_not:N \c_empty_tl }] [\exp_not:N \c_empty_tl ] [\c_empty_tl
+] []
 Reading the current file 'm3msg004' will stop.
 tex_endinput:D
 ! Critical Package foo Error: (\exp_not:N \c_empty_tl ) (\c_empty_tl ) () ()
 For immediate help type H <return>.
  ...                                              
 l. ...  }
+[\exp_not:N \c_empty_tl ] [\c_empty_tl ] [] []
 Reading the current file 'm3msg004' will stop.
 tex_endinput:D
 |msg_error:nnnnnn and msg_error:nnxxxx|





More information about the latex3-commits mailing list