[latex3-commits] [latex3/latex2e] develop: Capture newlines as \obeyedline in ltcmd (9a544750)

github at latex-project.org github at latex-project.org
Tue Mar 26 13:25:23 CET 2024


Repository : https://github.com/latex3/latex2e
On branch  : develop
Link       : https://github.com/latex3/latex2e/commit/9a544750a4b4a1e822ded0c73e12a7c79d041e8b

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

commit 9a544750a4b4a1e822ded0c73e12a7c79d041e8b
Author: Joseph Wright <joseph at texdev.net>
Date:   Wed Mar 20 16:46:57 2024 +0000

    Capture newlines as \obeyedline in ltcmd
    
    Documentation for verb is extended here.
    
    This is a breaking change - so needs good notice.
    
    The l3doc patch will need to be transferred back to
    the full release.


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

9a544750a4b4a1e822ded0c73e12a7c79d041e8b
 base/changes.txt                                   |  7 +++
 base/doc/ltnews39.tex                              | 13 ++++++
 base/doc/usrguide.tex                              | 51 ++++++++++++++++++++++
 base/ltcmd.dtx                                     | 26 +++++++++--
 base/testfiles-ltcmd/github-0876.tlg               |  8 ++--
 base/testfiles-lthooks/lthooks-rollback-args.tlg   |  2 +
 base/testfiles/github-0479-often.luatex.tlg        |  2 +
 base/testfiles/github-0479-often.tlg               |  2 +
 base/testfiles/github-0479-often.xetex.tlg         |  2 +
 .../tlb-latexrelease-rollback-003-often.luatex.tlg |  4 ++
 .../tlb-latexrelease-rollback-003-often.tlg        |  4 ++
 .../tlb-latexrelease-rollback-003-often.xetex.tlg  |  4 ++
 ...tlb-latexrelease-rollback-2020-10-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2020-10-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2020-10-01.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2021-06-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2021-06-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2021-06-01.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2021-11-15.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2021-11-15.tlg       |  2 +
 .../tlb-latexrelease-rollback-2021-11-15.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2022-06-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2022-06-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2022-06-01.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2022-11-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2022-11-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2022-11-01.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2023-06-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2023-06-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2023-06-01.xetex.tlg |  2 +
 ...tlb-latexrelease-rollback-2023-11-01.luatex.tlg |  2 +
 .../tlb-latexrelease-rollback-2023-11-01.tlg       |  2 +
 .../tlb-latexrelease-rollback-2023-11-01.xetex.tlg |  2 +
 base/testfiles/tlb-rollback-004-often.luatex.tlg   |  2 +
 base/testfiles/tlb-rollback-004-often.tlg          |  2 +
 base/testfiles/tlb-rollback-004-often.xetex.tlg    |  2 +
 base/testfiles/tlb-rollback-005.luatex.tlg         |  2 +
 base/testfiles/tlb-rollback-005.tlg                |  2 +
 base/testfiles/tlb-rollback-005.xetex.tlg          |  2 +
 texmf/tex/latex/l3kernel/l3doc.cls                 |  1 +
 40 files changed, 173 insertions(+), 7 deletions(-)

diff --git a/base/changes.txt b/base/changes.txt
index c6a4942c..52fbd04f 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -13,6 +13,13 @@ not part of the distribution.
 	providing key-value options is loaded the second time. The same
 	expansion for first-time loading was requested in gh/580. (gh/1298)
 
+2024-03-21  Joseph Wright  <Joseph.Wright at latex-project.org>
+
+	* ltcmd.dtx
+	Collect \endlinechar as \obeyedline
+	* usrguide.tex
+	Document use of \obeyedline in +v arguments
+
 2024-03-16  David Carlisle  <David.Carlisle at latex-project.org>
 	* ifthen.dtx guard against active <=> (gh/756)
 
diff --git a/base/doc/ltnews39.tex b/base/doc/ltnews39.tex
index 8120b00e..92c83592 100644
--- a/base/doc/ltnews39.tex
+++ b/base/doc/ltnews39.tex
@@ -427,6 +427,19 @@ the direct equivalent to \cs{newcommand} is \cs{NewExpandableDocumentCommand}.
 %
 \githubissue{1189}
 
+\subsection{Handling of end-of-lines in \cs{NewDocumentCommand} \texttt{+v} arguments}
+
+The \texttt{+v} argument type provided by \cs{NewDocumentCommand}, etc., allows
+grabbing of multiple lines of text in a verbatim-like argument. Almost always,
+the result of this grabbing will be used in a typesetting context. Previously,
+the end-of-line characters were stored literally as category code~12
+(\enquote{other}) \verb|^^M| tokens. However, these are difficult to work with
+in general. We have now revised this behavior, such that end-of-line characters
+are converted to the \cs{obeyedline} command when parsed by \texttt{+v}-type
+arguments. This may require adjustment in the source of some documents, but the
+enhanced ability of users and programmers to exploit the \texttt{+v}-type
+argument means we believe it is necessary.
+
 \subsection{Declaring appropriate sub-encodings for \texttt{TS1} symbol fonts}
 
 In 2020 we incorporated support for the \texttt{TS1} symbol encoding
