diff options
author | Karl Berry <karl@freefriends.org> | 2022-12-03 20:59:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-12-03 20:59:29 +0000 |
commit | 7a13d37503ca9d59e636a91a54338591e1e255a5 (patch) | |
tree | c9e8db5cf3ebd16fd6129b8af27c74480fceb854 /Master/texmf-dist/tex/latex-dev/base/latex.ltx | |
parent | 4e6b6563d55b107fca068e76b243e07311f4400e (diff) |
latex-base-dev (3dec22)
git-svn-id: svn://tug.org/texlive/trunk@65180 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.ltx | 193 |
1 files changed, 154 insertions, 39 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx index b8a4e3a4c36..93b771f2474 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx +++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx @@ -705,8 +705,8 @@ %%% From File: ltvers.dtx \def\fmtname{LaTeX2e} \edef\fmtversion - {2023-05-01} -\def\patch@level{-0} + {2023-06-01} +\def\patch@level{-1} \edef\development@branch@name{develop \the\year-\the\month-\the\day} \iffalse \def\reserved@a#1/#2/#3\@nil{% @@ -732,19 +732,22 @@ \fi \let\reserved@a\relax \fi +\newtoks\LaTeXReleaseInfo +\everyjob\expandafter{\the\everyjob\the\LaTeXReleaseInfo} +\let\show@release@info\typeout \ifnum0\ifnum\patch@level=0 \ifx\development@branch@name\@empty 1\fi\fi>0 % - \everyjob\expandafter{\the\everyjob - \typeout{\fmtname\space <\fmtversion>}} + \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo + \show@release@info{\fmtname\space <\fmtversion>}} \immediate \write16{\fmtname \space<\fmtversion>} \else\ifnum\patch@level>0 - \everyjob\expandafter{\the\everyjob - \typeout{\fmtname\space <\fmtversion> patch level \patch@level}} + \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo + \show@release@info{\fmtname\space <\fmtversion> patch level \patch@level}} \immediate \write16{\fmtname\space <\fmtversion> patch level \patch@level} \else - \everyjob\expandafter{\the\everyjob - \typeout{\fmtname\space <\fmtversion> + \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo + \show@release@info{\fmtname\space <\fmtversion> pre-release-\number-\patch@level\space \ifx\development@branch@name\@undefined \else \ifx\development@branch@name\@empty \else @@ -1519,13 +1522,35 @@ \long\def\declare@commandcopy#1#2#3#4{% \edef\reserved@a{\@expl@cs@to@str@@N#3}% \@ifundefined\reserved@a{#1}{#2}% - {\robust@command@act - \@declarecommandcopylisthook#4% - \declare@commandcopy@let{#3#4}}} + {\declare@commandcopy@do{#3}{#4}}} +\long\def\declare@commandcopy@do#1#2{% + \robust@command@act + \@declarecommandcopylisthook#2% + \declare@commandcopy@let{#1#2}} \def\@declarecommandcopylisthook{% {\@if@DeclareRobustCommand \@copy@DeclareRobustCommand}% {\@if@newcommand \@copy@newcommand}} \long\def\declare@commandcopy@let#1#2{\let#1=#2\relax} +\def\NewEnvironmentCopy{% + \declare@environmentcopy + {\@firstofone}% + {\@firstoftwo\@notdefinable}} +\def\RenewEnvironmentCopy{% + \declare@environmentcopy + {\@latex@error{Environment \reserved@a\space undefined}\@ehc + \@firstofone}% + {\@firstofone}} +\def\DeclareEnvironmentCopy{% + \declare@environmentcopy + {\@firstofone}% + {\@firstofone}} +\long\def\declare@environmentcopy#1#2#3#4{% + \edef\reserved@a{\@ifundefined{#3}{end#3}{#3}}% + \@ifundefined\reserved@a + {\def\reserved@a{#3}#1}% + {\def\reserved@a{#3}#2}% + {\ExpandArgs{cc}\declare@commandcopy@do{#3}{#4}% + \ExpandArgs{cc}\declare@commandcopy@do{end#3}{end#4}}} \long\def\ShowCommand#1{% \robust@command@act \@showcommandlisthook#1% @@ -1585,9 +1610,10 @@ \robust@command@chk@safe#1% {\@if@newcommand#1% {\@show@newcommand}% - {\show}}% - {\show}% + {\@show@macro}}% + {\@show@macro}% #1} +\let\@show@macro\show \long\def\@if@newcommand#1{% \edef\reserved@a{% \noexpand\@protected@testopt @@ -1615,13 +1641,59 @@ \typeout{->\@expl@cs@replacement@spec@@N#1.^^J}% \expandafter\@show@newcommand@aux \csname\@backslashchar\@expl@cs@to@str@@N#1\expandafter\endcsname - \expandafter{#1}} -\long\def\@show@newcommand@aux#1#2{% + \expandafter{#1}\@show@tokens} +\long\def\@show@newcommand@aux#1#2#3{% \typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}% - \edef\reserved@a{% - default \string##1=\expandafter\detokenize\@gobblethree#2.^^J% - \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}% - \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved@a}} + #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J% + \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}} +\long\def\@show@tokens#1{% + \edef\reserved@a{#1}% + \showtokens\expandafter + \expandafter\expandafter{\expandafter\reserved@a}} +\def\ShowEnvironment#1{% + \expandafter\@show@environment\csname #1\endcsname} +\long\def\@show@environment#1{% + \robust@command@act + \@showenvironmentlisthook#1% + \@show@normalenv#1} +\def\@showenvironmentlisthook{% + {\@if@DeclareRobustCommand \@show@DeclareRobustCommand@env}% + {\@if@newcommand \@show@newcommand@env}} +\long\def\@show@newcommand@env#1{% + \@show@environment@begin#1% + \expandafter\@show@newcommand@aux + \csname\@backslashchar\@expl@cs@to@str@@N#1\expandafter\endcsname + \expandafter{#1}\@show@typeout + \@show@environment@end#1} +\long\def\@show@DeclareRobustCommand@env#1{% + \@show@environment@begin#1% + \begingroup + \let\@show@tokens\@show@typeout + \let\@show@macro\@show@nonstop + \expandafter\show@kernel@robust@command + \csname\@expl@cs@to@str@@N#1 \endcsname + \endgroup + \@show@environment@end#1} +\long\def\@show@environment@begin#1{% + \typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}% + \typeout{\@expl@cs@argument@spec@@N#1->% + \@expl@cs@replacement@spec@@N#1.^^J}} +\long\def\@show@normalenv#1{% + \@show@environment@begin#1% + \@show@environment@end#1} +\long\def\@show@environment@end#1{% + \expandafter\@show@environment@end@aux + \csname end\@expl@cs@to@str@@N#1\endcsname#1} +\long\def\@show@environment@end@aux#1#2{% + \@show@tokens{\string\end{\@expl@cs@to@str@@N#2}% + \ifx\relax#1=undefined% + \else:^^J\@expl@cs@argument@spec@@N#1->% + \@expl@cs@replacement@spec@@N#1% + \fi}} +\def\@show@nonstop#1{% + \typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J% + \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}} +\def\@show@typeout#1{\typeout{> #1.^^J}} \def\@ifundefined#1{% \ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}} \long\def\@ifundefin@d@i#1\fi#2{\fi @@ -1731,8 +1803,8 @@ \xdef#1{\the\toks@}% \endgroup} %%% From File: ltcmd.dtx -\def\ltcmdversion{v1.1a} -\def\ltcmddate{2022-08-16} +\def\ltcmdversion{v1.1b} +\def\ltcmddate{2022-11-29} \message{document commands,} \ExplSyntaxOn \tl_new:N \l__cmd_arg_spec_tl @@ -2938,19 +3010,25 @@ \cs_new_protected:Npn \__cmd_show_command:N #1 { \exp_after:wN \__cmd_show_command:NnNNwN #1 \q__cmd #1 } \cs_new_protected:Npn \__cmd_show_command:NnNNwN #1 #2 #3 #4 #5 \q__cmd #6 - { \__cmd_show_command_aux:nNNn { document~command } #6 #4 {#2} } + { + \__cmd_show_command_aux:NnNNn \tl_show:x + { document~command } #6 #4 {#2} + } \cs_new_protected:Npn \__cmd_show_expandable:N #1 { \exp_after:wN \__cmd_show_expandable:NnNNNNnN #1 #1 } \cs_new_protected:Npn \__cmd_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8 - { \__cmd_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} } -\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4 { - \__cmd_split_signature:n {#4} - \tl_show:x + \__cmd_show_command_aux:NnNNn \tl_show:x + { expandable~document~command } #8 #5 {#2} + } +\cs_new_protected:Npn \__cmd_show_command_aux:NnNNn #1 #2 #3 #4 #5 + { + \__cmd_split_signature:n {#5} + #1 { - \token_to_str:N #2 = #1: \iow_newline: + \token_to_str:N #3 = #2: \iow_newline: \tl_use:N \l__cmd_tmpa_tl - -> \cs_replacement_spec:N #3 + -> \cs_replacement_spec:N #4 } } \cs_new_protected:Npn \__cmd_show_environment:N #1 @@ -2967,12 +3045,14 @@ { \use:x { - \__cmd_show_command_aux:nNNn { document~environment } + \__cmd_show_command_aux:NnNNn \__cmd_show:x { document~environment } { \exp_not:N \begin {#3} } \exp_not:c { environment~ #3 ~ code } {#2} } } +\cs_new_protected:Npn \__cmd_show:x #1 + { \iow_term:x { > ~ #1 . \iow_newline: } } \cs_new_protected:Npn \__cmd_show_environment_end:N #1 { \exp_args:NNx \__cmd_check_end:Nn \l__cmd_tmpa_tl { \cs_to_str:N #1 } @@ -2980,6 +3060,8 @@ } \tl_gput_right:Nn \@showcommandlisthook { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } } +\tl_gput_right:Nn \@showenvironmentlisthook + { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } } \cs_new_protected:Npn \__cmd_split_signature:n #1 { \int_set:Nn \l__cmd_current_arg_int { 1 } @@ -6744,7 +6826,7 @@ Type H <return> for immediate help.}% \@xnewline}% \@xnewline} \let\\\@normalcr -\def\@vspace@calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup} +\def\@vspace@calcify#1{\setlength\sp@ce@skip{#1}\vskip\sp@ce@skip} \DeclareRobustCommand\newline{\@normalcr\relax} \def\@xnewline{\@ifnextchar[% ] bracket matching @@ -6912,7 +6994,8 @@ Type H <return> for immediate help.}% \expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname \def\@{\spacefactor\@m{}}% \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} -\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup} +\newskip\sp@ce@skip +\def\@hspace#1{\setlength\sp@ce@skip{#1}\hskip\sp@ce@skip} \def\@hspacer#1{\vrule \@width\z@\nobreak \@hspace{#1}\hskip \z@skip} @@ -11245,6 +11328,13 @@ Type H <return> for immediate help.}% \NewHook{enddocument/end} \AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist} \AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings} +\AddToHook{enddocument/info}[kernel/release]{% + \let\show@release@info\wlog + \show@release@info{ ***********}% + \the\LaTeXReleaseInfo + \show@release@info{ ***********}} + +\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist} \DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings} \def\@enddocument@kernel@warnings{% \ifdim \font@submax >\fontsubfuzz\relax @@ -14685,7 +14775,7 @@ Type H <return> for immediate help.}% \csname filec@ntents@\reserved@a\endcsname \else \@latex@error{Unknown filecontents option \reserved@a}% - {Valid options are force (or overwrite), nosearch, noheader}% + {Valid options are force (or overwrite), nosearch, noheader, nowarn}% \fi}% \filec@ntents } @@ -14697,6 +14787,10 @@ Type H <return> for immediate help.}% \def\filec@ntents@where{in current directory}} \let\filec@ntents@checkdir\@empty \def\filec@ntents@where{exists on the system} +\def\filec@ntents@nowarn{% + \let\filec@ntents@warning\@latex@note@no@line +} +\let\filec@ntents@warning\@latex@warning@no@line \begingroup% \@tempcnta=1 \loop @@ -14741,8 +14835,8 @@ Type H <return> for immediate help.}% write to the file you are reading from!\MessageBreak% Data is written to screen instead.}% \else% - \@latex@warning@no@line% - {Writing or overwriting file `\@currdir\@curr@file'}% + \filec@ntents@warning% + {Writing or overwriting file `\@curr@file'}% \immediate\openout\reserved@c\q@curr@file\relax% \fi% \fi% @@ -15507,8 +15601,8 @@ Type H <return> for immediate help.}% %% Frank Mittelbach, LaTeX Team %% %%% From File: ltshipout.dtx -\providecommand\ltshipoutversion{v1.0m} -\providecommand\ltshipoutdate{2022/08/26} +\providecommand\ltshipoutversion{v1.0n} +\providecommand\ltshipoutdate{2022/11/08} \ExplSyntaxOn \bool_new:N \g__shipout_debug_bool \cs_new_eq:NN \__shipout_debug:n \use_none:n @@ -15622,6 +15716,7 @@ Type H <return> for immediate help.}% \bool_gset_true:N \g__shipout_lastpage_handled_bool } } + \hook_use:n {shipout} \__shipout_finalize_box: \cs_set_eq:NN \protect \exp_not:N \tex_shipout:D \box_use:N \l_shipout_box @@ -15653,6 +15748,7 @@ Type H <return> for immediate help.}% \cs_gset_eq:NN \RawShipout \__shipout_execute_raw: \cs_new_eq:NN \__shipout_saved_protect: \protect \hook_new:n{shipout/before} +\hook_new:n{shipout} \hook_new:n{shipout/after} \hook_new:n{shipout/foreground} \hook_new:n{shipout/background} @@ -17383,9 +17479,7 @@ Type H <return> for immediate help.}% \cs_set_protected:Npn \reserved@a #1 { \cs_generate_variant:cn { text_ \str_lowercase:n {#1} case:nn } { V } - \cs_new_protected:cpx { Make#1case \c_space_tl \c_space_tl \c_space_tl } [##1] ##2 - { \exp_not:N \@@text@case@aux { \str_lowercase:n {#1} } {##1} {##2} } - \ExpandArgs { cnx } \NewExpandableDocumentCommand + \ExpandArgs { cnx } \NewExpandableDocumentCommand { Make#1case } { O{} +m } { \exp_not:c { Make#1case \c_space_tl \c_space_tl \c_space_tl } [####1] {####2} } @@ -17393,6 +17487,27 @@ Type H <return> for immediate help.}% \reserved@a { Upper } \reserved@a { Lower } \reserved@a { Title } +\cs_new_protected:cpn { MakeLowercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2 + { + \let \kernel@saved@OE \OE + \let \OE \oe + \@@text@case@aux { lower } {#1} {#2} + \let \OE \kernel@saved@OE + } +\cs_new_protected:cpn { MakeUppercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2 + { + \let \kernel@saved@oe \oe + \let \oe \OE + \@@text@case@aux { upper } {#1} {#2} + \let \oe \kernel@saved@oe + } +\cs_new_protected:cpn { MakeTitlecase \c_space_tl \c_space_tl \c_space_tl } [#1] #2 + { + \let \kernel@saved@oe \oe + \let \oe \OE + \@@text@case@aux { title } {#1} {#2} + \let \oe \kernel@saved@oe + } \cs_new_protected_nopar:Npn\AddToNoCaseChangeList {\tl_put_right:Nn \l_text_case_exclude_arg_tl} \AddToNoCaseChangeList{ \NoCaseChange } |