Skip to content

Commit

Permalink
merge develop
Browse files Browse the repository at this point in the history
  • Loading branch information
u-fischer committed Jan 20, 2025
2 parents d01780d + 1990ab7 commit b159ddb
Show file tree
Hide file tree
Showing 66 changed files with 24,727 additions and 1,273 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
retention-days: 3
# Now create the release (this only runs if the previous steps were successful)
- name: Create GitHub release
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5
uses: ncipollo/release-action@cdcc88a9acf3ca41c16c37bb7d21b9ad48560d87
id: release
with:
artifacts: "*.zip"
Expand Down
16 changes: 16 additions & 0 deletions base/changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@ to completeness or accuracy and it contains some references to files that are
not part of the distribution.
================================================================================

2025-01-15 Joseph Wright <[email protected]>
* ltkeys.dtx
Parse global options only once per package (gh/1619)

2025-01-13 Frank Mittelbach <[email protected]>

* lttemplates.dtx (subsection{User functions}):
Speed up common case of \SetTemplateKeys, i.e., when the
key/val list is empty.

2025-01-11 Udi Fogiel <[email protected]>

* ltluatex.dtx (subsubsection{Handlers}):
Correct documentation about the return value
of the list handler

2025-01-10 Frank Mittelbach <[email protected]>

* ltmarks.dtx (subsection{Updating mark structures}):
Expand Down
30 changes: 30 additions & 0 deletions base/doc/ltnews41.tex
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,17 @@ \subsection{Prevent \texttt{cmd} hook from defining an undefined command}
%
\githubissue{1591}

\subsection{Process global options once per package}

In 2022, we introduced key--value (keyval) option processing in the
kernel~\cite{41:ltnews35}. This also added the idea that keys could have scope:
load-only, preamble-only and general use. However, we overlooked that an option
given globally (in the optional argument to \cs{documentclass}) would be
repeatedly processed and could therefore lead to spurious warnings. This has
now been corrected: global options are seen exactly once per package by the
keyval-based option handling system.
%
\githubissue{1619}

%\section{Changes to packages in the \pkg{amsmath} category}

