texlive[63683] Master/texmf-dist: latex-base (21jun22)

commits+karl at tug.org commits+karl at tug.org
Tue Jun 21 22:23:30 CEST 2022


Revision: 63683
          http://tug.org/svn/texlive?view=revision&revision=63683
Author:   karl
Date:     2022-06-21 22:23:29 +0200 (Tue, 21 Jun 2022)
Log Message:
-----------
latex-base (21jun22)

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

Modified: trunk/Master/texmf-dist/doc/latex/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/README.md	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/doc/latex/base/README.md	2022-06-21 20:23:29 UTC (rev 63683)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2022-06-01 patch level 1
+Release 2022-06-01 patch level 2
 
 Overview
 --------

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

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

Modified: trunk/Master/texmf-dist/doc/latex/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/changes.txt	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/doc/latex/base/changes.txt	2022-06-21 20:23:29 UTC (rev 63683)
@@ -10,9 +10,27 @@
 All changes above are only part of the development branch for the next release.
 ================================================================================
 
-2022-06-16  Joseph Wright <Joseph.Wright at latex-proejct.org>
+#########################
+# 2022-06-01 PL2 Release
+#########################
 
+2022-06-20  Joseph Wright <Joseph.Wright at latex-project.org>
+
 	* ltkeys.dtx (subsection{Main mechanism})
+	Use raw options data for keyval handling
+
+2022-06-19 Joseph Wright <Joseph.Wright at latex-proejct.org>
+
+	* ltkeys.dtx (subsection{Main mechanism})
+	Correct approach to removing keys from \@unusedoptionlist
+
+#########################
+# 2022-06-01 PL1 Release
+#########################
+
+2022-06-16  Joseph Wright <Joseph.Wright at latex-project.org>
+
+	* ltkeys.dtx (subsection{Main mechanism})
 	Remove key name but avoid touching key value in \@unusedoptionlist
 
 2022-06-15  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: trunk/Master/texmf-dist/source/latex/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltclass.dtx	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/source/latex/base/ltclass.dtx	2022-06-21 20:23:29 UTC (rev 63683)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltclass.dtx}
