summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/base/latex.ltx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-21 20:23:29 +0000
committerKarl Berry <karl@freefriends.org>2022-06-21 20:23:29 +0000
commit30015ed56b95dd3a90998697dbf10ba53b6332d6 (patch)
treeee1b3c6eb2673d3fe175fd9dbabd21dcfc31c488 /Master/texmf-dist/tex/latex/base/latex.ltx
parent099def42994e734f58871e3d32c38e3c78eb8215 (diff)
latex-base (21jun22)
git-svn-id: svn://tug.org/texlive/trunk@63683 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latex.ltx')
-rw-r--r--Master/texmf-dist/tex/latex/base/latex.ltx42
1 files changed, 28 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx
index 945ad0d79b9..2986263abe5 100644
--- a/Master/texmf-dist/tex/latex/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex/base/latex.ltx
@@ -706,7 +706,7 @@
\def\fmtname{LaTeX2e}
\edef\fmtversion
{2022-06-01}
-\def\patch@level{1}
+\def\patch@level{2}
\edef\development@branch@name{}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -14274,7 +14274,9 @@ Type H <return> for immediate help.}%
\@ifundefined{opt@fam@\@currname.\@currext}
{\@onefilewithoptions@clashchk{#2}}
{%
- \@namedef{opt@\@currname.\@currext}{#2}%
+ \expandafter\edef\csname opt@\@currname.\@currext\endcsname
+ {\zap@space#2 \@empty}%
+ \@namedef{@raw@opt@\@currname.\@currext}{#2}%
\expandafter\expandafter\expandafter\ProcessKeyOptions
\expandafter\expandafter\expandafter
[\csname opt@fam@\@currname.\@currext\endcsname]%
@@ -14852,7 +14854,7 @@ Type H <return> for immediate help.}%
}
\cs_new_protected:Npn \__keys_options_global:n #1
{
- \cs_if_eq:NNF \@classoptionslist \scan_stop:
+ \cs_if_eq:NNF \@raw@classoptionslist \scan_stop:
{
\cs_if_eq:NNTF \@currext \@clsextension
{ \__keys_options_class:n {#1} }
@@ -14861,47 +14863,59 @@ Type H <return> for immediate help.}%
}
\cs_new_protected:Npn \__keys_options_class:n #1
{
- \cs_if_free:cF { opt@ \@currname . \@currext }
+ \cs_if_free:cF { @raw@opt@ \@currname . \@currext }
{
\keys_if_exist:nnTF {#1} { unknown }
{
\clist_put_right:Nv \l__keys_options_clist
- { opt@ \@currname . \@currext }
+ { @raw@opt@ \@currname . \@currext }
}
{
- \clist_map_inline:cn { opt@ \@currname . \@currext }
+ \clist_map_inline:cn { @raw@opt@ \@currname . \@currext }
{
- \__keys_options_remove:enn
+ \exp_args:Ne \__keys_options_class:nnn
{ \__keys_remove_equals:n {##1} }
{##1} {#1}
}
}
}
}
-\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@opt@ \@currname . \@currext } }
+ { \exp_not:V \@raw@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@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@opt@ \@currname . \@currext }
{
\clist_put_right:Nv \l__keys_options_clist
- { opt@ \@currname . \@currext }
+ { @raw@opt@ \@currname . \@currext }
}
}
}