Expand Down Expand Up @@ -452,6 +463,25 @@ \subsection{\pkg{array}:\ Improve preamble setup code for \texttt{p} and friends
\githubissue{1585}


\subsection[\pkg{varioref}:\ How to make \cs{reftex...}\ empty]
{\pkg{varioref}:\ How to make \cs{reftexfaceafter}, etc.\ empty}

In the case that one wants to make a command such as
\cs{reftextfaceafter} produce nothing, one has to get rid of the space that
is automatically placed in front of the command. This can be done by simply
defining the command to remove it, e.g.,
\begin{verbatim}
\renewcommand\reftextfaceafter{\unskip}
\end{verbatim}
The \pkg{varioref} package does not test if such strings are empty,
because that would require a lot of tests each time \cs{vref} is used,
and it would nearly always find that the text is not empty. However,
as shown above, the solution for this uncommon case is simple, and it
is now explicitly documented in the package documentation.
%
\githubissue{1622}




%\section{Changes to files in the \pkg{cyrillic} category}
Expand Down
18 changes: 17 additions & 1 deletion base/doc/tlc3.err
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\newcommand\erratafiledate{2025/01/09} % needs / and not -
\newcommand\erratafiledate{2025/01/14} % needs / and not -

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% To produce a printed version of this errata file run this file through
Expand Down Expand Up @@ -884,6 +884,13 @@ line first \> first line
then this structure is repeated as often as necessary. \>
then this structure is repeated \u{for the related font families} as often as necessary.

\erroronpage{II-20}{para -1}{FMi}{2025/01/14}{s}

A new version of Libertinus Mono was released. Added:\\
\u{Its bold weight is rather light and unfortunately does not
keep register,}\\
\u{so it may be of fairly limited use.}


\erroronpage{II-24}{para 3, l. -2}{BeB}{2023/08/13}{s}
There is no slanted shape in Grande Mono (so it should be in blue): \\
Expand Down Expand Up @@ -1056,6 +1063,15 @@ Add table note:
In the DejaVu Sans Mono Example add: \texttt{OIl or 011?}


\erroronpage{II-94}{para 2, l.4}{FMi}{2025/01/14}{s}

A new version of Libertinus Mono was released. The recommendation
hasn't changed, only the reason. Changed:\\
as it is \u{far too dark and fuzzy for my taste.} \> \\
as it is \u{very light and does not keep register.}




\erroronpage{II-102}{para -4, margin}{BeB}{2023/08/13}{s}
Change: \u{— no Open Type —} \> \u{Lucida Handwriting OT}
Expand Down
17 changes: 12 additions & 5 deletions base/ltkeys.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltkeys.dtx}
[2024/06/20 v1.0o LaTeX Kernel (Keyval options)]
[2025/01/15 v1.0p LaTeX Kernel (Keyval options)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{ltkeys.dtx}
Expand Down Expand Up @@ -277,6 +277,7 @@
% \changes{v1.0l}{2022/10/20}
% {Define key option handler in \pkg{ltkeys}}
% \changes{v1.0i}{2022/07/05}{Support \cs{CurrentOption}}
% \changes{v1.0p}{2025/01/15}{Only process global options on first pass}
% \begin{macro}{\@@_options_end:}
% The main function calls functions to collect up the global and local
% options into \cs{l_@@_options_clist} before calling the
Expand All @@ -286,17 +287,23 @@
% current family, and is cleaned up afterwards if required. To allow
% the \LaTeXe{} layer to know this mechanism is active, and to deal
% with the key family not matching the file name, we store the family
% in all cases.
% in all cases. Global options are only considered the first time a
% package is loaded: this is tracked using
% |opt@handler@\@currname.\@currext|, as this is defined once keyval
% processing has been applied for the first time.
% \begin{macrocode}
\cs_new_protected:Npn \@@_options:n #1
{ \@@_options_expand_module:Nn \@@_options_aux:n {#1} }
\cs_new_protected:Npn \@@_options_aux:n #1
{
\cs_gset_protected:cpn { opt@handler@\@currname.\@currext }
{ \ProcessKeyOptions [ #1 ] }
\cs_set_protected:Npn \@@_option_end: { }
\clist_clear:N \l_@@_options_clist
\@@_options_global:n {#1}
\cs_if_exist:cF { opt@handler@ \@currname . \@currext }
{
\@@_options_global:n {#1}
\cs_gset_protected:cpn { opt@handler@ \@currname . \@currext }
{ \ProcessKeyOptions [ #1 ] }
}
\@@_options_local:
\keys_if_exist:nnF {#1} { unknown }
{
Expand Down
17 changes: 9 additions & 8 deletions base/ltluatex.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
%<*plain>
% \fi
% \ProvidesFile{ltluatex.dtx}
[2024/08/16 v1.2e
[2025/01/11 v1.2e
% LaTeX Kernel (LuaTeX support)^^A
%\iffalse
%<plain> LuaTeX support for plain TeX (core)%
Expand Down Expand Up @@ -1676,14 +1676,15 @@ end
% passed the return value of the previous (and the other arguments
% untouched, if any). The return value is that of the last function;
% \item[list] is a specialized variant of \emph{data} for functions
% filtering node lists. Such functions may return either the head of a
% modified node list, or the boolean values |true| or |false|. The
% functions are chained the same way as for \emph{data} except that for
% the following. If
% one function returns |false|, then |false| is immediately returned and
% the following functions are \emph{not} called. If one function returns
% filtering node lists. Such functions are called with a node list head
% as the first argument and may return either the head of a modified node list,
% or the boolean values |true| or |false|.
% The functions are chained the same way as for \emph{data} except for
% the following cases.
% If a function returns |false|, then |false| is immediately returned and
% the following functions are \emph{not} called. If a function returns
% |true|, then the same head is passed to the next function. If all
% functions return |true|, then |true| is returned, otherwise the return
% functions return |true|, then the original head is returned, otherwise the return
% value of the last function not returning |true| is used.
% \item[reverselist] is a specialized variant of \emph{list} which executes
% functions in inverse order.
Expand Down
Loading

0 comments on commit b159ddb

Please sign in to comment.