texlive[65180] Master/texmf-dist: latex-base-dev (3dec22)

commits+karl at tug.org commits+karl at tug.org
Sat Dec 3 21:59:29 CET 2022


Revision: 65180
          http://tug.org/svn/texlive?view=revision&revision=65180
Author:   karl
Date:     2022-12-03 21:59:29 +0100 (Sat, 03 Dec 2022)
Log Message:
-----------
latex-base-dev (3dec22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex-dev/base/README.md
    trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
    trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lppl.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide-historic.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
    trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
    trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2022-12-03 20:59:29 UTC (rev 65180)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2023-05-01 pre-release 0
+Release 2023-06-01 pre-release 1
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2022-12-03 20:59:29 UTC (rev 65180)
@@ -8,9 +8,84 @@
 
 ================================================================================
 All changes above are only part of the development branch for the next release.
-================================================================================	
+================================================================================
 
+
+2022-11-24  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltdefns.dtx (subsubsection{Copying robust commands}):
+	Added \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy (gh/963)
+	Also added \ShowEnvironment.
+
+2022-11-16  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltclass.dtx:
+	Introduce key 'nowarn' on filecontents (gh/958)
+	Do not show "current dir" in message (gh/917)
+
+2022-11-14  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* latexrelease.dtx (subsection{Ignoring \texttt{\string_new} errors when rolling back}):
+	Silence \cs{NewMarkClass} in rollback (gh/955)
+
+2022-11-13  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* doc.dtx:
+	Redefinitions of \verb removed as no longer needed (gh/953)
+
+	Redefinitions of \@verbatim changed to match the kernel
+	definition (gh/953)
+
+2022-11-08  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltshipout.dtx:
+	Add a shipout hook to be executed just before we
+	actually do the shipout (gh/920)
+
+2022-11-07  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltvers.dtx (section{Version Identification}):
+	Store release data in \LaTeXReleaseInfo for reuse at the end of
+	the .log file (gh/944)
+
+	* ltmiscen.dtx (subsection{Environments}): Add to a hook in
+	\end{document} to (re)display the LaTeX release information (gh/944)
+
+2022-11-03  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* 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-30  Joseph Wright  <Joseph.Wright at latex-project.org>
+
+	* ltfinal.dtx:
+	Set \oe and \OE equal in case changing to allow detection
+	by babel
+
+#########################
 # 2022-11-01 Release
 #########################
 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lppl.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex	2022-12-03 20:59:29 UTC (rev 65180)
@@ -40,7 +40,7 @@
 \ProvidesFile{ltnews.tex}%
   [2022/06/10 v1.4e Master file for ltnews*.tex (LaTeX Project)]
 
-\providecommand*{\lastissue}{36}
+\providecommand*{\lastissue}{37}
 
 \InputIfFileExists{ltnews-lastissue.cfg}{}{}
 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex	2022-12-03 20:59:29 UTC (rev 65180)
@@ -262,10 +262,11 @@
 \bfseries
 \textsc{\textsl{Bold Slanted Small Caps}}; \textsc{\textit{Bold Italic Small Caps}}}.
 
-Given that the Computer Modern fonts in \texttt{T1} do not have real italic small caps but only
-slanted small caps, the latter is substituted for the former, which is
-why above both work but you see no difference between the two (and in the log you get a
-substitution warning for the \cs{textit}\cs{textsc} shape combination).
+Given that the Computer Modern fonts in \texttt{T1} do not have real
+italic small caps but only slanted small caps, the latter is
+substituted for the former. This is why both work in the above, but
+there is no difference between the two (and you get a substitution
+warning for the \cs{textit}\cs{textsc} shape combination).
 %
 \githubissue{782}
 

Added: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf	2022-12-03 20:59:29 UTC (rev 65180)

