summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex-dev/base
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-11-02 19:56:02 +0000
committerKarl Berry <karl@freefriends.org>2023-11-02 19:56:02 +0000
commit71147fa86bd892e6a89bf394448ad5aada518bdb (patch)
treef9c92a1b69d35b7785469b1ff57911ffdf5bf634 /Master/texmf-dist/source/latex-dev/base
parent1e0a29c72707a3dd4a7cf45bc6eea2d43068e2b7 (diff)
latex-dev (2nov23)
git-svn-id: svn://tug.org/texlive/trunk@68730 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex-dev/base')
-rw-r--r--Master/texmf-dist/source/latex-dev/base/docstrip.dtx25
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltboxes.dtx95
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltexpl.dtx25
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx6
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx4
-rw-r--r--Master/texmf-dist/source/latex-dev/base/lthooks.dtx8
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltplain.dtx4
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltproperties.dtx69
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltspace.dtx27
-rw-r--r--Master/texmf-dist/source/latex-dev/base/ltvers.dtx4
10 files changed, 222 insertions, 45 deletions
diff --git a/Master/texmf-dist/source/latex-dev/base/docstrip.dtx b/Master/texmf-dist/source/latex-dev/base/docstrip.dtx
index be373499e6b..776d0e68d7d 100644
--- a/Master/texmf-dist/source/latex-dev/base/docstrip.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/docstrip.dtx
@@ -31,7 +31,7 @@
\def\filename{docstrip.dtx}
\def\fileversion{v2.6b}
\def\filedate{2022-09-03}
-\def\docdate {2022-09-03}
+\def\docdate {2023-10-10}
%%
%
%\iffalse
@@ -838,6 +838,29 @@
% suppressed by giving an empty module name, namely using the
% syntax \texttt{\%<@@=>}.
%
+% The exact steps that are carried out by this replacement
+% algorithm are the following:
+% \begin{enumerate}
+% \item First, deal with \texttt{@@@@} as a special case (by using a
+% temporary disguise).
+%
+% \item Then change all |__@@| to |__|\meta{module}.
+%
+% \item Then change all remaining |_@@| to
+% |__|\meta{module}.
+%
+% \item Then change all remaining \texttt{@@} to
+% |__|\meta{module}.
+%
+% \item Finally, tidy up by changing each ``disguised
+% \texttt{@@@@}'' to \texttt{@@}.
+% \end{enumerate}
+% Thus, replacement means that \texttt{@@} is replaced by the
+% \meta{module} name and that 0, 1, or 2 underscores in front of
+% \texttt{@@} are replaced by exactly 2 underscores (whilst any
+% larger number of underscores is preserved).
+%
+%
% \section{Those other languages}
% Since \TeX\ is an open system some of \TeX\ packages include
% non-\TeX\ files. Some authors use \ds\ to generate PostScript
diff --git a/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx b/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx
index ff1717caa97..d84158c161b 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2022/09/07 v1.4d LaTeX Kernel (Box Commands)]
+ [2023/10/26 v1.4e LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -342,13 +342,36 @@
% \begin{macro}{\@imakebox}
% \changes{v0.1a}{1993/12/03}
% {macro modified}
+% \changes{v1.4e}{2023/10/26}
+% {Guard against unknown alignment gh/1072}
% Internal form of |\makebox|.
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023/11/01}%
+%<latexrelease> {\@imakebox}{Unknown alignment warning}%
+%<*2ekernel|latexrelease>
\long\def\@imakebox[#1][#2]#3{%
\@begin@tempboxa\hbox{#3}%
\setlength\@tempdima{#1}% support calc
- \hb@xt@\@tempdima{\csname bm@#2\endcsname}%
+ \hb@xt@\@tempdima{%
+ \expandafter\ifx\csname bm@#2\endcsname\relax
+ \bm@c
+ \@latex@warning{Unexpected alignment #2}%
+ \else
+ \csname bm@#2\endcsname
+ \fi}%
\@end@tempboxa}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@imakebox}{Unknown alignment warning}%
+%<latexrelease>\long\def\@imakebox[#1][#2]#3{%
+%<latexrelease> \@begin@tempboxa\hbox{#3}%
+%<latexrelease> \setlength\@tempdima{#1}% support calc
+%<latexrelease> \hb@xt@\@tempdima{\csname bm@#2\endcsname}%
+%<latexrelease> \@end@tempboxa}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -748,19 +771,46 @@
% {\cs{leavevmode} moved to \cs{@frameb@x}}
% \changes{v1.0s}{1995/04/27}
% {Move \cs{leavevmode} for graphics/1512}
+% \changes{v1.4e}{2023/10/26}
+% {Guard against unknown alignment gh/1072}
% In order to set the whole box, including the frame to the
% specified dimension, we first determine that dimension
% from the natural size of the text, |#3|.
% calculated width.
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023/11/01}%
+%<latexrelease> {\@iframebox}{Unknown alignment warning}%
+%<*2ekernel|latexrelease>
\long\def\@iframebox[#1][#2]#3{%
\leavevmode
\@begin@tempboxa\hbox{#3}%
\setlength\@tempdima{#1}%
\setbox\@tempboxa\hb@xt@\@tempdima
- {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}%
+ {\kern\fboxsep
+ \expandafter\ifx\csname bm@#2\endcsname\relax
+ \bm@c
+ \@latex@warning{Unexpected alignment #2}%
+ \else
+ \csname bm@#2\endcsname
+ \fi
+ \kern\fboxsep}%
\@frameb@x{\kern-\fboxrule}%
\@end@tempboxa}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@iframebox}{Unknown alignment warning}%
+%<latexrelease>\long\def\@iframebox[#1][#2]#3{%
+%<latexrelease> \leavevmode
+%<latexrelease> \@begin@tempboxa\hbox{#3}%
+%<latexrelease> \setlength\@tempdima{#1}%
+%<latexrelease> \setbox\@tempboxa\hb@xt@\@tempdima
+%<latexrelease> {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}%
+%<latexrelease> \@frameb@x{\kern-\fboxrule}%
+%<latexrelease> \@end@tempboxa}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -881,9 +931,17 @@
% \changes{v1.1g}{2006/05/18}
% {Ensure \cs{@parboxto} holds the value of \cs{@tempdimb} not the
% register itself (pr/3867)}
+% \changes{v1.4e}{2023/10/26}
+% {Guard against unknown alignment gh/1072}
% The internal version of |\parbox|.
% \begin{macrocode}
\let\@parboxto\@empty
+% \end{macrocode}
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023/11/01}%
+%<latexrelease> {\@iiiparbox}{Unknown alignment warning}%
+%<*2ekernel|latexrelease>
\long\def\@iiiparbox#1#2[#3]#4#5{%
\leavevmode
\@pboxswfalse
@@ -899,9 +957,38 @@
\else\@pboxswtrue $\vcenter
\fi\fi\fi
\@parboxto{\let\hss\vss\let\unhbox\unvbox
- \csname bm@#3\endcsname}%
+ \expandafter\ifx\csname bm@#3\endcsname\relax
+ \bm@c
+ \@latex@warning{Unexpected alignment #3}%
+ \else
+ \csname bm@#3\endcsname
+ \fi}%
\if@pboxsw \m@th$\fi
\@end@tempboxa}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@iiiparbox}{Unknown alignment warning}%
+%<latexrelease>\long\def\@iiiparbox#1#2[#3]#4#5{%
+%<latexrelease> \leavevmode
+%<latexrelease> \@pboxswfalse
+%<latexrelease> \setlength\@tempdima{#4}%
+%<latexrelease> \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+%<latexrelease> \ifx\relax#2\else
+%<latexrelease> \setlength\@tempdimb{#2}%
+%<latexrelease> \edef\@parboxto{to\the\@tempdimb}%
+%<latexrelease> \fi
+%<latexrelease> \if#1b\vbox
+%<latexrelease> \else\if #1t\vtop
+%<latexrelease> \else\ifmmode\vcenter
+%<latexrelease> \else\@pboxswtrue $\vcenter
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \@parboxto{\let\hss\vss\let\unhbox\unvbox
+%<latexrelease> \csname bm@#3\endcsname}%
+%<latexrelease> \if@pboxsw \m@th$\fi
+%<latexrelease> \@end@tempboxa}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx b/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
index 92e6de52cb6..4e5eba550b0 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltexpl.dtx}
- [2022/02/28 v1.3f LaTeX Kernel (expl3-dependent code)]
+ [2023/10/13 v1.3g LaTeX Kernel (expl3-dependent code)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltexpl.dtx}
@@ -516,4 +516,27 @@
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
+% \DescribeMacro\IfExplAtLeastTF
+% A pretty simple wrapper.
+%
+% \begin{macro}{\IfExplAtLeastTF}
+% \changes{v1.3g}{2023/10/13}{Provide a test for \pkg{expl3} date (gh/1004)}
+% \begin{macrocode}
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2023/11/01}%
+%<latexrelease> {\IfExplAtLeastTF}{Test for expl3 date}%
+\def\IfExplAtLeastTF{\@ifl@t@r\ExplLoaderFileDate}
+% \end{macrocode}
+% \end{macro}
+% We make sure the command is always available.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\IfExplAtLeastTF}{Test for expl3 date}%
+%<latexrelease>
+%<latexrelease>\def\IfExplAtLeastTF{\@ifl@t@r\ExplLoaderFileDate}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
% \Finale
diff --git a/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx b/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
index 9e68b38654e..a0746bd08c0 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssaxes.dtx}
- [2021/03/18 v1.0i LaTeX Kernel (NFSS Axes handing)]
+ [2023/10/30 v1.0i LaTeX Kernel (NFSS Axes handing)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1240,9 +1240,9 @@
% The next rule might be a bit surprising and rightly so. Correct
% would be that \texttt{sc} is not affected by \texttt{up}, i.e.,
% remains \texttt{sc} as showed in the commented out rule. However,
-% for nearly three decades commands such as \upshape{sc} or
+% for nearly three decades commands such as \cs{sc} or
% \cs{textup} changed small caps back to the ``normal'' shape. So
-% for backward compatibility we keep hat behavior.
+% for backward compatibility we keep that behavior.
%
% As a result you are currently typesetting in \texttt{scit} or
% \texttt{scsl} using \cs{upshape} twice will return you to the
diff --git a/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx b/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
index fda3d1ca4b0..fa82bd73bb6 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
- [2023/04/01 v3.2l LaTeX Kernel (NFSS Basic Macros)]
+ [2023/10/21 v3.2l LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -279,7 +279,7 @@
% For this we compare the given value \verb=#3= with one where we
% may have dropped an ``m''. If nothing has changes,
% fine. Otherwise there was a wrong value which is now corrected in
-% \cs{reservedb} so we use that and also issue a warning.
+% \cs{reserved@b} so we use that and also issue a warning.
% \changes{v3.2j}{2021/06/09}{Improve information message}
% \begin{macrocode}
\edef\reserved@a{#3}%
diff --git a/Master/texmf-dist/source/latex-dev/base/lthooks.dtx b/Master/texmf-dist/source/latex-dev/base/lthooks.dtx
index e43fa4ef351..20d48730c48 100644
--- a/Master/texmf-dist/source/latex-dev/base/lthooks.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/lthooks.dtx
@@ -32,7 +32,7 @@
%
% \begin{macrocode}
\def\lthooksversion{v1.1f}
-\def\lthooksdate{2023/08/11}
+\def\lthooksdate{2023/10/02}
% \end{macrocode}
%
%<*driver>
@@ -795,7 +795,7 @@
% \end{itemize}
% There can only be a single relation between two labels for a
% given hook,
-% i.e., a later \cs{DeclareHookrule} overwrites any previous
+% i.e., a later \cs{DeclareHookRule} overwrites any previous
% declaration.
%
% The \meta{hook} and \meta{label} can be specified using the
@@ -1566,8 +1566,8 @@
%
% Generic hooks defined in this way are always normal hooks (i.e.,
% you can't implement reversed hooks this way). This is a
-% deliberate limitation, because it speeds up the processessing
-% conciderably.
+% deliberate limitation, because it speeds up the processing
+% considerably.
%
%
% \subsection{Hooks with arguments}
diff --git a/Master/texmf-dist/source/latex-dev/base/ltplain.dtx b/Master/texmf-dist/source/latex-dev/base/ltplain.dtx
index 89e5017300f..b41810373d0 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltplain.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltplain.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltplain.dtx}
- [2023/04/15 v2.3i LaTeX Kernel (Plain TeX)]
+ [2023/10/21 v2.3i LaTeX Kernel (Plain TeX)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltplain.dtx}
@@ -1281,7 +1281,7 @@
% \cs{par} with whatever definition \cs{par} has when it is
% executed. It can, however, be
% redefined (before calling \cs{obeylines}!) to achieve some
-% special effects. If you want to alter is definition when already
+% special effects. If you want to alter this definition when already
% in the scope of \cs{obeylines}, it has no effect (because
% \cs{let} is used above).
% In that case simply make another call to \cs{obeylines}
diff --git a/Master/texmf-dist/source/latex-dev/base/ltproperties.dtx b/Master/texmf-dist/source/latex-dev/base/ltproperties.dtx
index 71b6e2a14fe..40c50cd20a2 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltproperties.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltproperties.dtx
@@ -22,8 +22,8 @@
%
% for those people who are interested.
% \begin{macrocode}
-\def\ltpropertiesversion{1.0b}
-\def\ltpropertiesdate{2023-09-13}
+\def\ltpropertiesversion{1.0c}
+\def\ltpropertiesdate{2023-10-15}
% \end{macrocode}
%<*driver>
@@ -177,7 +177,7 @@
% \begin{function}
% {
% \property_record:nN,
-% \property_record:nn, \property_record:nV, \property_record:xx
+% \property_record:nn, \property_record:nV, \property_record:ee
% }
% \begin{syntax}
% \cs{property_record:nN} \Arg{label} \Arg{clist var}
@@ -227,7 +227,7 @@
% or in some outer group!
% \end{function}
%
-% \begin{function}{\property_ref_undefined_warn:n,\property_ref_undefined_warn:x}
+% \begin{function}{\property_ref_undefined_warn:n,\property_ref_undefined_warn:e}
% \begin{syntax}
% \cs{property_ref_undefined_warn:n} \Arg{label}
% \end{syntax}
@@ -241,7 +241,7 @@
% \texttt{Reference~`\meta{label}'~on~page~\meta{page}\space undefined}.
% \end{function}
%
-% \begin{function}{\property_ref_undefined_warn:nn,\property_ref_undefined_warn:xx}
+% \begin{function}{\property_ref_undefined_warn:nn,\property_ref_undefined_warn:ee}
% \begin{syntax}
% \cs{property_ref_undefined_warn:nn} \Arg{label} \Arg{property}
% \end{syntax}
@@ -302,6 +302,8 @@
% \section{\LaTeXe{} interface}
%
% The LaTeXe{} interfaces always expand label and property arguments.
+% This means that one must be careful when using active chars or commands in the
+% names. UTF8-chars are protected and should be safe, similar most babel shorthands.
%
% \begin{function}{\NewProperty,\SetProperty}
% \begin{syntax}
@@ -397,7 +399,7 @@
% comparisions.
% \end{variable}
%
-% \begin{variable}{currentlabel}
+% \begin{variable}{label}
% (now) The content of \cs{@currentlabel}. This is the value that
% you get also with the standard \cs{label}/\cs{ref}.
% \end{variable}
@@ -410,10 +412,17 @@
%
% \begin{variable}{target}
% (now) The content of \cs{@currentHref}.
-% This command is normally filled by for example by
+% This command is normally filled by for example
% \pkg{hyperref} and gives the name of the last destination it created.
% \end{variable}
%
+% \begin{variable}{pagetarget}
+% (shipout) The content of \cs{@currentHpage}.
+% This command is filled for example by a recent version of
+% \pkg{hyperref} and then gives the name of the last page
+% destination it created.
+% \end{variable}
+%
% \begin{variable}{counter}
% (now) The content of \cs{@currentcounter}.
% This command contains after a \cs{refstepcounter} the name of the counter.
@@ -486,7 +495,7 @@
}
\cs_new_protected:Npn \property_gset:nnnn #1#2#3#4
{
- \@@_gset:xnnn { \tl_to_str:n {#1} }
+ \@@_gset:ennn { \tl_to_str:n {#1} }
{#2} {#3} {#4}
}
\cs_new_protected:Npn \@@_gset:nnnn #1#2#3#4
@@ -504,21 +513,24 @@
}
{ \msg_error:nnnn { property } { unknown-setpoint } {#1} {#2} }
}
-\cs_generate_variant:Nn \@@_gset:nnnn {xnnn}
+\cs_generate_variant:Nn \@@_gset:nnnn {ennn}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\NewProperty,\SetProperty}
% For consistency we expand the property name, but this doesn't warant a
% variant of the L3-commands.
+% \changes{v1.0c}{2023-09-20}{use \cs{protected@edef}}
% \begin{macrocode}
\cs_new_protected:Npn \NewProperty #1#2#3#4
{
- \exp_args:Nx \property_new:nnnn {#1}{#2}{#3}{#4}
+ \protected@edef\reserved@a{#1}
+ \exp_args:No \property_new:nnnn {\reserved@a} {#2}{#3}{#4}
}
\cs_new_protected:Npn \SetProperty #1#2#3#4
{
- \exp_args:Nx \property_gset:nnnn {#1}{#2}{#3}{#4}
+ \protected@edef\reserved@a{#1}
+ \exp_args:No \property_gset:nnnn {\reserved@a} {#2}{#3}{#4}
}
% \end{macrocode}
% \end{macro}
@@ -528,9 +540,10 @@
% {
% \property_record:nn,
% \property_record:nV,
-% \property_record:xx,
+% \property_record:ee,
+% \property_record:oo,
% \@@_record:nn,
-% \@@_record:xn
+% \@@_record:en
% }
% \begin{macro}[EXP]
% {\@@_record_value:n, \@@_record_value_aux:n, \@@_record_value_aux:e}
@@ -542,8 +555,8 @@
\cs_new_protected:Npn \property_record:nN #1#2
{ \property_record:nV {#1} #2 }
\cs_new_protected:Npn \property_record:nn #1#2
- { \@@_record:xn { \tl_to_str:n {#1} } {#2} }
-\cs_generate_variant:Nn \property_record:nn { nV , xx }
+ { \@@_record:en { \tl_to_str:n {#1} } {#2} }
+\cs_generate_variant:Nn \property_record:nn { nV , ee, oo }
\cs_new_protected:Npn \@@_record:nn #1#2
{
\legacy_if:nT { @filesw }
@@ -556,7 +569,7 @@
}
}
}
-\cs_generate_variant:Nn \@@_record:nn { x }
+\cs_generate_variant:Nn \@@_record:nn { e }
\cs_new:Npn \@@_record_value:n #1
{ \@@_record_value_aux:e { \tl_to_str:n {#1} } }
\cs_new:Npn \@@_record_value_aux:n #1
@@ -580,11 +593,14 @@
% \end{macro}
%
% \begin{macro}{\RecordProperties}
+% \changes{v1.0c}{2023-09-20}{use \cs{protected@edef} for safer handling of active chars.} %
% \begin{macrocode}
\NewDocumentCommand\RecordProperties { m m }
{
\@bsphack
- \property_record:xx {#1}{#2}
+ \protected@edef\reserved@a{#1}
+ \protected@edef\reserved@b{#2}
+ \property_record:oo {\reserved@a}{\reserved@b}
\@esphack
}
% \end{macrocode}
@@ -803,8 +819,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\property_ref_undefined_warn:nn,
-% \property_ref_undefined_warn:xx,
+% \begin{macro}{\property_ref_undefined_warn:nn,
+% \property_ref_undefined_warn:ee,
% \RefUndefinedWarn}
% \begin{macrocode}
\cs_new_protected:Npn \property_ref_undefined_warn:nn #1#2 %#1 label, #2 property
@@ -823,8 +839,8 @@
\@latex@warning { Reference~`#1'~on~page~\thepage\space undefined }%
}
}
-\cs_generate_variant:Nn \property_ref_undefined_warn:nn {xx}
-\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:xx
+\cs_generate_variant:Nn \property_ref_undefined_warn:nn {ee}
+\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:ee
% \end{macrocode}
% \end{macro}
%
@@ -849,9 +865,9 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{currentlabel}
+% \begin{variable}{label}
% \begin{macrocode}
-\property_new:nnnn { currentlabel } { now } { ?? } { \@currentlabel }
+\property_new:nnnn { label } { now } { ?? } { \@currentlabel }
% \end{macrocode}
% \end{variable}
%
@@ -868,6 +884,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{target}
+% \begin{macrocode}
+\newcommand\@currentHpage{}
+\property_new:nnnn { pagetarget } { shipout } { } { \@currentHpage }
+% \end{macrocode}
+% \end{variable}
+
% \begin{variable}{counter}
% \begin{macrocode}
\property_new:nnnn { counter } { now } { } { \@currentcounter }
diff --git a/Master/texmf-dist/source/latex-dev/base/ltspace.dtx b/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
index 66841cae384..03b34450474 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2023/06/14 v1.3q LaTeX Kernel (spacing)]
+ [2023/10/26 v1.3r LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -742,7 +742,7 @@
% true (as |\@esphack| used to do previously).
% This is currently used only for floats and similar environments.
% \changes{v1.2s}{1996/08/02}{Remove \cs{global} before \cs{@ignore...}}
-% \changes{v1.3d}{2015/01/11}{Allow hyphenation (Donald Arseneau pr/3498) (latexrelease)}w
+% \changes{v1.3d}{2015/01/11}{Allow hyphenation (Donald Arseneau pr/3498) (latexrelease)}
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2015/01/01}%
@@ -1195,6 +1195,7 @@
%
% \begin{macro}{\nobreakspace}
% \changes{v1.2k}{1995/12/04}{(Macro added}
+% \changes{v1.3r}{2023/10/26}{Protected definition for tilde}
% \begin{macro}{\@xobeysp}
% \changes{v1.2t}{1996/09/28}{Moved from ltmiscen.dtx and redefined to
% use \cs{nobreakspace }}
@@ -1213,11 +1214,31 @@
% We need to keep \cs{@xobeysp} as it is widely used; so here it is
% let to the non-robust command \cs{nobreakspace }.
%
+% The fragile version of |~| needs a brace group after \cs{nobreakspace}
+% to prevent loss of spaces if it occurs in an expansion context. That's
+% not an issue with the updated \cs{protected} definition, so we keep the
+% code shorter and avoid that.
% \begin{macrocode}
\DeclareRobustCommand{\nobreakspace}{%
\leavevmode\nobreak\ }
\catcode `\~=13
-\def~{\nobreakspace{}}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023/11/01}%
+%<latexrelease> {\tilde}{Protected tilde}%
+%<*2ekernel|latexrelease>
+\protected\edef~{%
+ \noexpand\ifincsname\noexpand\expandafter\string~%
+ \noexpand\else
+ \noexpand\expandafter\noexpand\nobreakspace
+ \noexpand\fi
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\tilde}{Protected tilde}%
+%<latexrelease>\def~{\nobreakspace{}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
\expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
index 5b78c3bc5ed..e169dee020d 100644
--- a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
+++ b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
@@ -112,10 +112,10 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2023-11-01}
+ {2024-06-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-1}
+\def\patch@level{0}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}