[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: Gh962 et al dev (#968) (8f886d40)
GitHub
noreply at github.com
Wed Nov 30 13:41:49 CET 2022
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/8f886d40ef3b3bddd198c26212111976a4538910
>---------------------------------------------------------------
commit 8f886d40ef3b3bddd198c26212111976a4538910
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Wed Nov 30 13:41:49 2022 +0100
Gh962 et al dev (#968)
* Update expl3 to 2022-11-02
* hotfix for #962
* hotfix for #967
* news entry
* fix typo
* use a private register instead of a group
* also alter vspace handling for calc
Co-authored-by: Joseph Wright <joseph.wright at morningstar2.co.uk>
>---------------------------------------------------------------
8f886d40ef3b3bddd198c26212111976a4538910
base/changes.txt | 22 ++++
base/doc/ltnews37.tex | 14 +++
base/ltspace.dtx | 16 ++-
base/ltxdoc.dtx | 11 +-
base/testfiles/github-0962b.luatex.tlg | 211 +++++++++++++++++++++++++++++++++
base/testfiles/github-0962b.lvt | 38 ++++++
base/testfiles/github-0962b.tlg | 189 +++++++++++++++++++++++++++++
base/testfiles/github-0967.lvt | 32 +++++
base/testfiles/github-0967.tlg | 9 ++
9 files changed, 535 insertions(+), 7 deletions(-)
diff --git a/base/changes.txt b/base/changes.txt
index e2cddb92..fb1cc8e9 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -56,6 +56,28 @@ All changes above are only part of the development branch for the next release.
* doc.dtx: correctly handle \<space> and allow it to be excluded
from the index (gh/943)
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2022-11-01 PL1 Release
+#########################
+
+2022-11-28 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltspace.dtx (subsection{Horizontal space (and breaks)}):
+ We use a private register instead of a group with \hspace in case it
+ starts the paragraph.
+ Otherwise \everypar and friends will be executed inside a group (gh/967)
+
+2022-11-28 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltxdoc.dtx:
+ Revert using \detokenize in \cs (gh/962)
+ Eventually we will need to sync with the code in l3doc but for now
+ we stay with the simpler definition from doc.sty.
+
#########################
# 2022-11-01 Release
diff --git a/base/doc/ltnews37.tex b/base/doc/ltnews37.tex
index a8b5214c..4ce8fccc 100644
--- a/base/doc/ltnews37.tex
+++ b/base/doc/ltnews37.tex
@@ -304,6 +304,20 @@ eventually be moved into \pkg{unicode-math}.
\githubissue{820}
+\subsection{A fix for \cs{hspace}}
+
+The change to \cs{hspace}, done in 2020 to make it \pkg{calc} aware,
+had the unfortunate side effect that starting a paragraph with
+\cs{hspace} would result in the execution of \cs{everypar} inside a
+group (i.e., any local changes would immediately be revoked, breaking,
+for example, \pkg{wrapfig} in that special situation).
+%
+This got fixed with the 2022-11 PL1 hotfix, so was already corrected in
+the previous release, but only now documented in a newletter.
+%
+\githubissue{967}
+
+
\section{Changes to packages in the \pkg{amsmath} category}
diff --git a/base/ltspace.dtx b/base/ltspace.dtx
index feb82730..30bda278 100644
--- a/base/ltspace.dtx
+++ b/base/ltspace.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2020/05/06 v1.3n LaTeX Kernel (spacing)]
+ [2022/11/28 v1.3o LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -438,12 +438,13 @@
% \cs{setlength}. This way the \texttt{calc} package can operate on
% the argument value.
% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \changes{v1.3o}{2022/11/28}{Support calc syntax without a group (gh/967)}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\@vspace at calcify}{Add calc support}%
-\def\@vspace at calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
+\def\@vspace at calcify#1{\setlength\sp at ce@skip{#1}\vskip\sp at ce@skip}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
@@ -1261,12 +1262,21 @@
% {(RmS) Removed superfluous \cs{leavevmode} in \cs{@hspace} and
% \cs{@hspacer}, as suggested by CAR.}
% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \changes{v1.3o}{2022/11/28}{Support calc syntax correctly (gh/967)}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\@hspace}{Support calc with \hspace}%
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+% \end{macrocode}
+% We use a private register to calculate the space (if \pkg{calc} is used). Previously
+% we used a group but that results in
+% \cs{everypar} etc.\ being executed inside the group if the \cs{hspace} starts a paragraph.
+% This is a bug fix so
+% we do not provide rollback to the incorrect intermediate version.
+% \begin{macrocode}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
diff --git a/base/ltxdoc.dtx b/base/ltxdoc.dtx
index 46c324c5..6863349b 100644
--- a/base/ltxdoc.dtx
+++ b/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2022/06/22 v2.1h Standard LaTeX documentation class]
+%<class> [2022/06/22 v2.1i Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -633,12 +633,15 @@ Bug reports can be opened (category \texttt{#1}) at\\%
%
% \changes{v2.1f}{2022/06/03}{define \cs{pkg} and other commands}
% \changes{v2.1f}{2022/06/03}{allow \_ in macro names}
-% Some feaures from l3doc.cls
+% Some features from l3doc.cls
% \changes{v2.1g}{2022/06/14}{define \cs{pkg} but delay until begin document}
+% \changes{v2.1i}{2022/11/28}{Revert 2.1f and not use \cs{detokenize} for now (gh/962)}
+% Eventually, \cs{cs} should get the definition from \pkg{l3doc} but for now we
+% revert to the simple one from \pkg{doc}.
% \begin{macrocode}
-\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
+%\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}% -- def in doc.sty
\AtBeginDocument{%
- \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
+% \renewcommand\PrintMacroName[1]{\MacroFont\string #1\ }% -- def in doc.sty
% \end{macrocode}
% We provide those delated in case somebody has loaded \texttt{csquotes}
% or makes some definitions in the preamble.
diff --git a/base/testfiles/github-0962b.luatex.tlg b/base/testfiles/github-0962b.luatex.tlg
new file mode 100644
index 00000000..3d50d3f4
--- /dev/null
+++ b/base/testfiles/github-0962b.luatex.tlg
@@ -0,0 +1,211 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+-> The hook 'begindocument':
+> Code chunks:
+> doc -> \catcode `\^^A=14\relax \catcode `\^^X=14\relax \let \macro at font \MacroFont
+> ltxdoc -> \MakeShortVerb {\|}\providecommand \LuaTeX {Lua\TeX } \providecommand \cls {\textsf } \providecommand \pkg {\textsf } \providecommand \enquote [1]{``##1''} \providecommand \url {\texttt }
+> Document-level (top-level) code (executed last):
+> ---
+> Extra code for next invocation:
+> ---
+> Rules:
+> ---
+> Execution order:
+> doc, ltxdoc.
+<recently read> }
+l. ...\ShowHook{begindocument}
+> \PrintMacroName=macro:
+#1->{\MacroFont \string #1}.
+<argument> \PrintMacroName
+l. ...\ShowCommand\PrintMacroName
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <9> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <6> on input line ....
+Completed box being shipped out [1]
+\vbox(682.0+0.0)x428.0, direction TLT
+.\glue 17.0
+.\vbox(665.0+0.0)x355.0, shifted 73.0, direction TLT
+..\vbox(12.0+0.0)x355.0, glue set 12.0fil, direction TLT
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x355.0, direction TLT
+....\hbox(0.0+0.0)x355.0, direction TLT
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(598.0+0.0)x355.0, glue set 530.9433fil, direction TLT
+...\write-{}
+...\glue(\topskip) 3.05556
+...\hbox(6.94444+0.8333)x355.0, glue set 315.66687fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x15.0, direction TLT
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 \
+....\kern0.0 (italic)
+....\glue 3.33333 plus 1.66666 minus 1.11111
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 \
+....\kern0.0 (italic)
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 3.6667
+...\hbox(7.5+2.5)x355.0, glue set 245.72697fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x15.0, direction TLT
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 e
+....\OT1/cmtt/m/n/10 n
+....\OT1/cmtt/m/n/10 d
+....\mathon
+....\OMS/cmsy/m/n/10 h
+....\mathoff
+....\OT1/cmtt/m/it/10 e
+....\OT1/cmtt/m/it/10 n
+....\OT1/cmtt/m/it/10 v
+....\kern1.73611 (italic)
+....\mathon
+....\OMS/cmsy/m/n/10 i
+....\mathoff
+....\glue 3.33333 plus 1.66666 minus 1.11111
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 e
+....\OT1/cmtt/m/n/10 n
+....\OT1/cmtt/m/n/10 d
+....\kern0.0 (italic)
+....\mathon
+....\OMS/cmsy/m/n/10 h
+....\mathoff
+....\OT1/cmr/m/it/10 e
+....\OT1/cmr/m/it/10 n
+....\OT1/cmr/m/it/10 v
+....\kern1.07637 (italic)
+....\mathon
+....\OMS/cmsy/m/n/10 i
+....\mathoff
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 2.55556
+...\hbox(6.94444+0.8333)x355.0, glue set 279.94055fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x15.0, direction TLT
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 @
+....\OT1/cmtt/m/n/10 @
+....\kern0.62996
+....\vbox(0.4+0.0)x3.15, direction TLT
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 f
+....\OT1/cmtt/m/n/10 o
+....\OT1/cmtt/m/n/10 o
+....\kern0.62996
+....\vbox(0.4+0.0)x3.15, direction TLT
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 b
+....\OT1/cmtt/m/n/10 a
+....\OT1/cmtt/m/n/10 r
+....\OT1/cmtt/m/n/10 :
+....\kern0.0 (italic)
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue 5.0 plus 3.2 minus 2.0
+...\penalty 0
+...\glue(\parskip) 0.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 3.4167
+...\hbox(6.75+2.25)x355.0, glue set 279.04904fil, direction TLT
+....\glue(\leftskip) 10.66672
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x0.0, direction TLT
+....\hbox(4.51111+0.0)x0.0, glue set - 6.68059fil, direction TLT
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\OT1/cmr/m/n/7 1
+.....\glue(\spaceskip) 2.69446 plus 1.29167 minus 0.86111
+.....\glue 0.0
+....\mathon
+....\OMS/cmsy/m/n/9 h
+....\hbox(6.25+0.0)x58.08984, direction TLT
+.....\OT1/cmss/m/n/9 @
+.....\OT1/cmss/m/n/9 @
+.....\OT1/cmss/m/n/9 =
+.....\OT1/cmss/m/n/9 M
+.....\OT1/cmss/m/n/9 O
+.....\OT1/cmss/m/n/9 D
+.....\OT1/cmss/m/n/9 U
+.....\OT1/cmss/m/n/9 L
+.....\OT1/cmss/m/n/9 E
+....\OMS/cmsy/m/n/9 i
+....\mathoff
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 0
+...\penalty -51
+...\glue 5.0 plus 2.2 minus 2.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 2.80556
+...\hbox(6.94444+0.8333)x355.0, glue set 279.94055fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x15.0, direction TLT
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 @
+....\OT1/cmtt/m/n/10 @
+....\kern0.62996
+....\vbox(0.4+0.0)x3.15, direction TLT
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 f
+....\OT1/cmtt/m/n/10 o
+....\OT1/cmtt/m/n/10 o
+....\kern0.62996
+....\vbox(0.4+0.0)x3.15, direction TLT
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 b
+....\OT1/cmtt/m/n/10 a
+....\OT1/cmtt/m/n/10 r
+....\OT1/cmtt/m/n/10 :
+....\kern0.0 (italic)
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue -0.8333
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x355.0, direction TLT
+...\hbox(6.44444+0.0)x355.0, glue set 175.0fil, direction TLT
+....\glue 0.0 plus 1.0fil
+....\OT1/cmr/m/n/10 1
+....\glue 0.0 plus 1.0fil
+(github-0962b.aux)
diff --git a/base/testfiles/github-0962b.lvt b/base/testfiles/github-0962b.lvt
new file mode 100644
index 00000000..6d02d0c1
--- /dev/null
+++ b/base/testfiles/github-0962b.lvt
@@ -0,0 +1,38 @@
+
+
+
+\PassOptionsToPackage{nohyperref,nomulticol}{doc}
+
+\documentclass{ltxdoc}
+
+\input{test2e}
+
+\showoutput
+
+\START
+
+\ShowHook{begindocument}
+
+\OMIT
+\begin{document}
+\TIMO
+
+\ShowCommand\PrintMacroName
+
+\cs{\bslash} \cmd\\
+
+\cs{end\meta{env}} \cmd\end\meta{env}
+
+% but those do not work and need \_ instead of _ ...
+
+\cs{@@\_foo\_bar:}
+
+\MakePercentIgnore
+
+% \begin{macrocode}
+%<@@=MODULE>
+% \end{macrocode}
+
+\cs{@@\_foo\_bar:}
+
+\end{document}
diff --git a/base/testfiles/github-0962b.tlg b/base/testfiles/github-0962b.tlg
new file mode 100644
index 00000000..261b9fa8
--- /dev/null
+++ b/base/testfiles/github-0962b.tlg
@@ -0,0 +1,189 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+-> The hook 'begindocument':
+> Code chunks:
+> doc -> \catcode `\^^A=14\relax \catcode `\^^X=14\relax \let \macro at font \MacroFont
+> ltxdoc -> \MakeShortVerb {\|}\providecommand \LuaTeX {Lua\TeX } \providecommand \cls {\textsf } \providecommand \pkg {\textsf } \providecommand \enquote [1]{``##1''} \providecommand \url {\texttt }
+> Document-level (top-level) code (executed last):
+> ---
+> Extra code for next invocation:
+> ---
+> Rules:
+> ---
+> Execution order:
+> doc, ltxdoc.
+<recently read> }
+l. ...\ShowHook{begindocument}
+> \PrintMacroName=macro:
+#1->{\MacroFont \string #1}.
+<argument> \PrintMacroName
+l. ...\ShowCommand\PrintMacroName
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <9> on input line ....
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <6> on input line ....
+Completed box being shipped out [1]
+\vbox(682.0+0.0)x428.0
+.\glue 17.0
+.\vbox(665.0+0.0)x355.0, shifted 73.0
+..\vbox(12.0+0.0)x355.0, glue set 12.0fil
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x355.0
+....\hbox(0.0+0.0)x355.0
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(598.0+0.0)x355.0, glue set 530.94328fil
+...\write-{}
+...\glue(\topskip) 3.05556
+...\hbox(6.94444+0.8333)x355.0, glue set 315.66685fil
+....\hbox(0.0+0.0)x15.0
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 \
+....\kern 0.0
+....\glue 3.33333 plus 1.66666 minus 1.11111
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 \
+....\kern 0.0
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 3.6667
+...\hbox(7.5+2.5)x355.0, glue set 245.72697fil
+....\hbox(0.0+0.0)x15.0
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 e
+....\OT1/cmtt/m/n/10 n
+....\OT1/cmtt/m/n/10 d
+....\mathon
+....\OMS/cmsy/m/n/10 h
+....\mathoff
+....\setlanguage1 (hyphenmin 2,3)
+....\OT1/cmtt/m/it/10 e
+....\OT1/cmtt/m/it/10 n
+....\OT1/cmtt/m/it/10 v
+....\kern 1.73611
+....\mathon
+....\OMS/cmsy/m/n/10 i
+....\mathoff
+....\glue 3.33333 plus 1.66666 minus 1.11111
+....\setlanguage0 (hyphenmin 2,3)
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 e
+....\OT1/cmtt/m/n/10 n
+....\OT1/cmtt/m/n/10 d
+....\kern 0.0
+....\mathon
+....\OMS/cmsy/m/n/10 h
+....\mathoff
+....\setlanguage1 (hyphenmin 2,3)
+....\OT1/cmr/m/it/10 e
+....\OT1/cmr/m/it/10 n
+....\OT1/cmr/m/it/10 v
+....\kern 1.07637
+....\mathon
+....\OMS/cmsy/m/n/10 i
+....\mathoff
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 2.55556
+...\hbox(6.94444+0.8333)x355.0, glue set 279.94055fil
+....\hbox(0.0+0.0)x15.0
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 @
+....\OT1/cmtt/m/n/10 @
+....\kern 0.62996
+....\vbox(0.4+0.0)x3.15
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 f
+....\OT1/cmtt/m/n/10 o
+....\OT1/cmtt/m/n/10 o
+....\kern 0.62996
+....\vbox(0.4+0.0)x3.15
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 b
+....\OT1/cmtt/m/n/10 a
+....\OT1/cmtt/m/n/10 r
+....\OT1/cmtt/m/n/10 :
+....\kern 0.0
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue 5.0 plus 3.2 minus 2.0
+...\penalty 0
+...\glue(\parskip) 0.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 3.4167
+...\hbox(6.75+2.25)x355.0, glue set 279.04904fil
+....\glue(\leftskip) 10.66672
+....\hbox(0.0+0.0)x0.0
+....\hbox(4.51111+0.0)x0.0, glue set - 6.68059fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\OT1/cmr/m/n/7 1
+.....\glue 2.69446 plus 1.29167 minus 0.86111
+.....\glue 0.0
+....\mathon
+....\OMS/cmsy/m/n/9 h
+....\hbox(6.25+0.0)x58.08984
+.....\OT1/cmss/m/n/9 @
+.....\OT1/cmss/m/n/9 @
+.....\OT1/cmss/m/n/9 =
+.....\OT1/cmss/m/n/9 M
+.....\OT1/cmss/m/n/9 O
+.....\OT1/cmss/m/n/9 D
+.....\OT1/cmss/m/n/9 U
+.....\OT1/cmss/m/n/9 L
+.....\OT1/cmss/m/n/9 E
+....\OMS/cmsy/m/n/9 i
+....\mathoff
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 0
+...\penalty -51
+...\glue 5.0 plus 2.2 minus 2.0
+...\glue(\parskip) 0.0 plus 1.0
+...\glue(\parskip) 0.0
+...\glue(\baselineskip) 2.80556
+...\hbox(6.94444+0.8333)x355.0, glue set 279.94055fil
+....\hbox(0.0+0.0)x15.0
+....\OT1/cmtt/m/n/10 \
+....\OT1/cmtt/m/n/10 @
+....\OT1/cmtt/m/n/10 @
+....\kern 0.62996
+....\vbox(0.4+0.0)x3.15
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 f
+....\OT1/cmtt/m/n/10 o
+....\OT1/cmtt/m/n/10 o
+....\kern 0.62996
+....\vbox(0.4+0.0)x3.15
+.....\rule(0.4+0.0)x3.15
+....\OT1/cmtt/m/n/10 b
+....\OT1/cmtt/m/n/10 a
+....\OT1/cmtt/m/n/10 r
+....\OT1/cmtt/m/n/10 :
+....\kern 0.0
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\glue -0.8333
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x355.0
+...\hbox(6.44444+0.0)x355.0, glue set 175.0fil
+....\glue 0.0 plus 1.0fil
+....\OT1/cmr/m/n/10 1
+....\glue 0.0 plus 1.0fil
+(github-0962b.aux)
diff --git a/base/testfiles/github-0967.lvt b/base/testfiles/github-0967.lvt
new file mode 100644
index 00000000..c9dd79e0
--- /dev/null
+++ b/base/testfiles/github-0967.lvt
@@ -0,0 +1,32 @@
+
+\documentclass{article}
+
+\input{test2e}
+
+\newcommand\mytest[1]{\typeout{original definition: #1}}
+
+\AddToHook{para/before}{\renewcommand\mytest[1]{\typeout{before para definition: #1}}}
+\AddToHook{para/end}{\renewcommand\mytest[1]{\typeout{original definition: #1}}}
+
+\begin{document}
+
+\START
+
+\mytest{-}
+
+aaaa
+
+\mytest{-}
+
+bb\mytest{1}bb
+
+\mytest{-}
+
+
+\hspace{5pt} cc\mytest{2}cc
+
+\mytest{-}
+
+\hspace*{5pt} dd\mytest{3}dd
+
+\END
diff --git a/base/testfiles/github-0967.tlg b/base/testfiles/github-0967.tlg
new file mode 100644
index 00000000..c2ed46de
--- /dev/null
+++ b/base/testfiles/github-0967.tlg
@@ -0,0 +1,9 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+original definition: -
+original definition: -
+before para definition: 1
+original definition: -
+before para definition: 2
+original definition: -
+before para definition: 3
More information about the latex3-commits
mailing list.