Property changes on: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex	2022-12-03 20:59:29 UTC (rev 65180)
@@ -0,0 +1,378 @@
+% \iffalse meta-comment
+%
+% Copyright 2021-2023
+% The LaTeX Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -——————————————
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews37.tex
+%
+% This is issue 37 of LaTeX News.
+
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+
+\documentclass{ltnews}
+
+%%  Maybe needed only for Chris' inadequate system:
+\providecommand\Dash {\unskip \textemdash}
+
+%% NOTE:  Chris' preferred hyphens!
+%%\showhyphens{parameters}
+%%  \hyphenation{because parameters parameter}
+
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\usepackage{csquotes}
+\usepackage{multicol}
+\usepackage{color}
+
+\providecommand\hook[1]{\texttt{#1}}
+
+\providecommand\meta[1]{$\langle$\textrm{\itshape#1}$\rangle$}
+\providecommand\option[1]{\texttt{#1}}
+\providecommand\env[1]{\texttt{#1}}
+\providecommand\Arg[1]{\texttt\{\meta{#1}\texttt\}}
+
+
+\providecommand\eTeX{\hologo{eTeX}}
+\providecommand\XeTeX{\hologo{XeTeX}}
+\providecommand\LuaTeX{\hologo{LuaTeX}}
+\providecommand\pdfTeX{\hologo{pdfTeX}}
+\providecommand\MiKTeX{\hologo{MiKTeX}}
+\providecommand\CTAN{\textsc{ctan}}
+\providecommand\TL{\TeX\,Live}
+\providecommand\githubissue[2][]{\ifhmode\unskip\fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(%
+       \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}%
+          	    {github issue#1 #2}%
+           )}%
+     \par\smallskip}
+%% But Chris has to mostly disable \href for his TEXPAD app:
+%%  \def\href #1{}  % Only For Chris' deficient TeX engine
+
+% simple solution right now (just link to the first issue if there are more)
+\def\getfirstgithubissue#1 #2\relax{#1}
+
+\providecommand\sxissue[1]{\ifhmode\unskip
+     \else
+       % githubissue preceding
+       \vskip-\smallskipamount
+       \vskip-\parskip
+     \fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
+
+\providecommand\gnatsissue[2]{\ifhmode\unskip\fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(%
+       \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F\getfirstgithubissue#2 \relax}%
+          	    {gnats issue #1/#2}%
+           )}%
+     \par}
+
+\let\cls\pkg
+\providecommand\env[1]{\texttt{#1}}
+\providecommand\acro[1]{\textsc{#1}}
+
+\vbadness=1400  % accept slightly empty columns
+
+
+\makeatletter
+% maybe not the greatest design but normally we wouldn't have subsubsections
+\renewcommand{\subsubsection}{%
+   \@startsection      {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}%
+      {-1em}{\@subheadingfont\colonize}%
+}
+\providecommand\colonize[1]{#1:}
+\makeatother
+
+\let\finalvspace\vspace          % for document layout fixes
+
+% Undo ltnews's \verbatim at font with active < and >
+\makeatletter
+\def\verbatim at font{%
+  \normalsize\ttfamily}
+\makeatletter
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\tubcommand[1]{}
+\tubcommand{\input{tubltmac}}
+
+\publicationmonth{June}
+\publicationyear{2023  --- DRAFT version for upcoming release}
+
+\publicationissue{37}
+
+\begin{document}
+
+\tubcommand{\addtolength\textheight{4.2pc}}   % only for TUB
+
+\maketitle
+{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000
+\tableofcontents}
+
+\setlength\rightskip{0pt plus 3em}
+
+
+\medskip
+
+
+\section{Introduction}
+
+
+\section{New or improved commands}
+
+
+
+\subsection{Providing copy and show functions for environments}
+
+To copy a command definition we have introduced \cs{NewCommandCopy} in
+2022.  This even allows you to copy commands that consist of several internal
+components, such as robust commands or those with a complex signature.
+To do the same with environments, e.g., to define the environment
+\env{myitemize} to be equivalent to \env{itemize}, you can now write
+\begin{verbatim}
+  \NewEnvironmentCopy{myitemize}{itemize}
+\end{verbatim}
+There are also \cs{Renew...}\ and \cs{Declare...}, which may be useful
+depending on the circumstances.
+
+In addition, we offer a \cs{ShowEnvironment} command, which displays the
+\cs{begin} and \cs{end} code of the environment passed as an
+argument. E.g., \verb=\ShowEnvironment{center}= results in the
+following output:
+\begin{verbatim}
+  > \begin{center}=environment:
+  > ->\trivlist \centering \item \relax .
+  <recently read> }
+  l. ...\ShowEnvironment{center}
+  > \end{center}:
+  > ->\endtrivlist .
+  <recently read> }
+  l. ...\ShowEnvironment{center}
+\end{verbatim}
+%
+\githubissue{963}
+
+
+
+
+\section{Code improvements}
+
+\subsection{\pkg{doc}: Index \texttt{\textbackslash\textvisiblespace} correctly}
+
+\emph{to write}
+%
+\githubissue{943}
+
+
+\subsection{\pkg{doc}: Support the \pkg{upquote} package}
+
+The default quote and backquote characters in typewriter fonts are
+typographical quotes, e.g., the input
+\begin{verbatim}
+   \verb*/`prog 'my input'`/
+\end{verbatim}
+ is rendered as \verb*/`prog 'my input'`/ and not as
+%
+\begingroup              % code to mimic upquote.sty
+\catcode`'=\active
+\catcode``=\active
+\makeatletter
+\g at addto@macro\@noligs
+   {\let'\textquotesingle
+    \let`\textasciigrave
+    \ifx\encodingdefault\upquote at OTone
+    \ifx\ttdefault\upquote at cmtt
+    \def'{\char13 }%
+    \def`{\char18 }%
+    \fi\fi}
+\endgroup
+%
+\verb*/`prog 'my input'`/ as preferred by many programmers.
+
+This can be adjusted, for example, with the \pkg{upquote} package,
+which results in the second output. However, for historical reasons
+\pkg{doc} had its own definition of \cs{verb} and \env{verbatim} and
+as a consequence the two packages did not cooperate.  This has now
+been fixed and loading \pkg{upquote} together with \pkg{doc} has the
+desired effect.
+%
+\githubissue{953}
+
+
+\subsection{New key for \env{filecontents}}
+
+The \env{filecontents} environment warns on the terminal if a file
+gets overwritten even if that is intentional,
+e.g., when you write a temporary file over and over again.  To make
+the warning less noisy in this case we added a new \texttt{nowarn} key
+that redirects the overwriting warning to the transcript file. We
+think that some record of the action is still required to help with
+debugging, thus it is not completely silenced. The warning that
+nothing gets written, because the file aready exists (and the
+\texttt{force} key was not used), is not altered and still shows up on
+the terminal.
+%
+\githubissue{958}
+
+
+
+\subsection{A further hook for shipping out pages}
+
+Since October 2020 the shipout process offers a number of hooks to
+adjust what is happening before, during, and after the
+\cs{shipout}. For example, with the \hook{shipout/before} hook, packages
+can reset code they have altered (e.g., \cs{catcode}s during
+verbatim-like processing) and with \hook{shipout/background} and
+\hook{shipout/foreground} material can be added to the pages.
+Details are given in \cite{37:ltshipout-doc}. However, what was
+missing was a hook that allows a package writer to manipulate the
+completed page (with foreground and background attached) just before
+the actual shipout happens.
+
+For this we now provide the additional hook \hook{shipout}. One
+use case (sometimes needed in print production) is to mirror the
+whole page via \cs{reflectbox} including all the extra data that may
+have been added into the fore- or background.
+%
+\githubissue{920}
+
+
+
+\subsection{Displaying release information in the \texttt{.log}}
+
+\LaTeX{} displays its release information at the very beginning of the
+\LaTeX{} run on the terminal and also writes it to the transcript file
+if that is already opened at this point. While this is normally true,
+it is not the case if the \LaTeX{} run was started passing additional
+\TeX{} code on the command line, e.g.,
+\begin{verbatim}
+pdflatex '\PassOptionsToClass{11pt}{article}
+              \input{myarticle}'
+\end{verbatim}
+In this case the release information is displayed when
+\cs{PassOptionsToClass} is processed but the transcript file is only
+opened when the output file name is known, i.e., after \cs{input} has
+been seen, and as a result the release information is only shown on
+the terminal.
+
+To account for this scenario, we now repeat the release information
+also at the very end of the transcript file where we can be sure that
+it is open and ready to receive material.
+%
+\githubissue{944}
+
+
+
+
+
+\section{Bug fixes}
+
+\subsection{Incompatibility between \pkg{doc} and \pkg{unicode-math}}
+
+The \pkg{unicode-math} package alters the catcode of \verb=|= but does
+not adjust its value for use in \pkg{doc}, with the result that
+\enquote{or} module, i.e., $\langle A | B \rangle$ are displayed in a
+strange way. This is now fixed with some firstaid code that will
+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}
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+\section{Changes to packages in the \pkg{tools} category}
+
+
+%\medskip
+
+\begin{thebibliography}{9}
+
+\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{37:ltshipout-doc} Frank Mittelbach, \LaTeX{}~Project~Team:
+  \emph{The \texttt{\upshape ltshipout} documentation}.\\
+  Run \texttt{texdoc} \texttt{ltshipout-doc} to view.
+
+%\bibitem{37:blueprint} Frank Mittelbach and Chris Rowley:
+%  \emph{\LaTeX{} Tagged PDF \Dash A blueprint for a large project}.\\
+%  \url{https://latex-project.org/publications/indexbyyear/2020/}
+
+%\bibitem{37:source2e}
+%  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+%  \url{https://latex-project.org/help/documentation/}
+
+%\bibitem{37:Lamport}
+%Leslie Lamport.
+%\newblock {\LaTeX}: {A} Document Preparation System: User's Guide and Reference
+%  Manual.
+%\newblock \mbox{Addison}-Wesley, Reading, MA, USA, 2nd edition, 1994.
+%\newblock ISBN 0-201-52983-1.
+%\newblock Reprinted with corrections in 1996.
+%
+%\bibitem{37:ltnews32} \LaTeX{} Project Team:
+%  \emph{\LaTeXe{} news 32}.\\
+%  \url{https://latex-project.org/news/latex2e-news/ltnews32.pdf}
+%
+%\bibitem{37:ltnews34} \LaTeX{} Project Team:
+%  \emph{\LaTeXe{} news 34}.\\
+%  \url{https://latex-project.org/news/latex2e-news/ltnews34.pdf}
+%
+%\bibitem{37:ltnews35} \LaTeX{} Project Team:
+%  \emph{\LaTeXe{} news 35}.\\
+%  \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf}
+%
+%\bibitem{37:fntguide} \LaTeX{} Project Team:
+%  \emph{\LaTeXe{} font selection}.\\
+%  \url{https://latex-project.org/help/documentation/}
+%
+%\bibitem{37:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{}~Project~Team:
+%  \emph{The \texttt{\upshape ltfilehook} documentation}.\\
+%  Run \texttt{texdoc} \texttt{ltfilehook-doc} to view.
+\end{thebibliography}
+
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide-historic.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex	2022-12-03 20:59:29 UTC (rev 65180)
@@ -865,7 +865,7 @@
 
 
 
-\section{Copying and showing (robust) commands}
+\section{Copying and showing (robust) commands and environments}
 
 If you want to (slightly) alter an existing command you may want to
 save the current definition under a new name and then use that in a
@@ -911,9 +911,6 @@
 as explained in
 Section~\ref{sec:preconstructing-csnames}.
 
-
-
-
 \begin{decl}
   |\ShowCommand|       \arg{cmd}
 \end{decl}
@@ -926,7 +923,27 @@
 \cs{NewDocumentCommand}, etc.\ it also gives you detailed information
 about the argument signature.
 
+\begin{decl}
+  |\NewEnvironmentCopy|       \arg{env} \arg{existing-env} \\
+  |\RenewEnvironmentCopy|     \arg{env} \arg{existing-env} \\
+  |\DeclareEnvironmentCopy|   \arg{env} \arg{existing-env}
+\end{decl}
 
+This copies the definition for environment \meta{existing-env} to
+\meta{env} (both the beginning and end code), i.e., it is simply
+applying \cs{NewCommandCopy} twice to the internal commands that
+define an environment, i.e., \cs{}\meta{env} and \cs{end}\meta{env}.
+The differences between \cs{New...}, \cs{Renew...}, and
+\cs{Declare...} are the usual ones.
+
+\begin{decl}
+  |\ShowEnvironment|       \arg{env}
+\end{decl}
+This displays the meaning of the begin end end code for environment \meta{env}.
+
+
+
+
 \section[Preconstructing command names \\ (or otherwise expanding arguments)]
         {Preconstructing command names (or otherwise expanding arguments)}
 \label{sec:preconstructing-csnames}

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -45,7 +45,7 @@
 %<+package>
 %<+package>\ProvidesPackage{doc}
 %<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb>  [2022/07/03 v3.0k
+%<+package|shortvrb>  [2022/11/13 v3.0m
 %<+package|shortvrb>   Standard LaTeX documentation package V3 (FMi)]
 %\catcode`\<=12
 %
@@ -82,6 +82,8 @@
 %  \changes{v1.9a}{1993/12/02}{Upgrade for LaTeX2e}
 %  \changes{v1.9d}{1993/12/20}{Protected changes entry.}
 %  \changes{v1.0p}{1994/05/21}{Use new error commands}
+%  \changes{v3.0m}{2022/11/13}{Redefinitions of \cs{verb} removed as
+%     no longer needed (gh/953)}
 %
 %
 % \hyphenation{make-index}
@@ -1208,7 +1210,7 @@
 % not to exceed this limit when describing the change. The actual
 % entry consists of the \meta{version}, the |\actualchar|, the current
 % macro name, a colon, the |\levelchar|, and, finally, the \meta{text}.
-% The result is a glossaryentry for the \meta{version}, with the name of
+% The result is a glossary entry for the \meta{version}, with the name of
 % the current macro as subitem.  Outside the |macro| environment, the
 % text |\generalname| is used instead of the macro name.  When
 % referring to macros in change descriptions it is conventional to use
@@ -1216,6 +1218,13 @@
 % and using up valuable characters in the entry with old \prg{makeindex}
 % versions.
 %
+% Note that in the history listing, the entry is shown with the page number
+% that corresponds to its place in the source, e.g., general changes put at the
+% very beginning of the file will show up with page number ``1'', change entries
+% placed elsewhere might have different numbers (not necessarily always
+% very useful unless you are careful).
+%
+%
 % \changes{v1.7a}{1992/02/26}{Description of \cs{RecordChanges} etc.
 % added
 % to interface section.} \DescribeInterfaceMacro\RecordChanges To cause the
@@ -1824,8 +1833,8 @@
 %        July 1989.
 %    \bibitem{art:docstrip} \textsc{Frank Mittelbach, Denys Duchier and
 %         Johannes Braams}.
-%      \newblock \texttt{docstrip.dtx} (to appear).
-%      \newblock The file is part of the DOC package.
+%      \newblock \texttt{docstrip.dtx}.
+%      \newblock The file is part of core \LaTeX{}.
 %    \bibitem{book:Raspe} \textsc{R. E. Raspe} (*1737, \dag 1797).
 %      \newblock Baron Münchhausens narrative of his marvelous
 %                travels and campaigns in Russia.
@@ -2686,12 +2695,16 @@
 %    first lines are copied literally from \texttt{latex.tex}.
 % \changes{v1.7i}{1992/07/12}{Added \cs{@@par} to clear possible
 %                             \cs{parshape}.}
+%  \changes{v3.0m}{2022/11/13}{Redefinitions of \cs{@verbatim} changed
+%     to match the kernel definition (gh/953)}
 %    \begin{macrocode}
-\def\@verbatim{\trivlist \item[]\if at minipage\else\vskip\parskip\fi
-      \leftskip\@totalleftmargin\rightskip\z@
-      \parindent\z@\parfillskip\@flushglue\parskip\z@
-      \@@par
-      \@tempswafalse
+\def\@verbatim{\trivlist \item\relax
+  \if at minipage\else\vskip\parskip\fi
+  \leftskip\@totalleftmargin\rightskip\z@
+  \parindent\z@\parfillskip\@flushglue\parskip\z@
+  \language\l at nohyphenation
+  \@@par
+  \@tempswafalse
 %    \end{macrocode}
 %    |\@verbatim| sets |^^M|, the end of line character, to
 %    be equal to |\par|.  This control sequence is redefined
@@ -2699,8 +2712,13 @@
 %    \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to
 %                             \cs{par} from verbatim.sty}
 %    \begin{macrocode}
- \def\par{\if at tempswa\hbox{}\fi\@tempswatrue\@@par
-          \penalty\interlinepenalty
+  \def\par{%
+    \if at tempswa
+      \leavevmode \null \@@par\penalty\interlinepenalty
+    \else
+      \@tempswatrue
+      \ifhmode\@@par\penalty\interlinepenalty\fi
+    \fi    
 %    \end{macrocode}
 %    We add a control sequence |\check at percent| to the definition
 %    of |\par| whose task it is to check for a percent character.
@@ -2713,9 +2731,10 @@
 % \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
 %                           which handles more ligatures.}
 %    \begin{macrocode}
- \obeylines
- \let\do\do at noligs \verbatim at nolig@list
- \let\do\@makeother \dospecials}
+  \let\do\@makeother \dospecials
+  \obeylines \verbatim at font \@noligs
+  \everypar \expandafter{\the\everypar \unpenalty}%
+}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -2744,84 +2763,13 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{imacro}{\verb}
-% \changes{v1.7a}{1992/02/27}{Now warns about newlines (from
-%                           newdoc with `@noligs added).}
-% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX \cs{verb}}
-% We re-define |\verb| to check for newlines in its argument since a
-% missing delimiter is difficult to detect in \DOC{} source.
-% The code is the same as in \texttt{latex.tex} of September 19, 1993.
-% Perhaps there should be a font-changing
-% hook rather than just using |\ttfamily|, but if so it probably should be
-% different from |\MacroFont| since that normally includes |\small|
-% and would look wrong inline.
-% \changes{v1.7a}{1992/02/28}{Added math mode check (from verbatim.sty)}
-%    \begin{macrocode}
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
-  \bgroup \let\do\do at noligs \verbatim at nolig@list
-    \ttfamily \verb at eol@error \let\do\@makeother \dospecials
-    \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-%    \end{macrocode}
-% \end{imacro}
 %
-% \begin{macro}{\verb at balance@group}
-% \begin{macro}{\verb at egroup}
-% \begin{macro}{\verb at eol@error}
-% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb at err} to
-%                   \cs{verb at eol@error}, as in new LaTeX verbatim.}
-%    \begin{macrocode}
-\let\verb at balance@group\@empty
-%    \end{macrocode}
+% In the early versions of the package it also redefined \cs{verb}
+% because that didn't include the useful test for \enquote{newline} in
+% the verbatim text. This is nowadays part of \LaTeX{} so we do not
+% redefine it any longer (the original code is still kept in the file
+% after \cs{endinput} to keep the long history intact).
 %
-%    \begin{macrocode}
-\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begingroup
-  \obeylines%
-  \gdef\verb at eol@error{\obeylines%
-    \def^^M{\verb at egroup\@latex at error{%
-            \noexpand\verb command ended by end of line}\@ehc}}%
-\endgroup
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@sverb}
-% \changes{v1.7a}{1992/02/27}{Added for \cs{verb} change.}
-% \changes{v1.7a}{1992/02/28}{Now same as in verbatim.sty.}
-% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
-%                           which has better error trapping.}
-% See \cite{art:verbatim} for commentary.
-%  \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
-%    \begin{macrocode}
-%\def\@sverb#1{%
-%  \catcode`#1\active  \lccode`\~`#1%
-%  \gdef\verb at balance@group{\verb at egroup
-%     \@latex at error{Illegal use of \noexpand\verb command}\@ehc}%
-%  \aftergroup\verb at balance@group
-%  \lowercase{\let~\verb at egroup}}
-%    \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\verbatim at nolig@list}
-% \begin{macro}{\do at noligs}
-%     These macros replace the old |\@noligs| mechanism by an
-%     extensible version to allow more ligatures to be added.
-%    \begin{macrocode}
-\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
-\def\do at noligs#1{%
-  \catcode`#1\active
-  \begingroup
-     \lccode`\~=`#1\relax
-     \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
 % \begin{tcounter}{\macro at cnt}
 %    \label{page:macro} The \env{macro} environment is implemented as
 %    a \env{trivlist} environment, whereby in order that the macro
@@ -3147,9 +3095,6 @@
 %
 % \begin{macro}{\short at macro}
 %
-% \fmi{this needs cleaning up too, the results in the index are
-% currently wrong for cases like `\cs{ }' and the like.}
-%
 % \changes{v1.5c}{1989/04/27}{Corrected bad bug by putting the
 %                         scan at allowedfalse macro before printing
 %                         the argument.}
@@ -3164,17 +3109,14 @@
 %    done by the |\ifnot at excluded| macro which assumes that the
 %    macro name is saved in |\macro at namepart|.  The character
 %    mustn't be stored with a special category code or exclusion from
-%    the index won't work, so we employ the case-changing trick used
-%    elsewhere.  Since the argument might be an active character,
-%    |\string| is used to normalize it.
+%    the index won't work, so we we use \cs{string} to normalize it
+%    the same way it is done in \cs{DoNotIndex}, i.e. everything ends up catcode 12
+%    except for the space character.
 % \changes{v2.0e}{1998/12/28}{Correctly use the case-changing trick.}
+% \changes{v3.0l}{2022/11/03}{No longer using the case-changing trick.}
 %    \begin{macrocode}
-\begingroup
-\catcode`\&=12
-\gdef\short at macro#1{\begingroup
-   \uccode`\&=\expandafter`\string#1%
-   \uppercase{\def\x{\def\macro at namepart{&}}}%
-   \expandafter\endgroup\x
+\def\short at macro#1{%
+   \edef\macro at namepart{\string#1}%
 %    \end{macrocode}
 %    Any indexing is then delegated to
 %    |\maybe at index@short at macro|. Depending on the actual character seen,
@@ -3197,7 +3139,6 @@
 %    cross-referencing is globally disabled.
 %    \begin{macrocode}
     \scan at allowedtrue }
-\endgroup
 %    \end{macrocode}
 % \end{macro}
 %
@@ -3441,7 +3382,6 @@
 \def \ShowIndexingState {
   \__doc_trace:x{Show~ doc~ indexing~ state:}
   \seq_show:N  \l__doc_donotindex_seq
-%  \tl_analysis_show:N\l__doc_donotindex_seq
   \prop_show:N \g__doc_idxtype_prop
 }
 %    \end{macrocode}
@@ -3637,10 +3577,12 @@
 %  \begin{macro}{\maybe at index@short at macro}
 %  \begin{macro}{\__doc_maybe_index_short:o}
 %    Single character macros are handled similarly but there the
-%    indexing is done by \cs{SpecialShortIndex}.
+%    indexing is done by \cs{SpecialShortIndex} and it is simpler
+%    because we know that the argument contains a string token not letters.
+% \changes{v3.0l}{2022/11/03}{We know the argument expands to a single string token}
 %    \begin{macrocode}
 \cs_new:Npn \__doc_maybe_index_short:o #1 {
-  \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+  \exp_args:No \__doc_maybe_index_aux:nN #1
                                          \SpecialShortIndex
 }
 \cs_set_eq:NN \maybe at index@short at macro \__doc_maybe_index_short:o
@@ -3715,7 +3657,12 @@
           {\cs_to_str:N \^^M } {\def\reserved at a{ \string \space \actualchar }
                                 \def\reserved at b { \space }
                                 \let\reserved at c \@empty                          }
-          { }                  {\def\reserved at a{ \string \space \actualchar }
+%    \end{macrocode}
+%    With the fix for
+%    \verb*=\ = we now have to look for a real space to handle that command sequence.
+% \changes{v3.0l}{2022/11/03}{look for the right token}
+%    \begin{macrocode}
+          { ~ }                {\def\reserved at a{ \string \space \actualchar }
                                 \def\reserved at b { \space }
                                 \let\reserved at c \@empty                          }
           {\c_left_brace_str} { \def\reserved at a{ \bgroup \actualchar }
@@ -6256,7 +6203,90 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+
+% \section{Code no longer used}
+%
+% \begin{imacro}{\verb}
+% \changes{v1.7a}{1992/02/27}{Now warns about newlines (from
+%                           newdoc with `@noligs added).}
+% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX \cs{verb}}
+% We re-define |\verb| to check for newlines in its argument since a
+% missing delimiter is difficult to detect in \DOC{} source.
+% The code is the same as in \texttt{latex.tex} of September 19, 1993.
+% Perhaps there should be a font-changing
+% hook rather than just using |\ttfamily|, but if so it probably should be
+% different from |\MacroFont| since that normally includes |\small|
+% and would look wrong inline.
+% \changes{v1.7a}{1992/02/28}{Added math mode check (from verbatim.sty)}
+%    \begin{macrocode}
+%\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+%  \bgroup \let\do\do at noligs \verbatim at nolig@list
+%    \ttfamily \verb at eol@error \let\do\@makeother \dospecials
+%    \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
+%    \end{macrocode}
+% \end{imacro}
+%
+% \begin{macro}{\verb at balance@group}
+% \begin{macro}{\verb at egroup}
+% \begin{macro}{\verb at eol@error}
+% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb at err} to
+%                   \cs{verb at eol@error}, as in new LaTeX verbatim.}
+%    \begin{macrocode}
+%\let\verb at balance@group\@empty
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\begingroup
+%  \obeylines%
+%  \gdef\verb at eol@error{\obeylines%
+%    \def^^M{\verb at egroup\@latex at error{%
+%            \noexpand\verb command ended by end of line}\@ehc}}%
+%\endgroup
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@sverb}
+% \changes{v1.7a}{1992/02/27}{Added for \cs{verb} change.}
+% \changes{v1.7a}{1992/02/28}{Now same as in verbatim.sty.}
+% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
+%                           which has better error trapping.}
+% See \cite{art:verbatim} for commentary.
+%  \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
+%    \begin{macrocode}
+%\def\@sverb#1{%
+%  \catcode`#1\active  \lccode`\~`#1%
+%  \gdef\verb at balance@group{\verb at egroup
+%     \@latex at error{Illegal use of \noexpand\verb command}\@ehc}%
+%  \aftergroup\verb at balance@group
+%  \lowercase{\let~\verb at egroup}}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\verbatim at nolig@list}
+% \begin{macro}{\do at noligs}
+%     These macros replace the old |\@noligs| mechanism by an
+%     extensible version to allow more ligatures to be added.
+%    \begin{macrocode}
+%\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
+%\def\do at noligs#1{%
+%  \catcode`#1\active
+%  \begingroup
+%     \lccode`\~`#1\relax
+%     \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+
+
 ^^A  Needed for emacs
 ^^A
 ^^A  Local Variables: 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -40,7 +40,7 @@
 %<*latexrelease>
 % \fi
 %         \ProvidesFile{latexrelease.dtx}
-          [2022/02/28 v1.0o LaTeX release emulation and tests
+          [2022/11/14 v1.0p LaTeX release emulation and tests
               (including releases up to \latexreleaseversion)]
 % \iffalse
 %</latexrelease>
@@ -746,8 +746,12 @@
 %
 % Finally, redirect the error thrown by \cs{NewHook} to nowhere so it
 % can be safely reused (the hook isn't redeclared if it already exists).
+% The same happens for \cs{NewMarkClass}.  
+% \changes{v1.0p}{2022/11/14}
+%         {Silence \cs{NewMarkClass} in rollback (gh/955)}
 %    \begin{macrocode}
 \msg_redirect_name:nnn { hooks } { exists } { none }
+\msg_redirect_name:nnn { mark } { class-already-defined }{ none } 
 %    \end{macrocode}
 %
 % Now a one-off for |ltcmd.dtx|: we need to make \cs{NewDocumentCommand}
@@ -799,9 +803,12 @@
 \tl_clear:N \l_@@_restores_tl
 %    \end{macrocode}
 %
-% And restore the hook error message.
+% And restore the silenced error messages.
+% \changes{v1.0p}{2022/11/14}
+%     {Unsilence \cs{NewMarkClass} error message after rollback (gh/955)}
 %    \begin{macrocode}
 \msg_redirect_name:nnn { hooks } { exists } { }
+\msg_redirect_name:nnn { mark } { class-already-defined } { }
 %    \end{macrocode}
 %
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltclass.dtx}
-             [2022/10/22 v1.5e LaTeX Kernel (Class & Package Interface)]
+             [2022/11/16 v1.5f LaTeX Kernel (Class & Package Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltclass.dtx}
@@ -2813,6 +2813,7 @@
 %    unknown option.
 % \changes{v1.3h}{2020/01/28}{Allow spaces in option string and display
 %     only unknown options not the whole option list (gh/256)}
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
 %    \begin{macrocode}
 \def\filec at ntents@opt[#1]{%
   \edef\@fortmp{\zap at space#1 \@empty}%
@@ -2821,7 +2822,7 @@
       \csname filec at ntents@\reserved at a\endcsname
     \else
     \@latex at error{Unknown filecontents option \reserved at a}%
-       {Valid options are force (or overwrite), nosearch, noheader}%
+       {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
     \fi}%
   \filec at ntents
 }
@@ -2849,6 +2850,18 @@
 \let\filec at ntents@checkdir\@empty
 \def\filec at ntents@where{exists on the system}
 %    \end{macrocode}
+%    Option \texttt{nowarn} does not show any warning on the terminal
+%    but still writes it to the \texttt{.log}.
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
+%    \begin{macrocode}
+\def\filec at ntents@nowarn{%
+  \let\filec at ntents@warning\@latex at note@no at line
+}
+%    \end{macrocode}
+%    By default we show terminal warnings.
+%    \begin{macrocode}
+\let\filec at ntents@warning\@latex at warning@no at line
+%    \end{macrocode}
 %
 %    \begin{macrocode}
 \begingroup%
@@ -2925,6 +2938,8 @@
 %    on the terminal.
 % \changes{v1.3g}{2020/01/27}{Fix typo in error message}
 % \changes{v1.3j}{2020/02/20}{Fix missing quotes around file name (gh/284)}
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
+% \changes{v1.5f}{2022/11/16}{Do not show "current dir" in message (gh/917)}
 %    \begin{macrocode}
       \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
@@ -2932,8 +2947,8 @@
         write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
-        \@latex at warning@no at line%
-           {Writing or overwriting file `\@currdir\@curr at file'}%
+        \filec at ntents@warning%
+           {Writing or overwriting file `\@curr at file'}%
         \immediate\openout\reserved at c\q at curr@file\relax%
       \fi%
     \fi%

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -34,8 +34,8 @@
 %%% From File: ltcmd.dtx
 %
 %    \begin{macrocode}
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
 %    \end{macrocode}
 %
 %<*driver>
@@ -2401,21 +2401,28 @@
 %     \@@_show_command:NnNNwN,
 %     \@@_show_expandable:N,
 %     \@@_show_expandable:NnNNNNnN,
-%     \@@_show_command_aux:nNNn,
+%     \@@_show_command_aux:NnNNn,
 %     \@@_show_environment:N,
+%     \@@_show:x,
 %   }
 %   These commands just expand the command once to reveal its innards,
 %   then pass the type of command, the control sequence, the signature,
-%   and the code macro to \cs{@@_show_command_aux:nNNn}.
+%   and the code macro to \cs{@@_show_command_aux:NnNNn}.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_show_command:N #1
   { \exp_after:wN \@@_show_command:NnNNwN #1 \q_@@ #1 }
 \cs_new_protected:Npn \@@_show_command:NnNNwN #1 #2 #3 #4 #5 \q_@@ #6
-  { \@@_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+  {
+    \@@_show_command_aux:NnNNn \tl_show:x
+      { document~command } #6 #4 {#2}
+  }
 \cs_new_protected:Npn \@@_show_expandable:N #1
   { \exp_after:wN \@@_show_expandable:NnNNNNnN #1 #1 }
 \cs_new_protected:Npn \@@_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
-  { \@@_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
+  {
+    \@@_show_command_aux:NnNNn \tl_show:x
+      { expandable~document~command } #8 #5 {#2}
+  }
 %    \end{macrocode}
 %
 %   Now just print everything in the required format.  The auxiliary
@@ -2423,15 +2430,17 @@
 %   \cs{l_@@_tmpa_tl}, so we ust use that here:
 % \changes{v1.0j}{2021/13/31}
 %         {Make \cs{ShowCommand} stop for interaction}
+% \changes{v1.1b}{2022/11/30}
+%         {Don't stop for the \cs{begin} part of an environment}
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_show_command_aux:nNNn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_show_command_aux:NnNNn #1 #2 #3 #4 #5
   {
-    \@@_split_signature:n {#4}
-    \tl_show:x
+    \@@_split_signature:n {#5}
+    #1
       {
-        \token_to_str:N #2 = #1: \iow_newline:
+        \token_to_str:N #3 = #2: \iow_newline:
         \tl_use:N \l_@@_tmpa_tl
-        -> \cs_replacement_spec:N #3
+        -> \cs_replacement_spec:N #4
       }
   }
 %    \end{macrocode}
@@ -2438,12 +2447,14 @@
 %
 %   We can reuse most of the above to show an environment, except that
 %   we need to ensure that the proper \cs[no-index]{environment~\ldots}
-%   are passed to \cs{@@_show_command_aux:nNNn}.  Additionally, when
+%   are passed to \cs{@@_show_command_aux:NnNNn}.  Additionally, when
 %   |\ShowCommand\foo| is used (if |foo| is an environment), we show
 %   |\endfoo| as well, and when |\ShowCommand\endfoo| is used, change
 %   that to |\ShowCommand\foo| and do the same.
 % \changes{v1.0j}{2021/13/31}
 %         {Make \cs{ShowCommand} stop for interaction}
+% \changes{v1.1b}{2022/11/30}
+%         {Don't stop for the \cs{begin} part of an environment}
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_show_environment:N #1
   {
@@ -2459,12 +2470,14 @@
   {
     \use:x
       {
-        \@@_show_command_aux:nNNn { document~environment }
+        \@@_show_command_aux:NnNNn \@@_show:x { document~environment }
           { \exp_not:N \begin {#3} }
           \exp_not:c { environment~ #3 ~ code }
           {#2}
       }
   }
+\cs_new_protected:Npn \@@_show:x #1
+  { \iow_term:x { > ~ #1 . \iow_newline: } }
 \cs_new_protected:Npn \@@_show_environment_end:N #1
   {
     \exp_args:NNx \@@_check_end:Nn \l_@@_tmpa_tl { \cs_to_str:N #1 }
@@ -2473,10 +2486,15 @@
 %    \end{macrocode}
 %
 %   And, of course, add \cs{__kernel_cmd_if_xparse:NTF} and
-%   \cs{@@_show:N} to \cs{@showcommandlisthook}:
+%   \cs{@@_show:N} to \cs{@showcommandlisthook} and to
+%   \cs{@showenvironmentlisthook} (\cs{@@_show:N} takes care of the
+%   environment case as well, so both entries are identical):
+%  \changes{v1.1b}{2022-11-29}{Add \cs{@showenvironmentlisthook}}
 %    \begin{macrocode}
 \tl_gput_right:Nn \@showcommandlisthook
   { { \__kernel_cmd_if_xparse:NTF \@@_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+  { { \__kernel_cmd_if_xparse:NTF \@@_show:N } }
 %    \end{macrocode}
 % \end{macro}
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltdefns.dtx}
-             [2022/05/22 v1.5r LaTeX Kernel (definition commands)]
+             [2022/11/24 v1.5s LaTeX Kernel (definition commands)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltdefns.dtx}
@@ -784,7 +784,9 @@
 %    not take arguments. (but may contain |\par|s)
 %
 % Make sure that an attempt to define a `graf' or `group' environment
-% fails.
+% fails by temporarily letting the undefined \verb=\...= (begin code) to
+% the definition of \verb=\end...= and as a result we get an error if that
+% has a definition.
 %    \begin{macrocode}
 \long\def\@newenv#1#2#3#4{%
   \@ifundefined{#1}%
@@ -1641,6 +1643,7 @@
 %    \end{macrocode}
 %
 % \begin{macro}{\declare at commandcopy}
+% \begin{macro}{\declare at commandcopy@do}
 %   Start by checking if the command is already defined.  The proper action is
 %   taken by each specific command above.  If all's good, then
 %   \cs{robust at command@act} is called with the proper arguments as described
@@ -1650,11 +1653,14 @@
 \long\def\declare at commandcopy#1#2#3#4{%
   \edef\reserved at a{\@expl at cs@to at str@@N#3}%
   \@ifundefined\reserved at a{#1}{#2}%
-    {\robust at command@act
-       \@declarecommandcopylisthook#4%
-       \declare at commandcopy@let{#3#4}}}
+    {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+  \robust at command@act
+    \@declarecommandcopylisthook#2%
+    \declare at commandcopy@let{#1#2}}
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\@declarecommandcopylisthook}
 %   The initial definition of \cs{@declarecommandcopylisthook} contains the
@@ -1694,6 +1700,64 @@
 % \end{macro}
 %
 %
+%    \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023-06-01}{\DeclareEnvironmentCopy}
+%<latexrelease>  {Add \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+%<*2ekernel|latexrelease>
+%    \end{macrocode}
+%
+% \begin{macro}{\NewEnvironmentCopy}
+% \begin{macro}{\RenewEnvironmentCopy}
+% \begin{macro}{\DeclareEnvironmentCopy}
+%    If \verb=\#1= or \verb=\end#1= already exist one gets an error
+%    message talking about the problematical command (not the
+%    environment).
+%    The remainder of the \LaTeX{} run is probably badly
+%    broken and it is unlikely that continuing it gives
+%    reasonable results.
+% \changes{v1.5s}{2022/11/24}{Add \cs{NewEnvironmentCopy},
+%            \cs{RenewEnvironmentCopy}, and \cs{DeclareEnvironmentCopy} (gh/963)}
+%    \begin{macrocode}
+\def\NewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+     \@firstofone}%
+    {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+  \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+  \@ifundefined\reserved at a
+      {\def\reserved at a{#3}#1}%
+      {\def\reserved at a{#3}#2}%
+    {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+     \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
+%    \end{macrocode}
+%
+%   Now the rollback code.
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\DeclareEnvironmentCopy}
+%<latexrelease>  {Undefine \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+%<latexrelease>\let\NewEnvironmentCopy\@undefined
+%<latexrelease>\let\RenewEnvironmentCopy\@undefined
+%<latexrelease>\let\DeclareEnvironmentCopy\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
 % \subsubsection{Showing robust commands}
 %
 % \begin{macro}{\ShowCommand}
@@ -1747,7 +1811,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-%
 %    \begin{macrocode}
 %</2ekernel>
 %<latexrelease>\IncludeInRelease{2020-10-01}{\@if at DeclareRobustCommand}
@@ -1836,6 +1899,7 @@
 %
 % \begin{macro}{\@show at DeclareRobustCommand}
 % \begin{macro}{\show at kernel@robust at command}
+% \begin{macro}{\@show at macro}
 %   Showing the command is pretty simple.  This command prints the top-level
 %   expansion as \TeX's \cs{show} would, but with |robust macro:| rather than
 %   just |macro:|, then a blank line and then \cs{show} the inner command.
@@ -1863,12 +1927,14 @@
   \robust at command@chk at safe#1%
     {\@if at newcommand#1%
        {\@show at newcommand}%
-       {\show}}%
-    {\show}%
+       {\@show at macro}}%
+    {\@show at macro}%
   #1}
+\let\@show at macro\show
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \end{macro}
 %
@@ -1931,7 +1997,7 @@
   \typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
   \expandafter\@show at newcommand@aux
     \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
-    \expandafter{#1}}
+    \expandafter{#1}\@show at tokens}
 %    \end{macrocode}
 %
 %   For a macro defined with, say, |\newcommand\foo[1][opt]{bar}|, it will
@@ -1946,20 +2012,28 @@
 % \end{verbatim}
 %   If the command was defined with \cs{DeclareRobustCommand}, then another pair
 %   of lines show the top-level expansion \verb*|\protect \foo  |.
-%
-%   The extra gymnastics with \cs{showtokens} ensures that \cs{showtokens}
-%   itself, and the internals of this macro aren't showed in the context lines.
 %    \begin{macrocode}
-\long\def\@show at newcommand@aux#1#2{%
+\long\def\@show at newcommand@aux#1#2#3{%
   \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
-  \edef\reserved at a{%
-    default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
-    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
-  \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+  #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}{\@show at tokens}
+%   This macro prints the contents of the token list (macro) |#1| using
+%   \cs{showtokens}.  The \cs{expandafter} gymnastics ensures that
+%   \cs{showtokens} itself, and the internals of this macro aren't
+%   showed in the context lines.
+%    \begin{macrocode}
+\long\def\@show at tokens#1{%
+  \edef\reserved at a{#1}%
+  \showtokens\expandafter
+    \expandafter\expandafter{\expandafter\reserved at a}}
+%    \end{macrocode}
+% \end{macro}
+%
 %   Now the rollback code.
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
@@ -1985,6 +2059,124 @@
 % \end{macro}
 %
 %
+% \subsubsection{Showing environments}
+%
+% \begin{macro}{\ShowEnvironment}
+% \changes{v1.5s}{2022/11/24}{Added \cs{ShowEnvironment}}
+%
+%    \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023-06-01}{\ShowEnvironment}
+%<latexrelease>  {Add \ShowEnvironment}%
+%<*2ekernel|latexrelease>
+%    \end{macrocode}
+%
+%   \cs{ShowEnvironment} is quite similar to \cs{ShowCommand}.  We will
+%   pass the environment \meta{env} around as the macro
+%   \cs[no-index]{env}, because \cs{robust at command@act} expects a single
+%   token.
+%    \begin{macrocode}
+\def\ShowEnvironment#1{%
+  \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+  \robust at command@act
+    \@showenvironmentlisthook#1%
+    \@show at normalenv#1}
+%    \end{macrocode}
+%
+% \begin{macro}{\@showenvironmentlisthook}
+%   This is similar to \cs{@showcommandlisthook}, but uses the dedicated
+%   versions for environments.
+%    \begin{macrocode}
+\def\@showenvironmentlisthook{%
+  {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+  {\@if at newcommand \@show at newcommand@env}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@show at newcommand@env}
+% \begin{macro}{\@show at DeclareRobustCommand@env}
+%   These are similar to the command versions below, except they say
+%   \enquote{environment} and call \cs{@show at environment@end} to print
+%   the \cs{end} part.
+%    \begin{macrocode}
+\long\def\@show at newcommand@env#1{%
+  \@show at environment@begin#1%
+  \expandafter\@show at newcommand@aux
+    \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+    \expandafter{#1}\@show at typeout
+  \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+  \@show at environment@begin#1%
+  \begingroup
+    \let\@show at tokens\@show at typeout
+    \let\@show at macro\@show at nonstop
+    \expandafter\show at kernel@robust at command
+      \csname\@expl at cs@to at str@@N#1 \endcsname
+  \endgroup
+  \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+  \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+  \typeout{\@expl at cs@argument at spec@@N#1->%
+           \@expl at cs@replacement at spec@@N#1.^^J}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@show at normalenv}
+% \begin{macro}{\@show at environment@end}
+%   A \enquote{normal} environment is straightforward.
+%   \cs{@show at environment@end} needs to check if the \cs{end} part is
+%   defined and show it accordingly, otherwise the output would show
+%   gibberish.
+%    \begin{macrocode}
+\long\def\@show at normalenv#1{%
+  \@show at environment@begin#1%
+  \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+  \expandafter\@show at environment@end at aux
+    \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+  \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+    \ifx\relax#1=undefined%
+    \else:^^J\@expl at cs@argument at spec@@N#1->%
+             \@expl at cs@replacement at spec@@N#1%
+    \fi}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@show at nonstop}
+% \begin{macro}{\@show at typeout}
+%   And here some auxiliaries:
+%   \begin{description}
+%     \item[\cs{@show at nonstop}] same output as \cs{show}, but doesn't
+%       stop for interaction;
+%     \item[\cs{@show at typeout}] same output as \cs{showtokens}, but
+%       doesn't stop for interaction.
+%   \end{description}
+%    \begin{macrocode}
+\def\@show at nonstop#1{%
+  \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+   \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%   Now the rollback code.
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\ShowEnvironment}
+%<latexrelease>  {Undefine \ShowEnvironment}%
+%<latexrelease>\let\ShowEnvironment\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+% \end{macro}
+%
+%
 % \subsection{Internal defining commands}
 %
 % These commands are used internally to define other \LaTeX{}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfinal.dtx}
-             [2022/10/26 v2.2x LaTeX Kernel (Final Settings)]
+             [2022/11/30 v2.2y LaTeX Kernel (Final Settings)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfinal.dtx}
@@ -1151,9 +1151,7 @@
 \cs_set_protected:Npn \reserved at a #1
   {
     \cs_generate_variant:cn { text_ \str_lowercase:n {#1} case:nn } { V }
-    \cs_new_protected:cpx { Make#1case \c_space_tl \c_space_tl \c_space_tl } [##1] ##2
-      { \exp_not:N \@@text at case@aux { \str_lowercase:n {#1} } {##1} {##2} }
-     \ExpandArgs { cnx } \NewExpandableDocumentCommand
+    \ExpandArgs { cnx } \NewExpandableDocumentCommand
        { Make#1case }
        { O{} +m }
        { \exp_not:c { Make#1case \c_space_tl \c_space_tl \c_space_tl } [####1] {####2} }
@@ -1162,6 +1160,34 @@
 \reserved at a { Lower }
 \reserved at a { Title }
 %    \end{macrocode}
+% \changes{v2.2y}{2022/11/30}{Set \cs{oe}/\cs{OE} equal to act as a marker for \pkg{babel}}
+% Currently, \pkg{babel} uses the equivalence of \cs{oe} and \cs{OE} to force casing of
+% some material, most notably in \cs{today}. To enable that to work, we have to set those
+% commands equal even though the current case changing code does not work using this
+% approach.
+%    \begin{macrocode}
+\cs_new_protected:cpn { MakeLowercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@OE \OE
+    \let \OE \oe
+    \@@text at case@aux { lower } {#1} {#2}
+    \let \OE \kernel at saved@OE
+  }
+\cs_new_protected:cpn { MakeUppercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@oe \oe
+    \let \oe \OE
+    \@@text at case@aux { upper } {#1} {#2}
+    \let \oe \kernel at saved@oe
+  }
+\cs_new_protected:cpn { MakeTitlecase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@oe \oe
+    \let \oe \OE
+    \@@text at case@aux { title } {#1} {#2}
+    \let \oe \kernel at saved@oe
+  }
+%    \end{macrocode}
 %
 % \changes{v2.2u}{2022/06/02}{Add \cs{NoCaseChange}}
 % \changes{v2.2u}{2022/06/30}{Add \cs{AddToNoCaseChangeList}}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltmiscen.dtx}
-             [2021/06/05 v1.1z LaTeX Kernel (Misc. Environments)]
+             [2022/11/06 v1.2a LaTeX Kernel (Misc. Environments)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltmiscen.dtx}
@@ -270,9 +270,17 @@
 %    This is one of the few places where we already add data and rules
 %    to a hook already in the kernel.
 % \changes{v1.0w}{1994/11/30}{(DPC) Use \cs{@dofilelist}}
+% \changes{v1.2a}{2022/11/06}{Repeat release info at the end (gh/944)}
 %    \begin{macrocode}
 \AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
 \AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+   \let\show at release@info\wlog
+   \show at release@info{ ***********}%
+   \the\LaTeXReleaseInfo
+   \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
 \DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
 %    \end{macrocode}
 %  \end{macro}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,8 +32,8 @@
 %%% From File: ltshipout.dtx
 %
 %    \begin{macrocode}
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
 %    \end{macrocode}
 %
 %<*driver>
@@ -75,7 +75,7 @@
 % \providecommand\pkg[1]{\texttt{#1}}
 %
 %
-% \title{The \texttt{ltshipout} package\thanks{This package has version
+% \title{The \texttt{ltshipout} documentation\thanks{This file has version
 %    \ltshipoutversion\ dated \ltshipoutdate, \copyright\ \LaTeX\
 %    Project.}}
 %
@@ -241,7 +241,19 @@
 %       But being placed after the main box content it will be typeset
 %       later and thus overprints it (i.e., is in the foreground).
 %
+%    \item[\hook{shipout}]
+%       This hook is executed after foreground and/or background
+%       material has been added, i.e., just in front of the actual
+%       shipout operation. Its purpose is to allow manipulation of the
+%       finalized box (stored in \cs{ShipoutBox}) with the extra
+%       material also in place (which is not yet the case in
+%       \hook{shipout/before}).
 %
+%       It cannot be used to cancel the shipout operation via
+%       \cs{DiscardShipoutBox} (that has
+%       to happen in \hook{shipout/before}, if desired!
+%
+%
 %    \item[\hook{shipout/firstpage}]
 %
 %       The material from this hook is executed only once at the very
@@ -296,7 +308,7 @@
 %    actual shipout. It is even run if there was a
 %    \cs{DiscardShipoutBox} request in the document.
 %
-%    The other hooks (except \hook{shipout/after}) are added inside
+%    The other hooks (except \hook{shipout} and \hook{shipout/after}) are added inside
 %    hboxes to the box being shipped out in the following order:
 %    \begin{center}
 %    \begin{tabular}{ll}
@@ -307,9 +319,13 @@
 %       \hook{shipout/lastpage}    & only on the last page \\
 %    \end{tabular}
 %    \end{center}
-%    If any of the hooks has no code then that particular no box is
+%    If any of the hooks has no code then the corresponding box is
 %    added at that point.
 %
+%    Once the (page) box has got the above extra content it can
+%    again be manipulated using the \hook{shipout} hook and then
+%    is shipped out for real.
+%
 %    Once the (page) box has been shipped out the \hook{shipout/after}
 %    hook is called (while you are still inside the output routine). It
 %    is not called if the shipout box was discarded.
@@ -381,13 +397,16 @@
 %
 %    \fmi{Once we have a new mark mechanism available we can improve
 %    on that and make sure that the declaration applies to the page
-%    that contains it.}
+%    that contains it --- not done (yet)}
+%
+%    \cs{DiscardShipoutBox} cannot be used in any of the \hook{shipout/...}
+%    hooks other than \hook{shipout/before}.
 %  \end{function}
 %
 %    In the \pkg{atbegshi} package there are a number of additional
 %    commands for use inside the \hook{shipout/before} hook. They
 %    should normally not be needed any more as one can instead simply
-%    add code to the hooks \hook{shipout/before},
+%    add code to the hooks \hook{shipout/before}, \hook{shipout},
 %    \hook{shipout/background} or
 %    \hook{shipout/foreground}.\footnote{If that assumption turns out to
 %    be wrong it would be trivial to change them to public functions
@@ -401,7 +420,9 @@
 % 
 %  \begin{variable}{pre_shipout_filter}
 %    Under Lua\TeX{} the \texttt{pre\_shipout\_filter} Lua callback is
-%    provided which gets called immediately before the shipout primitive gets invoked.
+%    provided which gets called directly after the
+%    \hook{shipout} hook, immediately before the shipout
+%    primitive gets invoked.
 %    The signature is
 %    \begin{verbatim}
 %     function(<node> head)
@@ -1014,7 +1035,6 @@
                       \_@@_add_foreground_box:n
                           { \UseHook{shipout/lastpage}
                             \@kernel at after@shipout at lastpage }
-                      \bool_gset_true:N \g_@@_lastpage_handled_bool
 %    \end{macrocode}
 %    We record that we have handled the \hook{shipout/lastpage} hook
 %    but only if we really did.
@@ -1021,8 +1041,14 @@
 % \changes{v1.0m}{2022/05/08}{Handle case where shipout/lastpage is
 %    run too early (gh/813)}
 %    \begin{macrocode}
+                      \bool_gset_true:N \g_@@_lastpage_handled_bool
                     }
                 }
+%    \end{macrocode}
+%    
+%  \changes{v1.0n}{2022/11/08}{Add shipout hook (gh/920)}
+%    \begin{macrocode}
+              \hook_use:n {shipout}
               \@@_finalize_box:
 %    \end{macrocode}
 %    Finally we run the actual \TeX{} primitive for shipout. As that will
@@ -1116,13 +1142,14 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%  \begin{macro}{shipout/before,shipout/after,
+%  \begin{macro}{shipout/before,shipout,shipout/after,
 %                   shipout/foreground,shipout/background,
-%                   shipout/firstpage,
-%                   shipout/lastpage}
+%                   shipout/firstpage,shipout/lastpage}
 %    Declaring all hooks for the shipout code.
+%  \changes{v1.0n}{2022/11/08}{Add shipout hook (gh/920)}
 %    \begin{macrocode}
 \hook_new:n{shipout/before}
+\hook_new:n{shipout}
 \hook_new:n{shipout/after}
 \hook_new:n{shipout/foreground}
 \hook_new:n{shipout/background}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -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}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltvers.dtx}
-             [2022/02/28 v1.1i LaTeX Kernel (Version Info)]
+             [2022/11/06 v1.1j LaTeX Kernel (Version Info)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltvers.dtx}
@@ -112,10 +112,10 @@
 %</2ekernel>
 %<latexrelease>\edef\latexreleaseversion
 %<*2ekernel|latexrelease>
-   {2023-05-01}
+   {2023-06-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{-0}
+\def\patch at level{-1}
 %    \end{macrocode}
 %
 % \begin{macro}{\development at branch@name}
@@ -178,20 +178,33 @@
 %   by a loader (\texttt{.ini} file)}
 % \changes{v1.0v}{2015/08/23}{Allow negative patchlevel for pre-release}
 % \changes{v1.1e}{2020/01/31}{Allow for upcoming format as pre-release 0}
+% \changes{v1.1j}{2022/11/06}{Repeat release info at the end (gh/944)}
+%
+%    We store release info in the toks \cs{LaTeXReleaseInfo} to be
+%    used in \cs{everyjob} but also when \verb=\end{document}= is
+%    executed.
+%    Instead of using \cs{typeout} we use \cs{show at release@info} so
+%    that we can write to the log only by changing that to \cs{wlog}.
 %    \begin{macrocode}
+\newtoks\LaTeXReleaseInfo
+\everyjob\expandafter{\the\everyjob\the\LaTeXReleaseInfo}
+\let\show at release@info\typeout
+%    \end{macrocode}
+%
+%    \begin{macrocode}
   \ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion>}}
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion>}}
     \immediate
     \write16{\fmtname \space<\fmtversion>}
   \else\ifnum\patch at level>0
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion> patch level \patch at level}}
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion> patch level \patch at level}}
     \immediate
     \write16{\fmtname\space <\fmtversion> patch level \patch at level}
   \else
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion>
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion>
                pre-release-\number-\patch at level\space
                \ifx\development at branch@name\@undefined  \else
                  \ifx\development at branch@name\@empty  \else

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -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 @@
 %
 % \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.

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty	2022-12-03 20:59:29 UTC (rev 65180)
@@ -46,8 +46,8 @@
 %%               Frank Mittelbach, LaTeX Team
 %%
 %%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
 \ProvidesPackage{atbegshi-ltx}
    [2021/01/10 v1.0c
      Emulation of the original atbegshi^^Jpackage with kernel methods]

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty	2022-12-03 20:59:29 UTC (rev 65180)
@@ -53,7 +53,7 @@
 \DeclareCurrentRelease{v3}{2022-06-01}
 
 \ProvidesPackage{doc}
-  [2022/07/03 v3.0k
+  [2022/11/13 v3.0m
    Standard LaTeX documentation package V3 (FMi)]
 %%
 %% Package `doc' to use with LaTeX 2e
@@ -292,38 +292,28 @@
 \@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
               \@setupverbvisiblespace
               \MacroFont \@vobeyspaces \@sxverbatim}
-\def\@verbatim{\trivlist \item[]\if at minipage\else\vskip\parskip\fi
-      \leftskip\@totalleftmargin\rightskip\z@
-      \parindent\z@\parfillskip\@flushglue\parskip\z@
-      \@@par
-      \@tempswafalse
- \def\par{\if at tempswa\hbox{}\fi\@tempswatrue\@@par
-          \penalty\interlinepenalty
+\def\@verbatim{\trivlist \item\relax
+  \if at minipage\else\vskip\parskip\fi
+  \leftskip\@totalleftmargin\rightskip\z@
+  \parindent\z@\parfillskip\@flushglue\parskip\z@
+  \language\l at nohyphenation
+  \@@par
+  \@tempswafalse
+  \def\par{%
+    \if at tempswa
+      \leavevmode \null \@@par\penalty\interlinepenalty
+    \else
+      \@tempswatrue
+      \ifhmode\@@par\penalty\interlinepenalty\fi
+    \fi
    \check at percent}%
- \obeylines
- \let\do\do at noligs \verbatim at nolig@list
- \let\do\@makeother \dospecials}
+  \let\do\@makeother \dospecials
+  \obeylines \verbatim at font \@noligs
+  \everypar \expandafter{\the\everypar \unpenalty}%
+}
 {\catcode`\%=12
  \long\gdef\check at percent#1{\ifx #1%\let\next\@empty \else
                                     \let\next=#1\fi \next}}
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
-  \bgroup \let\do\do at noligs \verbatim at nolig@list
-    \ttfamily \verb at eol@error \let\do\@makeother \dospecials
-    \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-\let\verb at balance@group\@empty
-\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
-\begingroup
-  \obeylines%
-  \gdef\verb at eol@error{\obeylines%
-    \def^^M{\verb at egroup\@latex at error{%
-            \noexpand\verb command ended by end of line}\@ehc}}%
-\endgroup
-\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
-\def\do at noligs#1{%
-  \catcode`#1\active
-  \begingroup
-     \lccode`\~=`#1\relax
-     \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
 \newcount\macro at cnt \macro at cnt=0
 \newskip\MacroTopsep     \MacroTopsep = 7pt plus 2pt minus 2pt
 \begingroup
@@ -360,16 +350,11 @@
      \let\next\macro at name
      \else \let\next\short at macro  \fi
    \next}
-\begingroup
-\catcode`\&=12
-\gdef\short at macro#1{\begingroup
-   \uccode`\&=\expandafter`\string#1%
-   \uppercase{\def\x{\def\macro at namepart{&}}}%
-   \expandafter\endgroup\x
+\def\short at macro#1{%
+   \edef\macro at namepart{\string#1}%
      \maybe at index@short at macro\macro at namepart
     \scan at allowedfalse#1%
     \scan at allowedtrue }
-\endgroup
 \def\macro at name#1{\edef\macro at namepart{\macro at namepart#1}%
      \futurelet\next\more at macroname}
 \def\more at macroname{\ifcat\noexpand\next a%
@@ -447,7 +432,7 @@
 }
 \cs_set_eq:NN \maybe at index@macro \__doc_maybe_index:o
 \cs_new:Npn \__doc_maybe_index_short:o #1 {
-  \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+  \exp_args:No \__doc_maybe_index_aux:nN #1
                                          \SpecialShortIndex
 }
 \cs_set_eq:NN \maybe at index@short at macro \__doc_maybe_index_short:o
@@ -479,7 +464,7 @@
           {\cs_to_str:N \^^M } {\def\reserved at a{ \string \space \actualchar }
                                 \def\reserved at b { \space }
                                 \let\reserved at c \@empty                          }
-          { }                  {\def\reserved at a{ \string \space \actualchar }
+          { ~ }                {\def\reserved at a{ \string \space \actualchar }
                                 \def\reserved at b { \space }
                                 \let\reserved at c \@empty                          }
           {\c_left_brace_str} { \def\reserved at a{ \bgroup \actualchar }

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2022-12-03 20:59:29 UTC (rev 65180)
@@ -705,8 +705,8 @@
 %%% From File: ltvers.dtx
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
-   {2023-05-01}
-\def\patch at level{-0}
+   {2023-06-01}
+\def\patch at level{-1}
 \edef\development at branch@name{develop \the\year-\the\month-\the\day}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -732,19 +732,22 @@
 \fi
 \let\reserved at a\relax
 \fi
+\newtoks\LaTeXReleaseInfo
+\everyjob\expandafter{\the\everyjob\the\LaTeXReleaseInfo}
+\let\show at release@info\typeout
   \ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion>}}
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion>}}
     \immediate
     \write16{\fmtname \space<\fmtversion>}
   \else\ifnum\patch at level>0
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion> patch level \patch at level}}
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion> patch level \patch at level}}
     \immediate
     \write16{\fmtname\space <\fmtversion> patch level \patch at level}
   \else
-    \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname\space <\fmtversion>
+    \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+      \show at release@info{\fmtname\space <\fmtversion>
                pre-release-\number-\patch at level\space
                \ifx\development at branch@name\@undefined  \else
                  \ifx\development at branch@name\@empty  \else
@@ -1519,13 +1522,35 @@
 \long\def\declare at commandcopy#1#2#3#4{%
   \edef\reserved at a{\@expl at cs@to at str@@N#3}%
   \@ifundefined\reserved at a{#1}{#2}%
-    {\robust at command@act
-       \@declarecommandcopylisthook#4%
-       \declare at commandcopy@let{#3#4}}}
+    {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+  \robust at command@act
+    \@declarecommandcopylisthook#2%
+    \declare at commandcopy@let{#1#2}}
 \def\@declarecommandcopylisthook{%
   {\@if at DeclareRobustCommand \@copy at DeclareRobustCommand}%
   {\@if at newcommand \@copy at newcommand}}
 \long\def\declare at commandcopy@let#1#2{\let#1=#2\relax}
+\def\NewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+     \@firstofone}%
+    {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+  \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+  \@ifundefined\reserved at a
+      {\def\reserved at a{#3}#1}%
+      {\def\reserved at a{#3}#2}%
+    {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+     \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
 \long\def\ShowCommand#1{%
   \robust at command@act
     \@showcommandlisthook#1%
@@ -1585,9 +1610,10 @@
   \robust at command@chk at safe#1%
     {\@if at newcommand#1%
        {\@show at newcommand}%
-       {\show}}%
-    {\show}%
+       {\@show at macro}}%
+    {\@show at macro}%
   #1}
+\let\@show at macro\show
 \long\def\@if at newcommand#1{%
   \edef\reserved at a{%
     \noexpand\@protected at testopt
@@ -1615,13 +1641,59 @@
   \typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
   \expandafter\@show at newcommand@aux
     \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
-    \expandafter{#1}}
-\long\def\@show at newcommand@aux#1#2{%
+    \expandafter{#1}\@show at tokens}
+\long\def\@show at newcommand@aux#1#2#3{%
   \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
-  \edef\reserved at a{%
-    default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
-    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
-  \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+  #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
+\long\def\@show at tokens#1{%
+  \edef\reserved at a{#1}%
+  \showtokens\expandafter
+    \expandafter\expandafter{\expandafter\reserved at a}}
+\def\ShowEnvironment#1{%
+  \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+  \robust at command@act
+    \@showenvironmentlisthook#1%
+    \@show at normalenv#1}
+\def\@showenvironmentlisthook{%
+  {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+  {\@if at newcommand \@show at newcommand@env}}
+\long\def\@show at newcommand@env#1{%
+  \@show at environment@begin#1%
+  \expandafter\@show at newcommand@aux
+    \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+    \expandafter{#1}\@show at typeout
+  \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+  \@show at environment@begin#1%
+  \begingroup
+    \let\@show at tokens\@show at typeout
+    \let\@show at macro\@show at nonstop
+    \expandafter\show at kernel@robust at command
+      \csname\@expl at cs@to at str@@N#1 \endcsname
+  \endgroup
+  \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+  \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+  \typeout{\@expl at cs@argument at spec@@N#1->%
+           \@expl at cs@replacement at spec@@N#1.^^J}}
+\long\def\@show at normalenv#1{%
+  \@show at environment@begin#1%
+  \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+  \expandafter\@show at environment@end at aux
+    \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+  \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+    \ifx\relax#1=undefined%
+    \else:^^J\@expl at cs@argument at spec@@N#1->%
+             \@expl at cs@replacement at spec@@N#1%
+    \fi}}
+\def\@show at nonstop#1{%
+  \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+   \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
 \def\@ifundefined#1{%
   \ifcsname#1\endcsname\@ifundefin at d@i\else\@ifundefin at d@ii\fi{#1}}
 \long\def\@ifundefin at d@i#1\fi#2{\fi
@@ -1731,8 +1803,8 @@
     \xdef#1{\the\toks@}%
   \endgroup}
 %%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
 \message{document commands,}
 \ExplSyntaxOn
 \tl_new:N \l__cmd_arg_spec_tl
@@ -2938,19 +3010,25 @@
 \cs_new_protected:Npn \__cmd_show_command:N #1
   { \exp_after:wN \__cmd_show_command:NnNNwN #1 \q__cmd #1 }
 \cs_new_protected:Npn \__cmd_show_command:NnNNwN #1 #2 #3 #4 #5 \q__cmd #6
-  { \__cmd_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+  {
+    \__cmd_show_command_aux:NnNNn \tl_show:x
+      { document~command } #6 #4 {#2}
+  }
 \cs_new_protected:Npn \__cmd_show_expandable:N #1
   { \exp_after:wN \__cmd_show_expandable:NnNNNNnN #1 #1 }
 \cs_new_protected:Npn \__cmd_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
-  { \__cmd_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
-\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
   {
-    \__cmd_split_signature:n {#4}
-    \tl_show:x
+    \__cmd_show_command_aux:NnNNn \tl_show:x
+      { expandable~document~command } #8 #5 {#2}
+  }
+\cs_new_protected:Npn \__cmd_show_command_aux:NnNNn #1 #2 #3 #4 #5
+  {
+    \__cmd_split_signature:n {#5}
+    #1
       {
-        \token_to_str:N #2 = #1: \iow_newline:
+        \token_to_str:N #3 = #2: \iow_newline:
         \tl_use:N \l__cmd_tmpa_tl
-        -> \cs_replacement_spec:N #3
+        -> \cs_replacement_spec:N #4
       }
   }
 \cs_new_protected:Npn \__cmd_show_environment:N #1
@@ -2967,12 +3045,14 @@
   {
     \use:x
       {
-        \__cmd_show_command_aux:nNNn { document~environment }
+        \__cmd_show_command_aux:NnNNn \__cmd_show:x { document~environment }
           { \exp_not:N \begin {#3} }
           \exp_not:c { environment~ #3 ~ code }
           {#2}
       }
   }
+\cs_new_protected:Npn \__cmd_show:x #1
+  { \iow_term:x { > ~ #1 . \iow_newline: } }
 \cs_new_protected:Npn \__cmd_show_environment_end:N #1
   {
     \exp_args:NNx \__cmd_check_end:Nn \l__cmd_tmpa_tl { \cs_to_str:N #1 }
@@ -2980,6 +3060,8 @@
   }
 \tl_gput_right:Nn \@showcommandlisthook
   { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+  { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
 \cs_new_protected:Npn \__cmd_split_signature:n #1
   {
     \int_set:Nn \l__cmd_current_arg_int { 1 }
@@ -6744,7 +6826,7 @@
              \@xnewline}%
   \@xnewline}
 \let\\\@normalcr
-\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}
 
 \DeclareRobustCommand\newline{\@normalcr\relax}
 \def\@xnewline{\@ifnextchar[% ] bracket matching
@@ -6912,7 +6994,8 @@
 \expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname
 \def\@{\spacefactor\@m{}}%
 \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace}
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
 
 \def\@hspacer#1{\vrule \@width\z@\nobreak
                 \@hspace{#1}\hskip \z at skip}
@@ -11245,6 +11328,13 @@
 \NewHook{enddocument/end}
 \AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
 \AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+   \let\show at release@info\wlog
+   \show at release@info{ ***********}%
+   \the\LaTeXReleaseInfo
+   \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
 \DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
 \def\@enddocument at kernel@warnings{%
    \ifdim \font at submax >\fontsubfuzz\relax
@@ -14685,7 +14775,7 @@
       \csname filec at ntents@\reserved at a\endcsname
     \else
     \@latex at error{Unknown filecontents option \reserved at a}%
-       {Valid options are force (or overwrite), nosearch, noheader}%
+       {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
     \fi}%
   \filec at ntents
 }
@@ -14697,6 +14787,10 @@
   \def\filec at ntents@where{in current directory}}
 \let\filec at ntents@checkdir\@empty
 \def\filec at ntents@where{exists on the system}
+\def\filec at ntents@nowarn{%
+  \let\filec at ntents@warning\@latex at note@no at line
+}
+\let\filec at ntents@warning\@latex at warning@no at line
 \begingroup%
 \@tempcnta=1
 \loop
@@ -14741,8 +14835,8 @@
         write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
-        \@latex at warning@no at line%
-           {Writing or overwriting file `\@currdir\@curr at file'}%
+        \filec at ntents@warning%
+           {Writing or overwriting file `\@curr at file'}%
         \immediate\openout\reserved at c\q at curr@file\relax%
       \fi%
     \fi%
@@ -15507,8 +15601,8 @@
 %%               Frank Mittelbach, LaTeX Team
 %%
 %%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
 \ExplSyntaxOn
 \bool_new:N \g__shipout_debug_bool
 \cs_new_eq:NN \__shipout_debug:n  \use_none:n
@@ -15622,6 +15716,7 @@
                       \bool_gset_true:N \g__shipout_lastpage_handled_bool
                     }
                 }
+              \hook_use:n {shipout}
               \__shipout_finalize_box:
               \cs_set_eq:NN \protect \exp_not:N
               \tex_shipout:D \box_use:N \l_shipout_box
@@ -15653,6 +15748,7 @@
 \cs_gset_eq:NN \RawShipout \__shipout_execute_raw:
 \cs_new_eq:NN  \__shipout_saved_protect: \protect
 \hook_new:n{shipout/before}
+\hook_new:n{shipout}
 \hook_new:n{shipout/after}
 \hook_new:n{shipout/foreground}
 \hook_new:n{shipout/background}
@@ -17383,9 +17479,7 @@
 \cs_set_protected:Npn \reserved at a #1
   {
     \cs_generate_variant:cn { text_ \str_lowercase:n {#1} case:nn } { V }
-    \cs_new_protected:cpx { Make#1case \c_space_tl \c_space_tl \c_space_tl } [##1] ##2
-      { \exp_not:N \@@text at case@aux { \str_lowercase:n {#1} } {##1} {##2} }
-     \ExpandArgs { cnx } \NewExpandableDocumentCommand
+    \ExpandArgs { cnx } \NewExpandableDocumentCommand
        { Make#1case }
        { O{} +m }
        { \exp_not:c { Make#1case \c_space_tl \c_space_tl \c_space_tl } [####1] {####2} }
@@ -17393,6 +17487,27 @@
 \reserved at a { Upper }
 \reserved at a { Lower }
 \reserved at a { Title }
+\cs_new_protected:cpn { MakeLowercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@OE \OE
+    \let \OE \oe
+    \@@text at case@aux { lower } {#1} {#2}
+    \let \OE \kernel at saved@OE
+  }
+\cs_new_protected:cpn { MakeUppercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@oe \oe
+    \let \oe \OE
+    \@@text at case@aux { upper } {#1} {#2}
+    \let \oe \kernel at saved@oe
+  }
+\cs_new_protected:cpn { MakeTitlecase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+  {
+    \let \kernel at saved@oe \oe
+    \let \oe \OE
+    \@@text at case@aux { title } {#1} {#2}
+    \let \oe \kernel at saved@oe
+  }
 \cs_new_protected_nopar:Npn\AddToNoCaseChangeList
          {\tl_put_right:Nn \l_text_case_exclude_arg_tl}
 \AddToNoCaseChangeList{ \NoCaseChange }

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2022-12-03 20:59:29 UTC (rev 65180)
@@ -290,7 +290,7 @@
 }
 %%% From File: ltvers.dtx
 \edef\latexreleaseversion
-   {2023-05-01}
+   {2023-06-01}
 \newif\if at includeinrelease
 \@includeinreleasefalse
 \def\IncludeInRelease#1{%
@@ -421,7 +421,7 @@
     \@skipping at modulefalse
   \fi}
 \ProvidesPackage{latexrelease}
-          [2022/02/28 v1.0o LaTeX release emulation and tests
+          [2022/11/14 v1.0p LaTeX release emulation and tests
               (including releases up to \latexreleaseversion)]
 \NeedsTeXFormat{LaTeX2e}[1996/06/01]
 \@ifundefined{sourceLaTeXdate}{%
@@ -544,6 +544,7 @@
   \q_recursion_tail \q_recursion_tail
   \q_recursion_stop
 \msg_redirect_name:nnn { hooks } { exists } { none }
+\msg_redirect_name:nnn { mark } { class-already-defined }{ none }
 \cs_gset_protected:Npn \latexrelease at postltcmd
   {
     \__latexrelease_redefines:w
@@ -1630,9 +1631,11 @@
 \long\def\declare at commandcopy#1#2#3#4{%
   \edef\reserved at a{\@expl at cs@to at str@@N#3}%
   \@ifundefined\reserved at a{#1}{#2}%
-    {\robust at command@act
-       \@declarecommandcopylisthook#4%
-       \declare at commandcopy@let{#3#4}}}
+    {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+  \robust at command@act
+    \@declarecommandcopylisthook#2%
+    \declare at commandcopy@let{#1#2}}
 \def\@declarecommandcopylisthook{%
   {\@if at DeclareRobustCommand \@copy at DeclareRobustCommand}%
   {\@if at newcommand \@copy at newcommand}}
@@ -1647,6 +1650,35 @@
 \let\@declarecommandcopylisthook\@undefined
 \let\declare at commandcopy@let\@undefined
 \EndIncludeInRelease
+\IncludeInRelease{2023-06-01}{\DeclareEnvironmentCopy}
+  {Add \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+\def\NewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+     \@firstofone}%
+    {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+  \declare at environmentcopy
+    {\@firstofone}%
+    {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+  \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+  \@ifundefined\reserved at a
+      {\def\reserved at a{#3}#1}%
+      {\def\reserved at a{#3}#2}%
+    {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+     \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
+\EndIncludeInRelease
+\IncludeInRelease{0000-00-00}{\DeclareEnvironmentCopy}
+  {Undefine \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+\let\NewEnvironmentCopy\@undefined
+\let\RenewEnvironmentCopy\@undefined
+\let\DeclareEnvironmentCopy\@undefined
+\EndIncludeInRelease
 \IncludeInRelease{2020-10-01}{\ShowCommand}%
   {Add \ShowCommand}%
 \long\def\ShowCommand#1{%
@@ -1718,9 +1750,10 @@
   \robust at command@chk at safe#1%
     {\@if at newcommand#1%
        {\@show at newcommand}%
-       {\show}}%
-    {\show}%
+       {\@show at macro}}%
+    {\@show at macro}%
   #1}
+\let\@show at macro\show
 \long\def\@if at newcommand#1{%
   \edef\reserved at a{%
     \noexpand\@protected at testopt
@@ -1748,13 +1781,15 @@
   \typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
   \expandafter\@show at newcommand@aux
     \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
-    \expandafter{#1}}
-\long\def\@show at newcommand@aux#1#2{%
+    \expandafter{#1}\@show at tokens}
+\long\def\@show at newcommand@aux#1#2#3{%
   \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
-  \edef\reserved at a{%
-    default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
-    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
-  \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+  #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+    \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
+\long\def\@show at tokens#1{%
+  \edef\reserved at a{#1}%
+  \showtokens\expandafter
+    \expandafter\expandafter{\expandafter\reserved at a}}
 \EndIncludeInRelease
 \IncludeInRelease{0000-00-00}{\@if at DeclareRobustCommand}
   {Undefine \@if at DeclareRobustCommand, \@if at newcommand,
@@ -1770,6 +1805,57 @@
 \let\show at kernel@robust at command\@undefined
 \let\@show at newcommand@aux\@undefined
 \EndIncludeInRelease
+\IncludeInRelease{2023-06-01}{\ShowEnvironment}
+  {Add \ShowEnvironment}%
+\def\ShowEnvironment#1{%
+  \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+  \robust at command@act
+    \@showenvironmentlisthook#1%
+    \@show at normalenv#1}
+\def\@showenvironmentlisthook{%
+  {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+  {\@if at newcommand \@show at newcommand@env}}
+\long\def\@show at newcommand@env#1{%
+  \@show at environment@begin#1%
+  \expandafter\@show at newcommand@aux
+    \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+    \expandafter{#1}\@show at typeout
+  \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+  \@show at environment@begin#1%
+  \begingroup
+    \let\@show at tokens\@show at typeout
+    \let\@show at macro\@show at nonstop
+    \expandafter\show at kernel@robust at command
+      \csname\@expl at cs@to at str@@N#1 \endcsname
+  \endgroup
+  \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+  \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+  \typeout{\@expl at cs@argument at spec@@N#1->%
+           \@expl at cs@replacement at spec@@N#1.^^J}}
+\long\def\@show at normalenv#1{%
+  \@show at environment@begin#1%
+  \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+  \expandafter\@show at environment@end at aux
+    \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+  \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+    \ifx\relax#1=undefined%
+    \else:^^J\@expl at cs@argument at spec@@N#1->%
+             \@expl at cs@replacement at spec@@N#1%
+    \fi}}
+\def\@show at nonstop#1{%
+  \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+   \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
+\EndIncludeInRelease
+\IncludeInRelease{0000-00-00}{\ShowEnvironment}
+  {Undefine \ShowEnvironment}%
+\let\ShowEnvironment\@undefined
+\EndIncludeInRelease
 \IncludeInRelease{2018-04-01}{\@ifundefined}
 {Leave commands undefined in \@ifundefined}%
 \def\@ifundefined#1{%
@@ -1900,8 +1986,8 @@
 
 \EndIncludeInRelease
 %%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
 \edef\@latexrelease at catcode@null{\the\catcode`\^^@ }
 \catcode`\^^@=12
 \ExplSyntaxOn
@@ -3118,19 +3204,25 @@
 \cs_new_protected:Npn \__cmd_show_command:N #1
   { \exp_after:wN \__cmd_show_command:NnNNwN #1 \q__cmd #1 }
 \cs_new_protected:Npn \__cmd_show_command:NnNNwN #1 #2 #3 #4 #5 \q__cmd #6
-  { \__cmd_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+  {
+    \__cmd_show_command_aux:NnNNn \tl_show:x
+      { document~command } #6 #4 {#2}
+  }
 \cs_new_protected:Npn \__cmd_show_expandable:N #1
   { \exp_after:wN \__cmd_show_expandable:NnNNNNnN #1 #1 }
 \cs_new_protected:Npn \__cmd_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
-  { \__cmd_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
-\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
   {
-    \__cmd_split_signature:n {#4}
-    \tl_show:x
+    \__cmd_show_command_aux:NnNNn \tl_show:x
+      { expandable~document~command } #8 #5 {#2}
+  }
+\cs_new_protected:Npn \__cmd_show_command_aux:NnNNn #1 #2 #3 #4 #5
+  {
+    \__cmd_split_signature:n {#5}
+    #1
       {
-        \token_to_str:N #2 = #1: \iow_newline:
+        \token_to_str:N #3 = #2: \iow_newline:
         \tl_use:N \l__cmd_tmpa_tl
-        -> \cs_replacement_spec:N #3
+        -> \cs_replacement_spec:N #4
       }
   }
 \cs_new_protected:Npn \__cmd_show_environment:N #1
@@ -3147,12 +3239,14 @@
   {
     \use:x
       {
-        \__cmd_show_command_aux:nNNn { document~environment }
+        \__cmd_show_command_aux:NnNNn \__cmd_show:x { document~environment }
           { \exp_not:N \begin {#3} }
           \exp_not:c { environment~ #3 ~ code }
           {#2}
       }
   }
+\cs_new_protected:Npn \__cmd_show:x #1
+  { \iow_term:x { > ~ #1 . \iow_newline: } }
 \cs_new_protected:Npn \__cmd_show_environment_end:N #1
   {
     \exp_args:NNx \__cmd_check_end:Nn \l__cmd_tmpa_tl { \cs_to_str:N #1 }
@@ -3160,6 +3254,8 @@
   }
 \tl_gput_right:Nn \@showcommandlisthook
   { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+  { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
 \cs_new_protected:Npn \__cmd_split_signature:n #1
   {
     \int_set:Nn \l__cmd_current_arg_int { 1 }
@@ -7056,7 +7152,7 @@
 \EndIncludeInRelease
 \IncludeInRelease{2020/10/01}%
                  {\@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}
 \EndIncludeInRelease
 \IncludeInRelease{0000/00/00}%
                  {\@vspace at calcify}{Add calc support}%
@@ -7318,7 +7414,8 @@
 \EndIncludeInRelease
 \IncludeInRelease{2020/10/01}%
                  {\@hspace}{Support calc with \hspace}%
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
 \EndIncludeInRelease
 \IncludeInRelease{0000/00/00}%
                  {\@hspace}{Support calc with \hspace}%
@@ -11431,6 +11528,13 @@
 \NewHook{enddocument/end}
 \AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
 \AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+   \let\show at release@info\wlog
+   \show at release@info{ ***********}%
+   \the\LaTeXReleaseInfo
+   \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
 \DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
 \def\@enddocument at kernel@warnings{%
    \ifdim \font at submax >\fontsubfuzz\relax
@@ -14534,7 +14638,7 @@
       \csname filec at ntents@\reserved at a\endcsname
     \else
     \@latex at error{Unknown filecontents option \reserved at a}%
-       {Valid options are force (or overwrite), nosearch, noheader}%
+       {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
     \fi}%
   \filec at ntents
 }
@@ -14546,6 +14650,10 @@
   \def\filec at ntents@where{in current directory}}
 \let\filec at ntents@checkdir\@empty
 \def\filec at ntents@where{exists on the system}
+\def\filec at ntents@nowarn{%
+  \let\filec at ntents@warning\@latex at note@no at line
+}
+\let\filec at ntents@warning\@latex at warning@no at line
 \begingroup%
 \@tempcnta=1
 \loop
@@ -14590,8 +14698,8 @@
         write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
-        \@latex at warning@no at line%
-           {Writing or overwriting file `\@currdir\@curr at file'}%
+        \filec at ntents@warning%
+           {Writing or overwriting file `\@curr at file'}%
         \immediate\openout\reserved at c\q at curr@file\relax%
       \fi%
     \fi%
@@ -15359,8 +15467,8 @@
 %%               Frank Mittelbach, LaTeX Team
 %%
 %%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
 \IncludeInRelease{2020/10/01}%
                  {\shipout}{Hook management (shipout)}%
 \ExplSyntaxOn
@@ -15476,6 +15584,7 @@
                       \bool_gset_true:N \g__shipout_lastpage_handled_bool
                     }
                 }
+              \hook_use:n {shipout}
               \__shipout_finalize_box:
               \cs_set_eq:NN \protect \exp_not:N
               \tex_shipout:D \box_use:N \l_shipout_box
@@ -15507,6 +15616,7 @@
 \cs_gset_eq:NN \RawShipout \__shipout_execute_raw:
 \cs_new_eq:NN  \__shipout_saved_protect: \protect
 \hook_new:n{shipout/before}
+\hook_new:n{shipout}
 \hook_new:n{shipout/after}
 \hook_new:n{shipout/foreground}
 \hook_new:n{shipout/background}
@@ -17138,6 +17248,7 @@
   }
 \tl_clear:N \l__latexrelease_restores_tl
 \msg_redirect_name:nnn { hooks } { exists } { }
+\msg_redirect_name:nnn { mark } { class-already-defined } { }
   \ExplSyntaxOff}%
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls	2022-12-03 20:59:29 UTC (rev 65180)
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltxdoc}
-         [2022/06/22 v2.1h Standard LaTeX documentation class]
+         [2022/06/22 v2.1i Standard LaTeX documentation class]
 \DeclareOption{a5paper}{\@latexerr{Option not supported}%
    {}}
 \newif\ifltxdoc at load@cfg@ \ltxdoc at load@cfg at true
@@ -263,9 +263,7 @@
   \par
   \vskip 1.5em}
 \def\task#1#2{}
-\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
 \AtBeginDocument{%
-  \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
   \providecommand\LuaTeX{Lua\TeX}
   \providecommand\cls{\textsf}
   \providecommand\pkg{\textsf}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty	2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty	2022-12-03 20:59:29 UTC (rev 65180)
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1994/12/01]
 \ProvidesPackage{shortvrb}
-  [2022/07/03 v3.0k
+  [2022/11/13 v3.0m
    Standard LaTeX documentation package V3 (FMi)]
 %%
 %% Package `doc' to use with LaTeX 2e



More information about the tex-live-commits mailing list.