diff options
author | Karl Berry <karl@freefriends.org> | 2022-06-21 20:23:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-06-21 20:23:29 +0000 |
commit | 30015ed56b95dd3a90998697dbf10ba53b6332d6 (patch) | |
tree | ee1b3c6eb2673d3fe175fd9dbabd21dcfc31c488 /Master/texmf-dist/tex/latex/base/latex.ltx | |
parent | 099def42994e734f58871e3d32c38e3c78eb8215 (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.ltx | 42 |
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 } } } } |