Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions base/changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ to completeness or accuracy and it contains some references to files that are
not part of the distribution.
================================================================================

2026-03-13 Joseph Wright <Joseph.Wright@latex-project.org>
* doc.dtx, ltcmd.dtx, ltcmdhooks.dtx, lthooks.dtx, ltkeys.dtx:
Remove variants now available in expl3 core
* ltexpl.dtx: Add check for sufficiently-recent expl3

2026-03-12 Joseph Wright <Joseph.Wright@latex-project.org>
* doc.dtx, latexrelease.dtx, ltcmd.dtx, ltcmdhooks.dtx, ltfilehook.dtx,
ltfinal.dtx, ltfssdcl.dtx, lthooks.dtx, ltkeys.dtx, ltmarks.dtx,
ltpara.dtx, ltproperties.dtx, ltshipout.dtx, ltsockets.dtx,
source2edoc.cls: Switch from x- to e-type expansion in expl3 code

2026-03-10 Joseph Wright <Joseph.Wright@latex-project.org>
* latexrelease.dtx: Use \msg_set:nnnn not \msg_gset:nnnn in rollback

Expand Down
42 changes: 18 additions & 24 deletions base/doc.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
%<+package>
%<+package>\ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
%<+package|shortvrb> [2024/12/25 v3.0q
%<+package|shortvrb> [2026-03-13 v3.0r
%<+package|shortvrb> Standard LaTeX documentation package V3 (FMi)]
%\catcode`\<=12
%
Expand Down Expand Up @@ -84,6 +84,8 @@
% \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)}
% \changes{v3.0r}{2026-03-12}{Switch from \texttt{x}- to \texttt{e}-type
% expansion in expl3 code}
%
%
% \hyphenation{make-index}
Expand Down Expand Up @@ -3342,11 +3344,11 @@
% ^^A --------------------------------------------------
%
%
% \begin{macro}{\__doc_trace:x}
% \begin{macro}{\__doc_trace:e}
% A helper for tracing\ldots
% \begin{macrocode}
\cs_new:Npn\__doc_trace:x {
\legacy_if:nTF{ doc@debugshow }{ \iow_term:x } { \use_none:n }
\cs_new:Npn\__doc_trace:e {
\legacy_if:nTF{ doc@debugshow }{ \iow_term:e } { \use_none:n }
}
% \end{macrocode}
% \end{macro}
Expand Down Expand Up @@ -3377,7 +3379,7 @@
% \end{macrocode}
%
% \begin{macrocode}
\__doc_trace:x{Disable~ indexing~ for~ '\tl_to_str:n{#1}' }
\__doc_trace:e{Disable~ indexing~ for~ '\tl_to_str:n{#1}' }
% \end{macrocode}
% Adding the commands to the |\l__doc_donotindex_seq| sequence is
% done by mapping the function |\__doc_dont_index_aux:n| on each
Expand All @@ -3393,7 +3395,7 @@
% at all),
% \begin{macrocode}
\cs_new:Npn \__doc_dont_index_aux:n #1 {
\seq_put_right:Nx \l__doc_donotindex_seq {\expandafter\@gobble \string#1}
\seq_put_right:Ne \l__doc_donotindex_seq {\expandafter\@gobble \string#1}
}
% \end{macrocode}
% \end{macro}
Expand All @@ -3412,7 +3414,7 @@
% Some tracing information that may be helpful.
% \begin{macrocode}
\def \ShowIndexingState {
\__doc_trace:x{Show~ doc~ indexing~ state:}
\__doc_trace:e{Show~ doc~ indexing~ state:}
\seq_show:N \l__doc_donotindex_seq
\prop_show:N \g__doc_idxtype_prop
}
Expand All @@ -3433,7 +3435,7 @@
% is then done by |\__doc_idxtype_put:nn|
% \begin{macrocode}
\cs_new:Npn \__doc_idxtype_put:Nn #1#2 {
\exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
\exp_args:Ne \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
% \end{macrocode}
% We also make an entry in the \texttt{.aux} file so that this
% declaration becomes immediately available in the next
Expand All @@ -3452,7 +3454,7 @@
% cumulate over time.
% \begin{macrocode}
\cs_new:Npn \RecordIndexTypeAux #1#2 {
\exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
\exp_args:Ne \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
}
% \end{macrocode}
% Similarly, when the \texttt{.aux} is read at the end of the run we
Expand Down Expand Up @@ -3536,10 +3538,10 @@
% Some tracing info \ldots{}
% \begin{macrocode}
{
\__doc_trace:x{Not~ recording~ index~ type~ for~ '\bslash #1' }
\__doc_trace:e{Not~ recording~ index~ type~ for~ '\bslash #1' }
}
{
\__doc_trace:x{Recording~ index~ type~ for~ '\bslash #1' ~ as~ #2 }
\__doc_trace:e{Recording~ index~ type~ for~ '\bslash #1' ~ as~ #2 }
% \end{macrocode}
% Stick the data into the property list:
% \begin{macrocode}
Expand All @@ -3561,15 +3563,7 @@
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\tl_to_str:o}
% Another helper: take some token list variable, expand it and turn
% it into a string.
% \begin{macrocode}
\cs_generate_variant:Nn \tl_to_str:n {o}
% \end{macrocode}
% \end{macro}
%
%
% \changes{v3.0r}{2026-03-13}{Tidy up variants}
%
% ^^A --------------------------------------------------
%
Expand Down Expand Up @@ -3632,7 +3626,7 @@
% \end{macrocode}
% A bit of tracing:
% \begin{macrocode}
\__doc_trace:x{Searching~ for~ '\bslash #1'}
\__doc_trace:e{Searching~ for~ '\bslash #1'}
% \end{macrocode}
% If the name is on the exclude list do nothing.
% \begin{macrocode}
Expand All @@ -3641,7 +3635,7 @@
%
% \begin{macrocode}
{
\__doc_trace:x{Not~ indexing~ '\bslash #1' }
\__doc_trace:e{Not~ indexing~ '\bslash #1' }
}
% \end{macrocode}
% Otherwise check if this name has an index type property attached
Expand All @@ -3666,7 +3660,7 @@
% deals with some special cases for single letter macros.
% \begin{macrocode}
{
\__doc_trace:x{Indexing~ '\bslash #1'\space (\string #2)}
\__doc_trace:e{Indexing~ '\bslash #1'\space (\string #2)}
\exp_args:No #2 {\bslash #1}
}
}
Expand Down Expand Up @@ -3759,7 +3753,7 @@
% \begin{macrocode}
\cs_if_exist:NTF #1
{
\__doc_trace:x{Indexing~ '#3'\space as~
\__doc_trace:e{Indexing~ '#3'\space as~
\tl_use:N \l__doc_idxtype_tl }
#1{#2}{#3}
}
Expand Down
15 changes: 8 additions & 7 deletions base/latexrelease.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
%<*latexrelease>
% \fi
% \ProvidesFile{latexrelease.dtx}
[2026/03/10 v1.0r LaTeX release emulation and tests
[2026-03-13 v1.0s LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
% \iffalse
%</latexrelease>
Expand Down Expand Up @@ -482,6 +482,9 @@
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
% \end{macrocode}
%
% \changes{v1.0s}{2026-03-12}{Switch from \texttt{x}- to \texttt{e}-type
% expansion in expl3 code}
%
% \subsection{Setup}
%
% \begin{macro}{\sourceLaTeXdate}
Expand Down Expand Up @@ -714,7 +717,7 @@ of this package available from CTAN}
% checks if the new register is really necessary. This code does
% not clear the register, which might cause problems in the future,
% if a register is allocated but not properly cleared before using;
% \item[__kernel_msg_error:nnx] This command is used to error on
% \item[__kernel_msg_error:nne] This command is used to error on
% already defined scan marks. Just making the error do nothing is
% enough, as no action is taken in that case;
% \item[msg_new:nnnn] Used to define new messages. Making it
Expand All @@ -730,18 +733,16 @@ of this package available from CTAN}
% And here we go:
% \changes{v1.0r}{2026/03/10}
% {Use \cs{msg_set:nnnn} instead of \cs{msg_gset:nnnn} in rollback}
% \changes{v1.0s}{2026-03-13}{Remove \cs{__kernel_msg_error:nnn} from
% definitions, as it's not used in the kernel anymore}
% \begin{macrocode}
\@@_redefines:w
\__kernel_chk_if_free_cs:N \use_none:n
\e@alloc \@@_e@alloc:NnnnnN
\__kernel_msg_error:nnx \use_none:nnn
\__kernel_msg_error:nne \use_none:nnn
\msg_new:nnnn \msg_set:nnnn
% \NewDocumentCommand \DeclareDocumentCommand % after ltcmd.dtx
\newcommand \@@_declare_command:w
% \end{macrocode}
% Temp addition \ldots
% \begin{macrocode}
\__kernel_msg_error:nnn \use_none:nnn % needed while redirect for kernel msgs doesn't work
\q_recursion_tail \q_recursion_tail
\q_recursion_stop
% \end{macrocode}
Expand Down
Loading
Loading