summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev/base/latex.ltx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-15 20:08:23 +0000
committerKarl Berry <karl@freefriends.org>2022-03-15 20:08:23 +0000
commit269db182a3b5d6df307e49e15092cbd1dd26d898 (patch)
tree3291c66dc473e571ccd897b781c5c39f776ba720 /Master/texmf-dist/tex/latex-dev/base/latex.ltx
parent664dc1f78cafa6dae96ff3bad0b0c4a5906dc9c2 (diff)
latex-dev (15mar22)
git-svn-id: svn://tug.org/texlive/trunk@62725 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/latex.ltx')
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latex.ltx127
1 files changed, 77 insertions, 50 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
index b9cf2952fca..bd313da2fe6 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
@@ -705,7 +705,7 @@
\def\fmtname{LaTeX2e}
\edef\fmtversion
{2022-06-01}
-\def\patch@level{-2}
+\def\patch@level{-3}
\edef\development@branch@name{develop \the\year-\the\month-\the\day}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -853,7 +853,7 @@
\GenericInfo{}{BEGIN module: \new@modulename\space (\new@moduledate)}%
\GenericInfo{}{ \@spaces\@spaces\@spaces\space#3\@gobble}%
\ifnum\sourceLaTeXdate<%
- \expandafter\@parse@version\new@moduledate//00\@nil\relax
+ \expandafter\@parse@version\new@moduledate//00\@nil\relax
\ifnum\expandafter\@parse@version\fmtversion//00\@nil<%
\expandafter\@parse@version\new@moduledate//00\@nil\relax
\GenericInfo{}{Skipping module \new@modulename}%
@@ -868,7 +868,19 @@
\@skipping@moduletrue
\expandafter\new@module@skip
\fi}
-\long\def\new@module@skip#1\IncludeInRelease{\IncludeInRelease}
+\long\def\new@module@skip#1\IncludeInRelease{%
+ \long\def\reserved@a##1\EndModuleRelease{}%
+ \if\relax\detokenize\expandafter{\reserved@a#1{}{}\EndModuleRelease}\relax
+ \else
+ \@latex@error{Missing mandatory \string\IncludeInRelease{0000/00/00}}\@ehc
+ \expandafter\@secondoftwo
+ \fi
+ \@gobble
+ {\@expandtwoargs\IncludeInRelease
+ {0000/00/00}{\new@modulename}%
+ {ERROR! Emergency recovery}%
+ #1}%
+ \IncludeInRelease}
\def\EndModuleRelease{%
\ifx\new@modulename\@empty
\@latex@error{Extra \string\EndModuleRelease.}\@eha
@@ -1151,7 +1163,6 @@
\cs_new_eq:NN \dimeval \dim_eval:n
\cs_new_eq:NN \skipeval \skip_eval:n
\ExplSyntaxOff
-
\ExplSyntaxOn
\cs_new_eq:NN \UseName \use:c
\cs_new:Npn \ExpandArgs #1
@@ -1162,7 +1173,6 @@
\msg_new:nnn { kernel } { unknown-arg-expansion }
{ Unknown~arg~expansion~"#1" }
\ExplSyntaxOff
-
%%% From File: ltdefns.dtx
\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
\protected\long\def\typeout#1{\begingroup
@@ -1720,8 +1730,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.0j}
-\def\ltcmddate{2021-12-31}
+\def\ltcmdversion{v1.0k}
+\def\ltcmddate{2022-02-28}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -4323,6 +4333,9 @@
\cs_new:Npn \IfValueF { \tl_if_novalue:nT }
\cs_new:Npn \IfValueT { \tl_if_novalue:nF }
\cs_new:Npn \IfValueTF #1#2#3 { \tl_if_novalue:nTF {#1} {#3} {#2} }
+\cs_new_eq:NN \IfBlankF \tl_if_blank:nF
+\cs_new_eq:NN \IfBlankT \tl_if_blank:nT
+\cs_new_eq:NN \IfBlankTF \tl_if_blank:nTF
\tl_new:N \ProcessedArgument
\cs_new_eq:NN \ReverseBoolean \__cmd_bool_reverse:N
\cs_new_eq:NN \SplitArgument \__cmd_split_argument:nnn
@@ -13366,7 +13379,12 @@ Type H <return> for immediate help.}%
\def\bibcite{\@newl@bel b}
\let\citation\@gobble
\DeclareRobustCommand\cite{%
- \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+ \@ifnextchar [{\@tempswatrue\@citex@checkblank}{\@tempswafalse\@citex@checkblank[]}}
+\def\@citex@checkblank[#1]#2{%
+ \IfBlankTF {#2}%
+ {\@citex[#1]{\space}}%
+ {\@citex[#1]{#2}}%
+}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
@@ -14363,7 +14381,7 @@ Type H <return> for immediate help.}%
\__keys_tmp:nn
}
\__keys_tmp:nn
- { code } { code }
+ { code:n } { code }
{ legacy_if_set:n } { if }
{ tl_set:N } { store }
{ usage:n } { usage }
@@ -14374,15 +14392,17 @@ Type H <return> for immediate help.}%
\clist_new:N \l__keys_options_clist
\bool_new:N \l__keys_options_loading_bool
\cs_new_protected:Npn \__keys_options:Nn #1#2
+ { \__keys_options_expand_module:Nn \__keys_options:nN {#2} #1 }
+\cs_new_protected:Npn \__keys_options:nN #1#2
{
- \cs_gset_nopar:cpn { opt@fam@\@currname.\@currext } {#2}
+ \cs_gset_nopar:cpn { opt@fam@\@currname.\@currext } {#1}
\cs_set_protected:Npn \__keys_option_end: { }
\clist_clear:N \l__keys_options_clist
- \__keys_options_global:Nn #1 {#2}
+ \__keys_options_global:Nn #2 {#1}
\__keys_options_local:
- \keys_if_exist:nnF {#2} { unknown }
+ \keys_if_exist:nnF {#1} { unknown }
{
- \keys_define:nn {#2}
+ \keys_define:nn {#1}
{
unknown .code:n =
{
@@ -14391,16 +14411,15 @@ Type H <return> for immediate help.}%
}
}
\cs_set_protected:Npn \__keys_option_end:
- { \keys_define:nn {#2} { unknown .undefine: } }
+ { \keys_define:nn {#1} { unknown .undefine: } }
}
\bool_set_true:N \l__keys_options_loading_bool
- \keys_set:nV {#2} \l__keys_options_clist
+ \keys_set:nV {#1} \l__keys_options_clist
\bool_set_false:N \l__keys_options_loading_bool
\AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: }
\__keys_option_end:
- \__keys_options_loaded:n {#2}
+ \__keys_options_loaded:n {#1}
}
-\cs_generate_variant:Nn \__keys_options:Nn { NV }
\msg_new:nnnn { keys } { option-unknown }
{ Unknown~option~'#1'~for~package~#2. }
{
@@ -14464,25 +14483,30 @@ Type H <return> for immediate help.}%
\cs_new:Npn \__keys_remove_equals:n #1
{ \__keys_remove_equals:w #1 = \s__keys_stop }
\cs_new:Npn \__keys_remove_equals:w #1 = #2 \s__keys_stop { \exp_not:n {#1} }
-\NewDocumentCommand \DeclareKeys { o +m }
- {
- \IfNoValueTF {#1}
- { \exp_args:NV \keys_define:nn \@currname }
- { \keys_define:nn {#1} }
- {#2}
- }
-\NewDocumentCommand \ProcessKeyOptions { o }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_new_protected:Npn \__keys_options_expand_module:Nn #1#2
{
- \IfNoValueTF {#1}
- { \__keys_options:NV \c_true_bool \@currname }
- { \__keys_options:Nn \c_true_bool {#1} }
+ \cs:w __keys_options_expand_module:nN \use:e { \cs_end: {#2} } #1
}
-\NewDocumentCommand \ProcessKeyPackageOptions { o }
+\cs_new_protected:Npn \__keys_options_expand_module:nN #1#2
+ { #2 {#1} }
+\NewDocumentCommand \DeclareKeys { O { \@currname } +m }
+ { \__keys_options_expand_module:Nn \keys_define:nn {#1} {#2} }
+\NewDocumentCommand \DeclareUnknownKeyHandler { O { \@currname } +m }
{
- \IfNoValueTF {#1}
- { \__keys_options:NV \c_false_bool \@currname }
- { \__keys_options:Nn \c_false_bool {#1} }
+ \cs_set_protected:cpn { __keys_unknown_handler_ #1 :nn } ##1##2 {#2}
+ \__keys_options_expand_module:Nn \keys_define:nx {#1}
+ {
+ unknown .code:n =
+ \exp_not:N \exp_args:NV
+ \exp_not:c { __keys_unknown_handler_ #1 :nn }
+ \exp_not:N \l_keys_key_str {####1}
+ }
}
+\NewDocumentCommand \ProcessKeyOptions { O { \@currname } }
+ { \__keys_options:Nn \c_true_bool {#1} }
+\NewDocumentCommand \ProcessKeyPackageOptions { O { \@currname } }
+ { \__keys_options:Nn \c_false_bool {#1} }
\@onlypreamble \ProcessKeyOptions
\@onlypreamble \ProcessKeyPackageOptions
\cs_new_protected:Npn \__keys_options_loaded:n #1
@@ -14536,17 +14560,12 @@ Type H <return> for immediate help.}%
LaTeX~was~asked~to~set~a~key~called~"#1",~but~this~is~only~allowed~
before~\begin{document}.~You~will~need~to~set~the~key~earlier.
}
-\NewDocumentCommand \SetKeys { o +m }
- {
- \IfNoValueTF {#1}
- { \keys_set:Vn \@currname }
- { \keys_set:nn {#1} }
- {#2}
- }
+\NewDocumentCommand \SetKeys { O { \@currname } +m }
+ { \__keys_options_expand_module:Nn \keys_set:nn {#1} {#2} }
\ExplSyntaxOff
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0l}
-\providecommand\ltfilehookdate{2021/08/27}
+\providecommand\ltfilehookversion{v1.0m}
+\providecommand\ltfilehookdate{2022/03/10}
\ExplSyntaxOn
\tl_new:N \CurrentFile
\tl_new:N \CurrentFilePath
@@ -14685,8 +14704,16 @@ Type H <return> for immediate help.}%
\cs_new_eq:NN \undeclare@file@substitution \__filehook_subst_remove:n
\ExplSyntaxOff
\ExplSyntaxOff
-\def\set@curr@file#1{%
+\def\set@curr@file{%
\begingroup
+ \set@curr@file@aux}
+\edef\set@curr@file@nosearch{%
+ \begingroup
+ \let\noexpand\input@path\noexpand\@empty
+ \csname seq_clear:N\endcsname
+ \expandafter\noexpand\csname l_file_search_path_seq\endcsname
+ \noexpand\set@curr@file@aux}
+\def\set@curr@file@aux#1{%
\escapechar\m@ne
\let\protect\string
\edef~{\string~}%
@@ -16650,23 +16677,23 @@ Type H <return> for immediate help.}%
\uccode`\^^9e=`\^^d0 % d-bar
\lccode`\^^[=`\^^[ % oe in OT1
\fi % End of reset block for 8-bit engines
+\ExplSyntaxOn
+\protected\def\@expl@text@lowercase@@n{\text_lowercase:n}
+\protected\def\@expl@text@uppercase@@n{\text_uppercase:n}
+\ExplSyntaxOff
+
+%% \begin{macrocode}
\DeclareRobustCommand{\MakeUppercase}[1]{{%
\def\i{I}\def\j{J}%
\def\reserved@a##1##2{\let##1##2\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\uppercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@uppercase@@n{#1}}%
\reserved@a
}}
\DeclareRobustCommand{\MakeLowercase}[1]{{%
\def\reserved@a##1##2{\let##2##1\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\lowercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@lowercase@@n{#1}}%
\reserved@a
}}
\def\@uclclist{\oe\OE\o\O\ae\AE