-             [2022/04/16 v1.5b LaTeX Kernel (Class & Package Interface)]
+             [2022/06/20 v1.5c LaTeX Kernel (Class & Package Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltclass.dtx}
@@ -2150,7 +2150,7 @@
 %    actions prepend \cs{@currpath} to \cs{@currname} (namely loading,
 %    as we have to respect the given path).
 %
-%    A file substituiton isn't followed just yet because at this point
+%    A file substitution isn't followed just yet because at this point
 %    we are parsing user input, so the file is still what the user
 %    asked for, and not the file actually loaded.
 %    \begin{macrocode}
@@ -2176,6 +2176,7 @@
   \@ifl at aded\@currext\@currname
 %    \end{macrocode}
 % \changes{v1.5b}{2022/03/18}{Switch to \cs{ProcessKeyOptions}}
+% \changes{v1.5c}{2022/06/20}{Pass raw options to \cs{ProcessKeyOptions}}
 %    In the current preferred approach, a key family name will exist for
 %    processing using \pkg{ltkeys}. In that case, we replace the previous
 %    package options with the new ones, then call the key handler.
@@ -2185,7 +2186,9 @@
       \@ifundefined{opt at fam@\@currname.\@currext}
         {\@onefilewithoptions at clashchk{#2}}
         {%
-          \@namedef{opt@\@currname.\@currext}{#2}%
+          \expandafter\edef\csname opt@\@currname.\@currext\endcsname
+            {\zap at space#2 \@empty}%
+          \@namedef{@raw at opt@\@currname.\@currext}{#2}%
           \expandafter\expandafter\expandafter\ProcessKeyOptions
             \expandafter\expandafter\expandafter
               [\csname opt at fam@\@currname.\@currext\endcsname]%

Modified: trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx	2022-06-21 20:23:29 UTC (rev 63683)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltkeys.dtx}
-             [2022/06/16 v1.0g LaTeX Kernel (Kevyal options)]
+             [2022/06/20 v1.0h LaTeX Kernel (Kevyal options)]
 % \iffalse
 \documentclass{l3doc}
 \GetFileInfo{ltkeys.dtx}
@@ -258,6 +258,7 @@
 %
 % \begin{macro}{\@@_options_global:n}
 % \changes{v1.0f}{2022/03/18}{Simplify to always cover global options}
+% \changes{v1.0h}{2022/06/20}{Use raw options data}
 %   Global (class) options are handled differently for \LaTeXe{} packages
 %   and classes. Hence this function is essentially a check on the current
 %  file type. The initial test is needed as \LaTeXe{} allows variables to
@@ -266,7 +267,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_options_global:n #1
   {
-    \cs_if_eq:NNF \@classoptionslist \scan_stop:
+    \cs_if_eq:NNF \@raw at classoptionslist \scan_stop:
       {
         \cs_if_eq:NNTF \@currext \@clsextension
           { \@@_options_class:n {#1} }
@@ -278,8 +279,10 @@
 %
 % \begin{macro}{\@@_options_class:n}
 % \changes{v1.0g}{2022/06/16}{Better handling of option removal}
-% \begin{macro}{\@@_options_remove:nnn}
-% \changes{v1.0g}{2022/06/16}{New function}
+% \changes{v1.0h}{2022/06/19}{Further work on handling of option removal}
+% \changes{v1.0h}{2022/06/20}{Use raw options data}
+% \begin{macro}{\@@_options_class:nnn}
+% \changes{v1.0h}{2022/06/20}{New function}
 %   For classes, each option (stripped of any content after |=|)
 %   is checked for existence as a key. If found, the option is added to
 %   the combined list for processing. On the other hand, unused options
@@ -289,17 +292,17 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_options_class:n #1
   {
-    \cs_if_free:cF { opt@ \@currname . \@currext }
+    \cs_if_free:cF { @raw at opt@ \@currname . \@currext }
       {
         \keys_if_exist:nnTF {#1} { unknown }
           {
             \clist_put_right:Nv \l_@@_options_clist
-              { opt@ \@currname . \@currext }
+              { @raw at opt@ \@currname . \@currext }
           }
           {
-            \clist_map_inline:cn { opt@ \@currname . \@currext }
+            \clist_map_inline:cn { @raw at opt@ \@currname . \@currext }
               {
-                \@@_options_remove:enn
+                \exp_args:Ne \@@_options_class:nnn
                   { \@@_remove_equals:n {##1} }
                   {##1} {#1}
               }
@@ -306,13 +309,17 @@
           }
       }
   }
-\cs_new_protected:Npn \@@_options_remove:nnn #1#2#3
+\cs_new_protected:Npn \@@_options_class:nnn #1#2#3
   {
     \keys_if_exist:nnTF {#3} {#1}
       { \clist_put_right:Nn \l_@@_options_clist {#2} }
-      { \clist_put_right:Nn \@unusedoptionlist {#1} }
+      {
+        \str_if_eq:eeF
+          { \exp_not:v { @raw at opt@ \@currname . \@currext } }
+          { \exp_not:V \@raw at classoption }
+          { \clist_put_right:Nn \@unusedoptionlist {#1} }
+      }
   }
-\cs_generate_variant:Nn \@@_options_remove:nnn { e }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -319,6 +326,10 @@
 %
 % \begin{macro}{\@@_options_package:n}
 % \changes{v1.0g}{2022/06/16}{Better handling of option removal}
+% \changes{v1.0h}{2022/06/19}{Further work on handling of option removal}
+% \changes{v1.0h}{2022/06/20}{Use raw options data}
+% \begin{macro}{\@@_options_package:nnn}
+% \changes{v1.0h}{2022/06/19}{New function}
 %   For global options when processing a package, the tasks are slightly
 %   different from those for a class. The check is the same, but here
 %   there is nothing to do if the option is not applicable. Each valid
@@ -326,18 +337,28 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_options_package:n #1
   {
-    \clist_map_inline:Nn \@classoptionslist
+    \clist_map_inline:Nn \@raw at classoptionslist
       {
-        \@@_options_remove:enn
+        \exp_args:Ne \@@_options_package:nnn
           { \@@_remove_equals:n {##1} }
           {##1} {#1}
       }
   }
+\cs_new_protected:Npn \@@_options_package:nnn #1#2#3
+  {
+    \keys_if_exist:nnT {#3} {#1}
+      {
+        \clist_put_right:Nn \l_@@_options_clist {#2}
+        \clist_remove_all:Nn \@unusedoptionlist {#1}
+      }
+   }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\@@_options_local:}
-%   If local options are found, the are added to the processing list.
+% \changes{v1.0h}{2022/06/20}{Use raw options data}
+%   If local options are found, they are added to the processing list.
 %   \LaTeXe{} stores options for each file in a macro which may or may not
 %   exist, hence the need to use \cs{cs_if_exist:c}.
 %    \begin{macrocode}
@@ -345,10 +366,10 @@
   {
     \cs_if_eq:NNF \@currext \@clsextension
       {
-        \cs_if_exist:cT { opt@ \@currname . \@currext }
+        \cs_if_exist:cT { @raw at opt@ \@currname . \@currext }
           {
             \clist_put_right:Nv \l_@@_options_clist
-              { opt@ \@currname . \@currext }
+              { @raw at opt@ \@currname . \@currext }
           }
       }
   }

Modified: trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2022-06-21 20:23:29 UTC (rev 63683)
@@ -115,7 +115,7 @@
    {2022-06-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{1}
+\def\patch at level{2}
 %    \end{macrocode}
 %
 % \begin{macro}{\development at branch@name}

Modified: trunk/Master/texmf-dist/tex/latex/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2022-06-21 20:23:29 UTC (rev 63683)
@@ -706,7 +706,7 @@
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
    {2022-06-01}
-\def\patch at level{1}
+\def\patch at level{2}
 \edef\development at branch@name{}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -14274,7 +14274,9 @@
       \@ifundefined{opt at fam@\@currname.\@currext}
         {\@onefilewithoptions at clashchk{#2}}
         {%
-          \@namedef{opt@\@currname.\@currext}{#2}%
+          \expandafter\edef\csname opt@\@currname.\@currext\endcsname
+            {\zap at space#2 \@empty}%
+          \@namedef{@raw at opt@\@currname.\@currext}{#2}%
           \expandafter\expandafter\expandafter\ProcessKeyOptions
             \expandafter\expandafter\expandafter
               [\csname opt at fam@\@currname.\@currext\endcsname]%
@@ -14852,7 +14854,7 @@
   }
 \cs_new_protected:Npn \__keys_options_global:n #1
   {
-    \cs_if_eq:NNF \@classoptionslist \scan_stop:
+    \cs_if_eq:NNF \@raw at classoptionslist \scan_stop:
       {
         \cs_if_eq:NNTF \@currext \@clsextension
           { \__keys_options_class:n {#1} }
@@ -14861,17 +14863,17 @@
   }
 \cs_new_protected:Npn \__keys_options_class:n #1
   {
-    \cs_if_free:cF { opt@ \@currname . \@currext }
+    \cs_if_free:cF { @raw at opt@ \@currname . \@currext }
       {
         \keys_if_exist:nnTF {#1} { unknown }
           {
             \clist_put_right:Nv \l__keys_options_clist
-              { opt@ \@currname . \@currext }
+              { @raw at opt@ \@currname . \@currext }
           }
           {
-            \clist_map_inline:cn { opt@ \@currname . \@currext }
+            \clist_map_inline:cn { @raw at opt@ \@currname . \@currext }
               {
-                \__keys_options_remove:enn
+                \exp_args:Ne \__keys_options_class:nnn
                   { \__keys_remove_equals:n {##1} }
                   {##1} {#1}
               }
@@ -14878,30 +14880,42 @@
           }
       }
   }
-\cs_new_protected:Npn \__keys_options_remove:nnn #1#2#3
+\cs_new_protected:Npn \__keys_options_class:nnn #1#2#3
   {
     \keys_if_exist:nnTF {#3} {#1}
       { \clist_put_right:Nn \l__keys_options_clist {#2} }
-      { \clist_put_right:Nn \@unusedoptionlist {#1} }
+      {
+        \str_if_eq:eeF
+          { \exp_not:v { @raw at opt@ \@currname . \@currext } }
+          { \exp_not:V \@raw at classoption }
+          { \clist_put_right:Nn \@unusedoptionlist {#1} }
+      }
   }
-\cs_generate_variant:Nn \__keys_options_remove:nnn { e }
 \cs_new_protected:Npn \__keys_options_package:n #1
   {
-    \clist_map_inline:Nn \@classoptionslist
+    \clist_map_inline:Nn \@raw at classoptionslist
       {
-        \__keys_options_remove:enn
+        \exp_args:Ne \__keys_options_package:nnn
           { \__keys_remove_equals:n {##1} }
           {##1} {#1}
       }
   }
+\cs_new_protected:Npn \__keys_options_package:nnn #1#2#3
+  {
+    \keys_if_exist:nnT {#3} {#1}
+      {
+        \clist_put_right:Nn \l__keys_options_clist {#2}
+        \clist_remove_all:Nn \@unusedoptionlist {#1}
+      }
+   }
 \cs_new_protected:Npn \__keys_options_local:
   {
     \cs_if_eq:NNF \@currext \@clsextension
       {
-        \cs_if_exist:cT { opt@ \@currname . \@currext }
+        \cs_if_exist:cT { @raw at opt@ \@currname . \@currext }
           {
             \clist_put_right:Nv \l__keys_options_clist
-              { opt@ \@currname . \@currext }
+              { @raw at opt@ \@currname . \@currext }
           }
       }
   }

Modified: trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2022-06-21 20:21:13 UTC (rev 63682)
+++ trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2022-06-21 20:23:29 UTC (rev 63683)
@@ -13966,7 +13966,9 @@
       \@ifundefined{opt at fam@\@currname.\@currext}
         {\@onefilewithoptions at clashchk{#2}}
         {%
-          \@namedef{opt@\@currname.\@currext}{#2}%
+          \expandafter\edef\csname opt@\@currname.\@currext\endcsname
+            {\zap at space#2 \@empty}%
+          \@namedef{@raw at opt@\@currname.\@currext}{#2}%
           \expandafter\expandafter\expandafter\ProcessKeyOptions
             \expandafter\expandafter\expandafter
               [\csname opt at fam@\@currname.\@currext\endcsname]%



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