summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3coffins.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3coffins.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx61
1 files changed, 60 insertions, 1 deletions
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index e0cdd606b3..dfeb71e9ec 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-11}
+% \date{Released 2021-05-25}
%
% \maketitle
%
@@ -381,6 +381,31 @@
% which displays the result in the terminal.
% \end{function}
%
+% \begin{function}[added = 2021-05-11]
+% {\coffin_show:N, \coffin_show:c, \coffin_log:N, \coffin_log:c}
+% \begin{syntax}
+% \cs{coffin_show:N} \meta{coffin}
+% \cs{coffin_log:N} \meta{coffin}
+% \end{syntax}
+% Shows full details of poles and contents of the \meta{coffin} in the
+% terminal or log file. See \cs{coffin_show_structure:N} and
+% \cs{box_show:N} to show separately the pole structure and the
+% contents.
+% \end{function}
+%
+% \begin{function}[added = 2021-05-11]
+% {\coffin_show:Nnn, \coffin_show:cnn, \coffin_log:Nnn, \coffin_log:cnn}
+% \begin{syntax}
+% \cs{coffin_show:Nnn} \meta{coffin} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{coffin_log:Nnn} \meta{coffin} \Arg{intexpr_1} \Arg{intexpr_2}
+% \end{syntax}
+% Shows poles and contents of the \meta{coffin} in the terminal or log
+% file, showing the first \meta{intexpr_1} items in the coffin, and
+% descending into \meta{intexpr_2} group levels. See
+% \cs{coffin_show_structure:N} and \cs{box_show:Nnn} to show
+% separately the pole structure and the contents.
+% \end{function}
+%
% \section{Constants and variables}
%
% \begin{variable}{\c_empty_coffin}
@@ -2481,6 +2506,40 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}
+% {
+% \coffin_show:N, \coffin_show:c, \coffin_log:N, \coffin_log:c,
+% \coffin_show:Nnn, \coffin_show:cnn, \coffin_log:Nnn, \coffin_log:cnn,
+% \@@_show:NNNnn
+% }
+% Essentially a combination of \cs{coffin_show_structure:N} and
+% \cs{box_show:Nnn}, but we need to avoid having two prompts, so we
+% use \cs{__kernel_msg_term:nnxxxx} instead of
+% \cs{__kernel_msg_show:nnxxxx} in the |show| case.
+% \begin{macrocode}
+\cs_new_protected:Npn \coffin_show:N #1
+ { \coffin_show:Nnn #1 \c_max_int \c_max_int }
+\cs_generate_variant:Nn \coffin_show:N { c }
+\cs_new_protected:Npn \coffin_log:N #1
+ { \coffin_log:Nnn #1 \c_max_int \c_max_int }
+\cs_generate_variant:Nn \coffin_log:N { c }
+\cs_new_protected:Npn \coffin_show:Nnn
+ { \@@_show:NNNnn \__kernel_msg_term:nnxxxx \box_show:Nnn }
+\cs_generate_variant:Nn \coffin_show:Nnn { c }
+\cs_new_protected:Npn \coffin_log:Nnn
+ { \@@_show:NNNnn \__kernel_msg_log:nnxxxx \box_show:Nnn }
+\cs_generate_variant:Nn \coffin_log:Nnn { c }
+\cs_new_protected:Npn \@@_show:NNNnn #1#2#3#4#5
+ {
+ \@@_if_exist:NT #3
+ {
+ \@@_show_structure:NN #1 #3
+ #2 #3 {#4} {#5}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Messages}
%
% \begin{macrocode}