diff --git a/base/doc/usrguide.tex b/base/doc/usrguide.tex
index d201af97..ff9fa09b 100644
--- a/base/doc/usrguide.tex
+++ b/base/doc/usrguide.tex
@@ -794,6 +794,57 @@ a & b & c \\
 \end{tabular}
 \end{verbatim}
 
+\subsection{Using the verbatim argument types}
+
+As described above, the \texttt{v}-type argument may be viewed as similar to
+\cs{verb}. Before looking at exactly what that means, it is important to
+highlight some key differences. Most notably, \emph{grabbing} a verbatim-like
+argument is separate from \emph{typesetting} it: the latter is covered in the
+next section.
+
+When grabbing a \texttt{v}-type argument, \LaTeX{} first uses the kernel
+command \cs{dospecials} to turn off the \enquote{special} nature of characters.
+It then makes both spaces and tabs \enquote{active}, so they can be given a
+custom definition. Any other characters are grabbed as-is: this means that if
+any characters have been made \enquote{special} and are not listed in
+\cs{dospecials}, an error will arise (see below).
+
+Characters are grabbed two identical delimiters: in contrast to \cs{verb}, the
+characters \texttt{\textbackslash}, |{|, |}| and |%| \emph{cannot be used}. If
+any of the grabbed tokens have \enquote{special} meaning, an error will be
+issued.
+
+For the \texttt{+v}-type argument, which allows line breaks in input,
+newline characters are converted into \cs{obeyedline} commands. This means that
+the grabbed tokens can be used directly in typesetting, while a local
+redefinition of \cs{obeyedline} can be used to achieve other outputs. For
+example, to retain blank lines whilst typesetting, one could use
+\begin{verbatim}
+\renewcommand*\obeyedline{\mbox{}\par}
+\end{verbatim}
+along with other setting that may be appropriate (e.g.~using a monospaced
+font).
+
+Some additional details that may be useful for those with more \TeX{}
+knowledge: do not worry if this does not make sense to you! Grabbed tokens are
+all stored as either active or \enquote{other}: spaces, tabs and non-ASCII
+codepoints in $8$-bit engines are active, everything else is detokenized. As
+such, token-based comparisons are likely to fail unless set up properly.
+
+\subsection{Typesetting verbatim-like material}
+
+In contrast to \cs{verb}, the \texttt{v}-type argument is only about
+\emph{grabbing} the argument, not \emph{typesetting} it. As such, features that
+users often associate with \enquote{verbatim} are not automatically activated,
+e.g.~a monospaced font. Material grabbed by the \texttt{v}-type argument does
+not automatically suppress ligatures: with modern \TeX{} engines, this largely
+can be done without the token manipulation which \cs{verb} uses.
+
+The \cs{verb} command also selects a monotype font: this is not intrinsic
+to verbatim material, so will need to be set up using for example \cs{ttfamily}.
+Similarly, the \texttt{verbatim} environment sets up the meaning of \cs{par}
+suitable for breaking lines.
+
 \subsection{Performance}
 
 For document commands where the argument specification is entirely
diff --git a/base/ltcmd.dtx b/base/ltcmd.dtx
index 1733af54..42ff1550 100644
--- a/base/ltcmd.dtx
+++ b/base/ltcmd.dtx
@@ -34,8 +34,8 @@
 %%% From File: ltcmd.dtx
 %
 %    \begin{macrocode}
-\def\ltcmdversion{v1.2c}
-\def\ltcmddate{2024-02-08}
+\def\ltcmdversion{v1.2d}
+\def\ltcmddate{2024-03-21}
 %    \end{macrocode}
 %
 %<*driver>
@@ -3681,18 +3681,38 @@
 % \end{macro}
 %
 % \begin{macro}{\@@_grab_v_aux_put:N}
+% \changes{v1.2d}{2024/03/21}{Collect \cs{endlinechar} as \cs{obeyedline}}
 %   Storing one token in the collected argument. Most tokens are
 %   converted to category code $12$, with the exception of active
 %   characters, and spaces (not sure what should be done for those).
 %    \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2024/11/01}{\@@_grab_v_aux_put:N}%
