summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3doc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3doc.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx46
1 files changed, 33 insertions, 13 deletions
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index fde5ddd103..48e022ae80 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-01-22}{}
+\ProvidesExplClass{l3doc}{2024-02-13}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-01-22}
+% \date{Released 2024-02-13}
% \maketitle
% \tableofcontents
%
@@ -1740,7 +1740,7 @@ and all files in that bundle must be distributed together.
% A document-level command.
% \begin{macrocode}
\DeclareDocumentCommand \meta { m }
- { \@@_meta:n {#1} }
+ { \texttt{ \@@_meta:n {#1} } }
% \end{macrocode}
% \end{macro}
%
@@ -1760,10 +1760,11 @@ and all files in that bundle must be distributed together.
{ < \tl_to_str:n {#1} > }
\pdfstringdefDisableCommands
{
- \cs_set_eq:NN \cmd \@@_pdfstring_cmd:w
- \cs_set_eq:NN \cs \@@_pdfstring_cs:w
- \cs_set_eq:NN \tn \@@_pdfstring_cs:w
- \cs_set_eq:NN \meta \@@_pdfstring_meta:w
+ \cs_set_eq:NN \cmd \@@_pdfstring_cmd:w
+ \cs_set_eq:NN \cs \@@_pdfstring_cs:w
+ \cs_set_eq:NN \tn \@@_pdfstring_cs:w
+ \cs_set_eq:NN \meta \@@_pdfstring_meta:w
+ \cs_set_eq:NN \@@_meta:n \@@_pdfstring_meta:w
}
% \end{macrocode}
% \end{macro}
@@ -1775,10 +1776,10 @@ and all files in that bundle must be distributed together.
% Finally, \cs{Arg} is the same as \cs{marg}.
% \begin{macrocode}
\newcommand\Arg[1]
- { \texttt{\char`\{} \meta{#1} \texttt{\char`\}} }
+ { \texttt{\char`\{} \@@_meta:n {#1} \texttt{\char`\}} }
\providecommand\marg[1]{ \Arg{#1} }
-\providecommand\oarg[1]{ \texttt[ \meta{#1} \texttt] }
-\providecommand\parg[1]{ \texttt( \meta{#1} \texttt) }
+\providecommand\oarg[1]{ \texttt[ \@@_meta:n {#1} \texttt] }
+\providecommand\parg[1]{ \texttt( \@@_meta:n {#1} \texttt) }
% \end{macrocode}
% \end{macro}
%
@@ -3727,10 +3728,22 @@ and all files in that bundle must be distributed together.
%
% \begin{macro}{\DocInclude}
% More or less exactly the same as \tn{include}, but uses
-% \tn{DocInput} on a \file{.dtx} file, not \tn{input} on a \file{.tex}
-% file.
+% \tn{DocInput} on a \file{.fdd} or \file{.dtx} file (without file
+% extension), not \tn{input} on a \file{.tex} file.
%
% \begin{macrocode}
+\msg_new:nnn { l3doc } { missing-endgroup }
+ {
+ \str_if_eq:VnTF \@currenvir { document }
+ {
+ There~are~\int_use:N \tex_currentgrouplevel:D
+ \c_space_tl unclosed~groups~in~#1.
+ }
+ {
+ The~\@currenvir \c_space_tl environment~on~line~\@currenvline
+ \c_space_tl doesn't~have~a~matching~\iow_char:N\\end{\@currenvir}.
+ }
+ }
\NewDocumentCommand \DocInclude { m }
{
\relax\clearpage
@@ -3741,6 +3754,13 @@ and all files in that bundle must be distributed together.
\int_compare:nNnTF \@auxout = \@partaux
{ \@latexerr{\string\include\space cannot~be~nested}\@eha }
{ \@docinclude {#1} }
+ % check missing \endgroup, e.g., missing "\end{macro}" in time
+ \int_compare:nNnF { \tex_currentgrouplevel:D } = { 0 }
+ {
+ \int_compare:nNnT { \tex_interactionmode:D } = { 0 }
+ { \int_gset:Nn \tex_interactionmode:D { 1 } }
+ \msg_fatal:nne { l3doc } { missing-endgroup } { \currentfile }
+ }
}
% \end{macrocode}
%
@@ -4087,7 +4107,7 @@ and all files in that bundle must be distributed together.
\int_set:Nn \l_@@_tmpa_int { \tex_interactionmode:D }
\errorstopmode
\ClassError { l3doc } { \l_@@_tmpa_tl } { }
- \int_set:Nn \tex_interactionmode:D { \l_@@_tmpa_int }
+ \int_gset:Nn \tex_interactionmode:D { \l_@@_tmpa_int }
}
}
}