+%<latexrelease>  {Endlines~as~\obeyedline}
 \cs_new_protected:Npn \@@_grab_v_aux_put:N #1
   {
     \tl_put_right:Nx \l_@@_v_arg_tl
       {
         \token_if_active:NTF #1
-          { \exp_not:N #1 } { \token_to_str:N #1 }
+          { \exp_not:N #1 }
+          {
+            \int_compare:nNnTF {`#1} = \tex_endlinechar:D
+              { \exp_not:N \obeyedline }
+              { \token_to_str:N #1 }
+          }
       }
   }
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_grab_v_aux_put:N}%
+%<latexrelease>  {Endlines~as~\obeyedline}
+%<latexrelease>\cs_new_protected:Npn \@@_grab_v_aux_put:N #1
+%<latexrelease>  {
+%<latexrelease>    \tl_put_right:Nx \l_@@_v_arg_tl
+%<latexrelease>      {
+%<latexrelease>        \token_if_active:NTF #1
+%<latexrelease>          { \exp_not:N #1 } { \token_to_str:N #1 }
+%<latexrelease>      }
+%<latexrelease>  }
+%<latexrelease>\EndIncludeInRelease
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/base/testfiles-ltcmd/github-0876.tlg b/base/testfiles-ltcmd/github-0876.tlg
index c250550e..cc64782a 100644
--- a/base/testfiles-ltcmd/github-0876.tlg
+++ b/base/testfiles-ltcmd/github-0876.tlg
@@ -16,7 +16,7 @@ The token list contains the tokens:
 >  b (the character b)
 >  a (the character a)
 >  r (the character r)
->  ^^M (the character ^^M)
+>  \obeyedline (control sequence=\protected macro:->\par )
 >  b (the character b)
 >  a (the character a)
 >  r (the character r).
@@ -27,7 +27,7 @@ The token list contains the tokens:
 >  b (the character b)
 >  a (the character a)
 >  r (the character r)
->  ^^M (the character ^^M)
+>  \obeyedline (control sequence=\protected macro:->\par )
 >  b (the character b)
 >  a (the character a)
 >  r (the character r).
@@ -35,11 +35,11 @@ The token list contains the tokens:
 l. ...bar+
          ^^M
 The token list contains the tokens:
->  ^^M (the character ^^M)
+>  \obeyedline (control sequence=\protected macro:->\par )
 >  b (the character b)
 >  a (the character a)
 >  r (the character r)
->  ^^M (the character ^^M)
+>  \obeyedline (control sequence=\protected macro:->\par )
 >  b (the character b)
 >  a (the character a)
 >  r (the character r).
diff --git a/base/testfiles-lthooks/lthooks-rollback-args.tlg b/base/testfiles-lthooks/lthooks-rollback-args.tlg
index 92de3ce5..3e708eac 100644
--- a/base/testfiles-lthooks/lthooks-rollback-args.tlg
+++ b/base/testfiles-lthooks/lthooks-rollback-args.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/github-0479-often.luatex.tlg b/base/testfiles/github-0479-often.luatex.tlg
index 2026ad5d..c257b3a2 100644
--- a/base/testfiles/github-0479-often.luatex.tlg
+++ b/base/testfiles/github-0479-often.luatex.tlg
@@ -124,6 +124,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/github-0479-often.tlg b/base/testfiles/github-0479-often.tlg
index 755efa3a..a937f058 100644
--- a/base/testfiles/github-0479-often.tlg
+++ b/base/testfiles/github-0479-often.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/github-0479-often.xetex.tlg b/base/testfiles/github-0479-often.xetex.tlg
index edccf724..1f862c87 100644
--- a/base/testfiles/github-0479-often.xetex.tlg
+++ b/base/testfiles/github-0479-often.xetex.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
index 98dacb33..056d9669 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
@@ -106,6 +106,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
@@ -891,6 +893,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
index 747eaae4..92fdeed9 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
@@ -100,6 +100,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
@@ -875,6 +877,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
index 2ad1eec6..2dc20c5e 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
@@ -100,6 +100,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
@@ -884,6 +886,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.luatex.tlg
index 19201dbf..7103343f 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.luatex.tlg
@@ -124,6 +124,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.tlg
index f03e7ba6..87e70989 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.xetex.tlg
index 51c2cc25..8e667f55 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2020-10-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2020-10-01.xetex.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.luatex.tlg
index 4741cb13..3f36cf7d 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.luatex.tlg
@@ -125,6 +125,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.tlg
index 8bf3acd3..3dae460f 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.xetex.tlg
index 1cd7ab7e..6fbda734 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-06-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-06-01.xetex.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.luatex.tlg
index 3f8d981e..38580cc6 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.luatex.tlg
@@ -125,6 +125,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.tlg
index 3bd91df1..943ca358 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.tlg
@@ -114,6 +114,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.xetex.tlg
index b6bf4d14..a95af2a3 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2021-11-15.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2021-11-15.xetex.tlg
@@ -114,6 +114,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.luatex.tlg
index 7687601a..390ba5e8 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.luatex.tlg
@@ -126,6 +126,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.tlg
index 96b6076e..65367901 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.tlg
@@ -115,6 +115,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.xetex.tlg
index 4cfea726..084597ac 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-06-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-06-01.xetex.tlg
@@ -115,6 +115,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.luatex.tlg
index 706ad4c5..aa62e46c 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.luatex.tlg
@@ -126,6 +126,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.tlg
index a678af27..a3f349cc 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.tlg
@@ -115,6 +115,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.xetex.tlg
index c24bb5be..1c24524a 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2022-11-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2022-11-01.xetex.tlg
@@ -115,6 +115,8 @@ Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.luatex.tlg
index 1ff6f7f0..65b5aa83 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.luatex.tlg
@@ -126,6 +126,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.tlg
index 714ef79e..c9031ded 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.tlg
@@ -115,6 +115,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.xetex.tlg
index 099f1cbf..60447ba8 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-06-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-06-01.xetex.tlg
@@ -115,6 +115,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.luatex.tlg
index 52a0698d..4dd15443 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.luatex.tlg
@@ -126,6 +126,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.tlg
index 1010643e..cd6c2c19 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.tlg
@@ -115,6 +115,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.xetex.tlg
index f918c112..c505b1de 100644
--- a/base/testfiles/tlb-latexrelease-rollback-2023-11-01.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-2023-11-01.xetex.tlg
@@ -115,6 +115,8 @@ Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Already applied: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Applying: [....-..-..] Testing for empty or blank on input line ....
 Already applied: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.luatex.tlg b/base/testfiles/tlb-rollback-004-often.luatex.tlg
index be94fcc0..42cc5a73 100644
--- a/base/testfiles/tlb-rollback-004-often.luatex.tlg
+++ b/base/testfiles/tlb-rollback-004-often.luatex.tlg
@@ -125,6 +125,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.tlg b/base/testfiles/tlb-rollback-004-often.tlg
index 95791d57..c86dc425 100644
--- a/base/testfiles/tlb-rollback-004-often.tlg
+++ b/base/testfiles/tlb-rollback-004-often.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.xetex.tlg b/base/testfiles/tlb-rollback-004-often.xetex.tlg
index 44de3ca2..88d041a1 100644
--- a/base/testfiles/tlb-rollback-004-often.xetex.tlg
+++ b/base/testfiles/tlb-rollback-004-often.xetex.tlg
@@ -114,6 +114,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Applying: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-005.luatex.tlg b/base/testfiles/tlb-rollback-005.luatex.tlg
index d0263e4e..488dcae7 100644
--- a/base/testfiles/tlb-rollback-005.luatex.tlg
+++ b/base/testfiles/tlb-rollback-005.luatex.tlg
@@ -128,6 +128,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-005.tlg b/base/testfiles/tlb-rollback-005.tlg
index 7aa312c4..0d5e5ca3 100644
--- a/base/testfiles/tlb-rollback-005.tlg
+++ b/base/testfiles/tlb-rollback-005.tlg
@@ -118,6 +118,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/base/testfiles/tlb-rollback-005.xetex.tlg b/base/testfiles/tlb-rollback-005.xetex.tlg
index a3dff2cc..000838b5 100644
--- a/base/testfiles/tlb-rollback-005.xetex.tlg
+++ b/base/testfiles/tlb-rollback-005.xetex.tlg
@@ -118,6 +118,8 @@ Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Skipping: [....-..-..] Support \ShowCommand in ltcmd on input line ....
 Applying: [....-..-..] Support \ShowCommand in ltcmd on input line ....
+Skipping: [....-..-..] Endlines as \obeyedline  on input line ....
+Applying: [....-..-..] Endlines as \obeyedline  on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Testing for empty or blank on input line ....
 Skipping: [....-..-..] Document command parser on input line ....
diff --git a/texmf/tex/latex/l3kernel/l3doc.cls b/texmf/tex/latex/l3kernel/l3doc.cls
index c91ab014..dfdf39cb 100644
--- a/texmf/tex/latex/l3kernel/l3doc.cls
+++ b/texmf/tex/latex/l3kernel/l3doc.cls
@@ -798,6 +798,7 @@
       {
         \tl_remove_all:Ne \l__codedoc_tmpa_tl
           { \iow_char:N \^^M \c_percent_str }
+        \tl_remove_all:Nx \l__codedoc_tmpa_tl { \token_to_str:N \obeyedline \c_space_tl \c_percent_str }
         \tl_remove_all:Ne \l__codedoc_tmpa_tl { \tl_to_str:n { ^ ^ A } }
         \tl_remove_all:Ne \l__codedoc_tmpa_tl { \iow_char:N \^^I }
         \tl_remove_all:Ne \l__codedoc_tmpa_tl { \iow_char:N \^^M }





More information about the latex3-commits mailing list.