diff options
author | Karl Berry <karl@freefriends.org> | 2020-10-28 20:35:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-10-28 20:35:26 +0000 |
commit | 62cf1eaa95c7ba58202f5dc2bf73d696571ba4ba (patch) | |
tree | 558f7f8c43402460a351450404d10eb95d8ab240 /Master/texmf-dist/source/latex-dev/base | |
parent | d13ad981b2b59dceaa311340f367af1b82e2ddaf (diff) |
latex-dev (28oct20)
git-svn-id: svn://tug.org/texlive/trunk@56791 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex-dev/base')
14 files changed, 260 insertions, 275 deletions
diff --git a/Master/texmf-dist/source/latex-dev/base/format.ins b/Master/texmf-dist/source/latex-dev/base/format.ins index bad21debd27..8796d16d3e2 100644 --- a/Master/texmf-dist/source/latex-dev/base/format.ins +++ b/Master/texmf-dist/source/latex-dev/base/format.ins @@ -239,9 +239,6 @@ the system are in the document `cfgguide.tex'. \generate{\file{structuredlog.sty}{\from{ltfilehook.dtx}{structuredlog}}} -%drafts to get removed -\generate{\file{filehook-ltx.sty}{\from{ltfilehook.dtx}{filehook-draft}}} -\generate{\file{srclfile-ltx.sty}{\from{ltfilehook.dtx}{scrlfile-draft}}} diff --git a/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx b/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx index e5d5c9264df..39c134b3bfd 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltboxes.dtx} - [2020/10/01 v1.4a LaTeX Kernel (Box Commands)] + [2020/09/27 v1.4a LaTeX Kernel (Box Commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltboxes.dtx} @@ -392,7 +392,7 @@ \kern\z@}} %</2ekernel|latexrelease> % \end{macrocode} -% +% % \begin{macrocode} %<latexrelease>\EndIncludeInRelease %<latexrelease>\IncludeInRelease{0000/00/00}% @@ -413,6 +413,7 @@ %<latexrelease> \kern\z@}} %<latexrelease>\EndIncludeInRelease %<*2ekernel> +% \end{macrocode} % \end{macro} % % diff --git a/Master/texmf-dist/source/latex-dev/base/ltclass.dtx b/Master/texmf-dist/source/latex-dev/base/ltclass.dtx index 44fe0f88567..b639ae9410a 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltclass.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltclass.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltclass.dtx} - [2020/09/06 v1.3q LaTeX Kernel (Class & Package Interface)] + [2020/10/18 v1.3t LaTeX Kernel (Class & Package Interface)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltclass.dtx} @@ -561,6 +561,7 @@ % |#4| Rest of the stack. % \changes{v1.3l}{2020/06/05}{Added \cs{@expl@push@filename@@} % and \cs{@expl@push@filename@aux@@}} +% \changes{v1.3s}{2020/10/08}{Added missing 2020/02/02 \cs{IncludeInRelease}} % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> @@ -586,6 +587,27 @@ \@currnamestack}% \@expl@push@filename@aux@@} %<latexrelease>\EndIncludeInRelease +% \end{macrocode} +% +% The following version of \cs{@pushfilename} didn't formally exist in +% this file, but in the 2020/02/02 release, \pkg{expl3} was preloaded +% and it patched \cs{@pushfilename} (and \cs{@popfilename}) by adding +% some hooks in there. But rolling back to 2020/02/02, \pkg{expl3} +% doesn't patch these macros again, so rolling back has to take those +% hooks into account. Same goes for \cs{@popfilename}. +% \begin{macrocode} +%<latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}{\@pushfilename}% +%<latexrelease> {Add \@expl@push@filename@@}% +%<latexrelease>\def\@pushfilename{% +%<latexrelease> \@expl@push@filename@@ +%<latexrelease> \xdef\@currnamestack{% +%<latexrelease> {\@currname}% +%<latexrelease> {\@currext}% +%<latexrelease> {\the\catcode`\@}% +%<latexrelease> \@currnamestack}% +%<latexrelease> \@expl@push@filename@aux@@} +%<latexrelease>\EndIncludeInRelease %<latexrelease> %<latexrelease>\IncludeInRelease{0000/00/00}{\@pushfilename}% %<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}% @@ -613,6 +635,12 @@ \@expl@pop@filename@@} %<latexrelease>\EndIncludeInRelease %<latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}{\@popfilename}% +%<latexrelease> {Add \@expl@push@filename@@}% +%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil +%<latexrelease> \@expl@pop@filename@@} +%<latexrelease>\EndIncludeInRelease +%<latexrelease> %<latexrelease>\IncludeInRelease{0000/00/00}{\@popfilename}% %<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}% %<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil} @@ -906,14 +934,18 @@ % be cautious when handling the identification string in case it % contains UTF-8 characters. % \changes{v1.3e}{2019/11/29}{Protect package info text (gh/52)} +% \changes{v1.3r}{2020/10/01}{Allow for package subsitution} % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> -%<latexrelease>\IncludeInRelease{2020/02/02}% -%<latexrelease> {\@pr@videpackage}{Protection for package info}% +%<latexrelease>\IncludeInRelease{2020/10/01}% +%<latexrelease> {\@pr@videpackage}{Allow for package subsitution}% \def\@pr@videpackage[#1]{% \expandafter\protected@xdef % <-- protected... - \csname ver@\@currname.\@currext\endcsname{#1}% + \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package + \expandafter\let + \csname ver@\@currpkg@reqd\expandafter\endcsname % Requested package + \csname ver@\@currname.\@currext\endcsname \ifx\@currext\@clsextension \typeout{Document Class: \@gtempa\space#1}% \else @@ -938,6 +970,19 @@ % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\@pr@videpackage}{Protection for package info}% +%<latexrelease> +%<latexrelease>\def\@pr@videpackage[#1]{% +%<latexrelease> \expandafter\protected@xdef % <-- protected... +%<latexrelease> \csname ver@\@currname.\@currext\endcsname{#1}% +%<latexrelease>\ifx\@currext\@clsextension +%<latexrelease> \typeout{Document Class: \@gtempa\space#1}% +%<latexrelease> \else +%<latexrelease> \protected@wlog{Package: \@gtempa\space#1}% <--- protected +%<latexrelease> \fi} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease %<latexrelease>\IncludeInRelease{0000/00/00}% %<latexrelease> {\@pr@videpackage}{Protection for package info}% %<latexrelease> @@ -1020,13 +1065,16 @@ % \begin{macro}{\PassOptionsToClass} % If the package has been loaded, we check that it was first loaded with % the options. Otherwise we add the option list to that of the package. +% \changes{v1.3t}{2020/10/18}{Drop path from \cs{input@path} (gh/414).} % \begin{macrocode} %</2ekernel> %<latexrelease>\IncludeInRelease{2020/10/01}{\@pass@ptions} %<latexrelease> {Add file replacement in \@pass@ptions}% %<*2ekernel|latexrelease> \def\@pass@ptions#1#2#3{% - \edef\reserved@a{\@expl@@@filehook@resolve@file@subst@@w #3.#1\@nil}% + \@expl@@@filehook@set@curr@file@@nNN + {\@expl@@@filehook@resolve@file@subst@@w #3.#1\@nil}% + \reserved@a\reserved@b \expandafter\xdef\csname opt@\reserved@a\endcsname{% \@ifundefined{opt@\reserved@a}\@empty {\csname opt@\reserved@a\endcsname,}% @@ -1757,7 +1805,13 @@ % \cs{@currext} are used we lose track of the substitution, so % \cs{CurrentFile} and \cs{CurrentFileUsed} will be (incorrectly) % the same. +% +% \changes{v1.3t}{2020-10-11}{Restore \cs{@currpkg@reqd} after +% finished loading a package file (gh/408).} % \begin{macrocode} + \expandafter\@swaptwoargs\expandafter + {\expandafter{\@currpkg@reqd}}% + {% < \edef\@currpkg@reqd{\@currname.\@currext}% \ifx\CurrentFile\CurrentFileUsed \else @@ -1766,6 +1820,8 @@ \edef\@currext{\string@makeletter\filename@ext}% \fi \load@onefile@withoptions{#2}% + \def\@currpkg@reqd%{\@currpkg@reqd} + }% > % \end{macrocode} % Now just clean up and exit. % \begin{macrocode} @@ -1792,7 +1848,11 @@ \@popfilename \@reset@ptions} % \end{macrocode} -% +% +% \begin{macrocode} +\let\@currpkg@reqd\@empty +% \end{macrocode} +% % \begin{macrocode} \@onlypreamble\@onefilewithoptions % \end{macrocode} diff --git a/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx b/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx index 476d102ae4e..569c9db4df9 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltdefns.dtx} - [2020/09/06 v1.5n LaTeX Kernel (definition commands)] + [2020/09/25 v1.5n LaTeX Kernel (definition commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltdefns.dtx} @@ -999,7 +999,7 @@ % evaluates its argument fully. % \end{itemize} % The method \LaTeX{} uses for making fragile commands robust is to -% precede them with |\protect|. This can have one of five possible +% precede them with |\protect|. This can have one of four possible % values: % \begin{itemize} % \item |\relax|, for normal typesetting. So |\protect\foo| will diff --git a/Master/texmf-dist/source/latex-dev/base/ltfilehook.dtx b/Master/texmf-dist/source/latex-dev/base/ltfilehook.dtx index 26dba35165f..ecb499f3475 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltfilehook.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltfilehook.dtx @@ -31,8 +31,8 @@ %%% From File: ltfilehook.dtx % % \begin{macrocode} -\providecommand\ltfilehookversion{v1.0a} -\providecommand\ltfilehookdate{2020/08/30} +\providecommand\ltfilehookversion{v1.0c} +\providecommand\ltfilehookdate{2020/10/18} % \end{macrocode} % %<*driver> @@ -840,7 +840,7 @@ %<latexrelease>\IncludeInRelease{2020/10/01}% %<latexrelease> {\declare@file@substitution}{File substitution}% \ExplSyntaxOn -\cs_new_eq:NN \declare@file@substitution \@@_subst_add:nn +\cs_new_eq:NN \declare@file@substitution \@@_subst_add:nn \cs_new_eq:NN \undeclare@file@substitution \@@_subst_remove:n \ExplSyntaxOff %</2ekernel|latexrelease> @@ -872,8 +872,8 @@ % % \begin{macro}{\set@curr@file,\@curr@file,\@curr@file@reqd} % Now we hook into \cs{set@curr@file} to resolve a possible file -% substitution, and add \cs{@expl@@@filehook@set@curr@file@@N} at the end, after -% \cs{@curr@file} is set. +% substitution, and add \cs{@expl@@@filehook@set@curr@file@@nNN} +% at the end, after \cs{@curr@file} is set. % % A file name is built using % \cs{expandafter}\cs{string}\cs{csname}\meta{filename}\cs{endcsname} @@ -987,24 +987,24 @@ .tex\else\string#1\fi} % \end{macrocode} % -% Then we call \cs{@expl@@@filehook@set@curr@file@@N} once for \cs{@curr@file} -% to set \cs[no-index]{CurrentFile(Path)Used} and once for +% Then we call \cs{@expl@@@filehook@set@curr@file@@nNN} once for +% \cs{@curr@file} to set \cs[no-index]{CurrentFile(Path)Used} and once for % \cs{@curr@file@reqd} to set \cs[no-index]{CurrentFile(Path)}. % Here too the slower route is only used if a substitution happened, -% but here \cs{@expl@@@filehook@if@file@replaced@@TF} can't be used because the -% flag is reset at the \cs{endgroup} above, so we check if +% but here \cs{@expl@@@filehook@if@file@replaced@@TF} can't be used because +% the flag is reset at the \cs{endgroup} above, so we check if % \cs{@curr@file} and \cs{@curr@file@reqd} differ. This macro is % issued separate from \cs{set@curr@file} because it changes % \cs{CurrentFile}, and side-effects would quickly get out of control. % \begin{macrocode} \def\@filehook@set@CurrentFile{% - \@expl@@@filehook@set@curr@file@@N{\@curr@file}% + \@expl@@@filehook@set@curr@file@@nNN{\@curr@file}% \CurrentFileUsed\CurrentFilePathUsed \ifx\@curr@file@reqd\@curr@file \let\CurrentFile\CurrentFileUsed \let\CurrentFilePath\CurrentFilePathUsed \else - \@expl@@@filehook@set@curr@file@@N{\@curr@file@reqd}% + \@expl@@@filehook@set@curr@file@@nNN{\@curr@file@reqd}% \CurrentFile\CurrentFilePath \fi} %</2ekernel|latexrelease> @@ -1016,8 +1016,7 @@ % % % -% \begin{macro}{\@@_set_curr_file:N, -% \@@_set_curr_file:nNN, +% \begin{macro}{\@@_set_curr_file:nNN, % \@@_set_curr_file_assign:nnnNN} % When inputting a file, \cs{set@curr@file} does a file lookup % (in \cs{input@path} and \cs{l_file_search_path_seq}) and returns the @@ -1032,17 +1031,12 @@ %</2ekernel> %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2020/10/01}% -%<latexrelease> {@@_set_curr_file:N}{Set curr file}% +%<latexrelease> {@@_set_curr_file:nNN}{Set curr file}% \ExplSyntaxOn %<@@=filehook> -\cs_new_protected:Npn \@@_set_curr_file:N #1 - { \exp_args:NV \@@_set_curr_file:nNN #1 } -% \end{macrocode} -% -% \begin{macrocode} \cs_new_protected:Npn \@@_set_curr_file:nNN #1 { - \@@_file_parse_full_name:nN {#1} + \exp_args:Nf \@@_file_parse_full_name:nN {#1} \@@_set_curr_file_assign:nnnNN } \cs_new_protected:Npn \@@_set_curr_file_assign:nnnNN #1 #2 #3 #4 #5 @@ -1331,8 +1325,8 @@ % \end{macrocode} % % \begin{macrocode} -\cs_new_eq:NN \@expl@@@filehook@set@curr@file@@N - \__filehook_set_curr_file:N +\cs_new_eq:NN \@expl@@@filehook@set@curr@file@@nNN + \__filehook_set_curr_file:nNN % \end{macrocode} % % \begin{macrocode} @@ -1348,7 +1342,6 @@ % \begin{macrocode} \cs_new_eq:NN \@expl@@@filehook@if@file@replaced@@TF \__filehook_if_file_replaced:TF - % \end{macrocode} % % \begin{macrocode} @@ -1532,184 +1525,6 @@ % \end{macrocode} % % -% \subsection{Package \pkg{filehook} emulation} -% -% This is a partial implementation of the \pkg{filehook} -% interfaces. It is only meant for guidance in case that package -% gets updated to use the hook management. -% -% Not implemented are: -%\begin{verbatim} -% \AtBeginOfFiles -% \AtEndOfFiles -% \AtBeginOfInputs -% \AtEndOfInputs -% \AtBeginOfInputFile -% \AtEndOfInputFile -%\end{verbatim} -% -% \begin{macrocode} -%<*filehook-draft> -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\AtBeginOfEveryFile [1] - {\AddToHook{file/before}{#1}} -\newcommand\AtEndOfEveryFile [1] - {\AddToHook{file/after}{#1}} -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\AtBeginOfIncludes [1] - {\AddToHook{include/before}{#1}} -\newcommand\AtEndOfIncludes [1] - {\AddToHook{include/end}{#1}} -\newcommand\AfterIncludes [1] - {\AddToHook{include/after}{#1}} -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\AtBeginOfPackages [1] - {\AddToHook{package/before}{#1}} -\newcommand\AtEndOfPackages [1] - {\AddToHook{package/after}{#1}} -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\AtBeginOfClasses [1] - {\AddToHook{class/before}{#1}} -\newcommand\AtEndOfClasses [1] - {\AddToHook{class/after}{#1}} -% \end{macrocode} -% -% For normal files we drop the \texttt{.tex} extension for now: -% \begin{macrocode} -\newcommand\AtBeginOfFile [2] - {\AddToHook{file/before/#1}{#2}} -\newcommand\AtEndOfFile [2] - {\AddToHook{file/after/#1}{#2}} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareDocumentCommand \AtBeginOfPackageFile {smm} - {\IfBooleanTF{#1}% - {\@ifpackageloaded{#2}% - {#3}% - {\AddToHook{package/before/#2}{#3}}}% - {\AddToHook{package/before/#2}{#3}}% - } -\DeclareDocumentCommand \AtEndOfPackageFile {smm} - {\IfBooleanTF{#1}% - {\@ifpackageloaded{#2}% - {#3}% - {\AddToHook{package/after/#2}{#3}}}% - {\AddToHook{package/after/#2}{#3}}% - } -% \end{macrocode} -% -% Are the * forms here of any use? I know they are use 3--4 times -% on CTAN but I wonder if those are real or mistaken usages. -% \begin{macrocode} -\DeclareDocumentCommand \AtBeginOfClassFile {smm} - {\IfBooleanTF{#1}% - {\@ifclassloaded{#2}% - {#3}% - {\AddToHook{class/before/#2}{#3}}}% - {\AddToHook{class/before/#2}{#3}}% - } -\DeclareDocumentCommand \AtEndOfClassFile {smm} - {\IfBooleanTF{#1}% - {\@ifclassloaded{#2}% - {#3}% - {\AddToHook{class/after/#2}{#3}}}% - {\AddToHook{class/after/#2}{#3}}% - } -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\AtBeginOfIncludeFile [2] - {\AddToHook{include/before/#1}{#2}} -\newcommand\AtEndOfIncludeFile [2] - {\AddToHook{include/end/#1}{#2}} -\newcommand\AfterIncludeFile [2] - {\AddToHook{include/after/#1}{#2}} -% \end{macrocode} -% -% -% This is missing some interfaces so disabling the package isn't -% really correct, but then this code above is not supposed to stay -% like this anyway. -% \begin{macrocode} -\expandafter\let\csname ver@filehook.sty\endcsname\fmtversion -\@namedef {ver@filehook.sty}{2020/10/01} -% \end{macrocode} -% -% -% \begin{macrocode} -%</filehook-draft> -% \end{macrocode} -% -% -% -% -% \subsection{Package \pkg{scrlfile} emulation} -% -% This is a partial implementation of the \pkg{scrlfile} -% interfaces. It is only meant for guidance in case that package -% gets updated to use the hook management. -% -% \begin{macrocode} -%<*scrlfile-draft> -% \end{macrocode} -% -% I think this is roughly correct (using the \texttt{file/...} -% hooks rather than the class or package hooks at least for the -% \cs{After...} commands but it needs some further verification. -% -% The star and plus variants haven't been implemented so far, this -% is only a rough draft. -% \begin{macrocode} -\newcommand\BeforeClass[2] - {\AddToHook{file/before/#1.cls}{#2}} -\newcommand\AfterClass [2] - {\AddToHook{file/after/#1.cls}{#2}} -\newcommand\AfterAtEndOfClass [2] - {\AddToHook{class/after/#1}{#2}} -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\BeforePackage [2] - {\AddToHook{package/before/#1.sty}{#2}} -\newcommand\AfterPackage [2] - {\AddToHook{file/after/#1.sty}{#2}} -\newcommand\AfterEndOfPackage [2] - {\AddToHook{package/after/#1}{#2}} -% \end{macrocode} -% -% \begin{macrocode} -\newcommand\BeforeFile [2] - {% - \typeout{BeforeFile: #1!!!}% - \AddToHook{file/before/#1}{#2}} -\newcommand\AfterFile [2] - {% - \typeout{AfterFile: #1!!!}% - \AddToHook{file/after/#1}{#2}} -% \end{macrocode} -% -% This is missing some interfaces so disabling the package isn't -% really correct, but then this code above is not supposed to stay -% like this anyway. -% \begin{macrocode} -\expandafter\let\csname ver@scrlfile.sty\endcsname\fmtversion -\@namedef {ver@scrlfile.sty}{2020/10/01} -% \end{macrocode} -% -% \begin{macrocode} -%</scrlfile-draft> -% \end{macrocode} -% -% % % \Finale % diff --git a/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx b/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx index 835f600e323..99be77c8449 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltfiles.dtx} - [2020/08/21 v1.2i LaTeX Kernel (File Handling)] + [2020/10/04 v1.2j LaTeX Kernel (File Handling)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfiles.dtx} @@ -824,11 +824,13 @@ %<latexrelease> {\@include}{Spaces in file names and hooks}% % \end{macrocode} % +% \changes{v1.2j}{2020/10/04}{Quotes around the aux file name removed, +% they are not needed and upset BibTeX (gh/400)} % \begin{macrocode} \def\@include#1 {% \clearpage \if@filesw - \immediate\write\@mainaux{\string\@input{"#1.aux"}}% + \immediate\write\@mainaux{\string\@input{#1.aux}}% \fi \@tempswatrue \if@partsw diff --git a/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx b/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx index 2555e21a349..aa4219723af 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltfinal.dtx} - [2020-08-21 v2.2i LaTeX Kernel (Final Settings)] + [2020-09-26 v2.2j LaTeX Kernel (Final Settings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfinal.dtx} @@ -1139,7 +1139,11 @@ % % \subsection{Some last minute initializations \ldots} % +% Load the first aid set of definitions for external packages that await updates. +% \changes{v2.2j}{2020/09/26} +% {Load first aid file if existing} % \begin{macrocode} +\@input{latex2e-first-aid-for-external-files.ltx} % \end{macrocode} % % diff --git a/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx b/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx index 61d0a793a07..fbea725c1df 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx @@ -36,7 +36,7 @@ % % \ProvidesFile{ltfssini.dtx} - [2020/08/27 v3.2c LaTeX Kernel (NFSS Initialisation)] + [2020/10/08 v3.2e LaTeX Kernel (NFSS Initialisation)] % \iffalse \documentclass{ltxdoc} \begin{document} @@ -800,7 +800,7 @@ % \begin{macrocode} \expand@font@defaults % \end{macrocode} -% If \cs{bfdefault} and \cs{befdefault@previous} are different then +% If \cs{bfdefault} and \cs{bfdefault@previous} are different then % the default got changed directly through the legacy interface % (i.e., via \cs{def} or \cs{renewcommand}. In that case we reset % all meta family defaults so that the document behaves like it was @@ -812,10 +812,12 @@ % \end{macrocode} % We add \cs{@empty} and then let \cs{bfdefault@previous} to % \cs{bfdefault} so that we can detect any further change. +% \changes{v3.2d}{2020/09/30}{\cs{bfdefault@previous} not \cs{bfseries@previous} +% (gh/395)} % \begin{macrocode} \expandafter\def\expandafter\bfdefault \expandafter{\bfdefault\@empty}% - \let\bfseries@previous\bfdefault + \let\bfdefault@previous\bfdefault % \end{macrocode} % And we reset the meta family defaults (\cs{bfdef@ult} is an % expanded version of \cs{bfdefault}. @@ -861,13 +863,15 @@ % of \cs{fontseries} argument so that it is not done several times} % \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault} % and \cs{mddefault} (gh/306)} +% \changes{v3.2d}{2020/09/30}{\cs{mddefault@previous} not \cs{mdseries@previous} +% (gh/395)} % \begin{macrocode} \DeclareRobustCommand\mdseries{% \not@math@alphabet\mdseries\relax \expand@font@defaults \ifx\mddefault\mddefault@previous\else \expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}% - \let\mdseries@previous\mddefault + \let\mddefault@previous\mddefault \let\mdseries@rm\mddef@ult \let\mdseries@sf\mddef@ult \let\mdseries@tt\mddef@ult @@ -1066,17 +1070,23 @@ % \begin{macro}{\@rmfamilyhook} % \begin{macro}{\@sffamilyhook} % \begin{macro}{\@ttfamilyhook} +% \begin{macro}{\@defaultfamilyhook} +% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)} % These four hooks have legacy versions used in 2020/02/02 so we % should support them until they aren't any longer used. +% +% By default the hooks do nothing. % \begin{macrocode} \let\@rmfamilyhook\@empty \let\@sffamilyhook\@empty \let\@ttfamilyhook\@empty -\let\@defaulfamilyhook\@empty +\let\@defaultfamilyhook\@empty %FMi sort out % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% % % \begin{macrocode} %</2ekernel|latexrelease> @@ -1783,13 +1793,6 @@ % \end{macro} % % -% \begin{macro}{\@defaultfamilyhook} -% By default the hooks do nothing. -% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)} -% \begin{macrocode} -\let\@defaultfamilyhook\@empty %FMi sort out -% \end{macrocode} -% \end{macro} % % \begin{macrocode} %</2ekernel|latexrelease> diff --git a/Master/texmf-dist/source/latex-dev/base/lthooks.dtx b/Master/texmf-dist/source/latex-dev/base/lthooks.dtx index 17c3262a4c1..e4ff7dd2ed4 100644 --- a/Master/texmf-dist/source/latex-dev/base/lthooks.dtx +++ b/Master/texmf-dist/source/latex-dev/base/lthooks.dtx @@ -31,8 +31,8 @@ %%% From File: lthooks.dtx % % \begin{macrocode} -\def\lthooksversion{v1.0a} -\def\lthooksdate{2020/09/10} +\def\lthooksversion{v1.0e} +\def\lthooksdate{2020/10/23} % \end{macrocode} % %<*driver> @@ -256,6 +256,11 @@ % is used in a package/class, then the current % package/class name is used, otherwise \hook{top-level} is used. % +% If the code for that \meta{label} wasn't yet added to the +% \meta{hook}, an order is set so that when some code attempts to add +% that label, the removal order takes action and the code is not +% added. +% % If the optional argument is \texttt{*}, then all code chunks are % removed. This is rather dangerous as it drops code from other % packages one may not know about! @@ -648,10 +653,72 @@ % % \cs{LogHook} prints the information to the |.log| file, and % \cs{ShowHook} prints them to the terminal/command window and starts -% \TeX's prompt (only if \cs{errorstopmode}) to wait for user action. +% \TeX's prompt (only in \cs{errorstopmode}) to wait for user action. % % The \meta{hook} can be specified using the dot-syntax to denote % the current package name. See section~\ref{sec:default-label}. +% +%^^A % Code for the listing below: +%^^A \NewHook{example-hook} +%^^A \AddToHook{example-hook}[foo]{[code from package 'foo']} +%^^A \AddToHook{example-hook}[bar]{[from package 'bar']} +%^^A \AddToHook{example-hook}[baz]{[package 'baz' is here]} +%^^A \AddToHookNext{example-hook}{[one-time code]} +%^^A \DeclareHookRule{example-hook}{baz}{before}{foo} +%^^A \DeclareDefaultHookRule{bar}{after}{baz} +%^^A \ShowHook{example-hook} +% +% \def\theFancyVerbLine{\textcolor[gray]{0.5}{%^^A +% \sffamily\tiny\arabic{FancyVerbLine}}} +% +% \bigskip +% Suppose a hook \texttt{example-hook} whose output of +% \cs{ShowHook}|{example-hook}| is: +% \begin{verbatim}[numbers=left] +% -> The hook 'example-hook': +% > Code chunks: +% > foo -> [code from package 'foo'] +% > bar -> [from package 'bar'] +% > baz -> [package 'baz' is here] +% > Extra code for next invocation: +% > -> [one-time code] +% > Rules: +% > foo|baz with relation > +% > baz|bar with default relation < +% > Execution order (after applying rules): +% > bar, baz, foo. +% \end{verbatim} +% +% In the listing above, lines~3 to~5 show the three code chunks added +% to the hook and their respective labels in the format +% \begin{quote} +% \quad \meta{label}\verb| -> |\meta{code} +% \end{quote} +% +% Line~7 shows the code chunk for the next execution of the hook in +% the format +% \begin{quote} +% \quad \verb|-> |\meta{next-code} +% \end{quote} +% This code will be used and disappear at the next +% \verb|\UseHook{example-hook}|, in contrast to the chunks mentioned +% earlier, which can only be removed from that hook by doing +% \verb|\RemoveFromHook{|\meta{label}|}[example-hook]|. +% +% Lines~9 and~10 show the rules declared that affect this hook in the +% format +% \begin{quote} +% \quad \meta{label-1}\verb+|+\meta{label-2}| with |%^^A +% \meta{\texttt{default}?}| relation |\meta{relation} +% \end{quote} +% which means that the \meta{relation} applies to \meta{label-1} and +% \meta{label-2}, in that order, as detailed in \cs{DeclareHookRule}. +% If the relation is \texttt{default} it means that that rule applies +% to \meta{label-1} and \meta{label-2} in \emph{all} hooks, (unless +% overrided by a non-default relation). +% +% Finally, line~12 lists the labels in the hook after sorting; +% that is, in the order they will be executed when the hook is used. % \end{function} % % @@ -1017,6 +1084,7 @@ % % \subsection{Difference between \enquote{normal} and % \enquote{one-time} hooks} +% \label{sec:onetime-hooks} % % When executing a hook a developer has the choice of using % either \cs{UseHook} or \cs{UseOneTimeHook} (or their \pkg{expl3} @@ -1115,6 +1183,11 @@ % % \subsection{Legacy \LaTeXe{} interfaces} % +% \newcommand\onetimetext{% +% This is a one-time hook, so after it is executed, all further +% attempts to add code to it will execute such code immediately +% (see section~\ref{sec:onetime-hooks}).} +% % \LaTeXe{} offered a small number of hooks together with commands to % add to them. They are listed here and are retained for backwards % compatibility. @@ -1144,6 +1217,14 @@ % \cs{AddToHook} \texttt{\{begindocument\}} \oarg{label} % \Arg{code}. % +% \cs{AtBeginDocument} is a wrapper around the \hook{begindocument} +% hook (see section~\ref{sec:begindocument-hooks}), which is a +% one-time hook. As such, after the \hook{begindocument} hook is +% executed at \verb=\begin{document}= any attempt to add \meta{code} +% to this hook with \cs{AtBeginDocument} or with \cs{AddToHook} will +% cause that \meta{code} to execute immediately instead. +% See section~\ref{sec:onetime-hooks} for more on one-time hooks. +% % For important packages with known order requirement we may over % time add rules to the kernel (or to those packages) so that they % work regardless of the loading-order in the document. @@ -1278,9 +1359,9 @@ % \end{function} % % -% % % \subsubsection{Hooks provided by \cs{begin}\texttt{\{document\}}} +% \label{sec:begindocument-hooks} % % Until 2020 \cs{begin}\texttt{\{document\}} offered exactly one % hook that one could add to using @@ -1303,12 +1384,12 @@ % section and this is how it is used by \pkg{etoolbox}'s % \cs{AtEndPreamble}. % -% +% \onetimetext % % \item[\hook{begindocument}] % -% This hook is added to when using \cs{AtBeginDocument} and it is executed -% after the \texttt{.aux} file as be read in and most +% This hook is added to when using \cs{AtBeginDocument} and it is +% executed after the \texttt{.aux} file as be read in and most % initialization are done, so they can be altered and inspected by % the hook code. It is followed by a small number of further % initializations that shouldn't be altered and are therefore @@ -1319,12 +1400,16 @@ % document body. If such material needs to be added to the document % body use the next hook instead. % +% \onetimetext +% % \item[\hook{begindocument/end}] % % This hook is executed at the end of the \cs{document} code in % other words at the beginning of the document body. The only % command that follows it is \cs{ignorespaces}. % +% \onetimetext +% % \end{description} % The generic hooks executed by \cs{begin} also exist, i.e., % \hook{env/document/before} and \hook{env/document/begin}, but @@ -1365,6 +1450,7 @@ % called to ensure that all such material gets typeset. If there % is nothing waiting the \cs{clearpage} has no effect. % +% \onetimetext % % \item[\hook{enddocument/afterlastpage}] % @@ -1381,6 +1467,8 @@ % closed for writing and then read back in to do some tests % (e.g., looking for missing references or duplicated labels, etc.). % +% \onetimetext +% % \item[\hook{enddocument/afteraux}] % % At this point, the \texttt{.aux} file has been reprocessed and so @@ -1389,6 +1477,8 @@ % prefer the next hook, so that your information is displayed after the % (possibly longish) list of files if that got requested via \cs{listfiles}. % +% \onetimetext +% % \item[\hook{enddocument/info}] % % This hook is meant to receive code that write final information @@ -1403,11 +1493,15 @@ % \cs{listfiles} has been used and the warnings for duplicate % labels, missing references, font substitutions etc. % +% \onetimetext +% % \item[\hook{enddocument/end}] % % Finally, this hook is executed just in front of the final call % to \cs{@{}@end}. % +% \onetimetext % is it even possible to add code after this one? +% % \end{description} % % @@ -3247,7 +3341,7 @@ \cs_new_protected:Npn \@@_log:nN #1 #2 { \@@_preamble_hook:n {#1} - \iow_term:x { ^^J ->~The~hook~'#1': } + \@@_log_cmd:x { ^^J ->~The~hook~'#1': } % \end{macrocode} % % \begin{macrocode} @@ -3909,12 +4003,14 @@ % \end{macro} % % -% \begin{macro}{\IfHookExistsTF,\IfHookEmptyTF} +% \begin{macro}[EXP]{\IfHookExistsTF,\IfHookEmptyTF} +% Here we avoid the overhead of \pkg{xparse}, since \cs{IfHookEmptyTF} +% is used in \cs{end} (that is, every \LaTeX{} environment). As a +% further optimisation, use \cs{let} rather than \cs{def} to avoid one +% expansion step. % \begin{macrocode} -\NewExpandableDocumentCommand \IfHookExistsTF { m } - { \hook_if_exist:nTF {#1} } -\NewExpandableDocumentCommand \IfHookEmptyTF { m } - { \hook_if_empty:nTF {#1} } +\cs_new_eq:NN \IfHookExistsTF \hook_if_exist:nTF +\cs_new_eq:NN \IfHookEmptyTF \hook_if_empty:nTF % \end{macrocode} % \end{macro} % @@ -3962,19 +4058,21 @@ % may be used in packages without rollback functionality. So we % just make them do nothing which may or may not work depending on % the code usage. +% \changes{v1.0d}{2020/10/04}{Definition \cs{AddToHookNext} was supposed +% to be for \cs{AddToHook} vize versa (gh/401)} % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease %<latexrelease>\IncludeInRelease{0000/00/00}% %<latexrelease> {\NewHook}{The hook management}% %<latexrelease> -%<latexrelease>\def \NewHook#1{} -%<latexrelease>\def \NewReversedHook#1{} -%<latexrelease>\def \NewMirroredHookPair#1#2{} +%<latexrelease>\def\NewHook#1{} +%<latexrelease>\def\NewReversedHook#1{} +%<latexrelease>\def\NewMirroredHookPair#1#2{} %<latexrelease> -%<latexrelease>\long\def \AddToHook#1#2{} +%<latexrelease>\long\def\AddToHookNext#1#2{} %<latexrelease> -%<latexrelease>\def \AddToHookNext#1{\@gobble@AddToHook@args} +%<latexrelease>\def\AddToHook#1{\@gobble@AddToHook@args} %<latexrelease>\providecommand\@gobble@AddToHook@args[2][]{} %<latexrelease> %<latexrelease>\def\RemoveFromHook#1{\@gobble@RemoveFromHook@arg} @@ -3986,17 +4084,17 @@ %<latexrelease>\let \DebugHooksOn \@empty %<latexrelease>\let \DebugHooksOff\@empty %<latexrelease> -%<latexrelease>\def \DeclareHookRul#1#2#3#4{} +%<latexrelease>\def \DeclareHookRule #1#2#3#4{} %<latexrelease>\def \DeclareDefaultHookRule #1#2#3{} -%<latexrelease>\def \ClearHookRule#1#2#3{} +%<latexrelease>\def \ClearHookRule #1#2#3{} % \end{macrocode} % If the hook management is not provided we make the test for existence % false and the test for empty true in the hope that this is most % of the time reasonable. If not a package would need to guard % against running in an old kernel. % \begin{macrocode} -%<latexrelease>\def \IfHookExistTF #1#2#3{#3} -%<latexrelease>\def \IfHookEmptyTF #1#2#3{#2} +%<latexrelease>\long\def \IfHookExistsTF #1#2#3{#3} +%<latexrelease>\long\def \IfHookEmptyTF #1#2#3{#2} %<latexrelease> %<latexrelease>\EndIncludeInRelease % \end{macrocode} diff --git a/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx b/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx index ec1031cc290..8573b3e6ca6 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx @@ -28,7 +28,7 @@ \ProvidesFile{ltluatex.dtx} %</driver> %<*tex> -[2020/08/10 v1.1r +[2020/09/25 v1.1s %</tex> %<plain> LuaTeX support for plain TeX (core) %<*tex> @@ -1501,6 +1501,7 @@ end % \end{macrocode} % Handler for |list| callbacks. % \changes{v1.0k}{2015/12/02}{resolve name and i.description (PHG)} +% \changes{v1.1s}{2020/12/02}{Fix return value of list callbacks} % \begin{macrocode} local function list_handler(name) return function(head, ...) @@ -1513,7 +1514,7 @@ local function list_handler(name) "Function `" .. i.description .. "' returned false\n" .. "in callback `" .. name .."'" ) - break + return false end if ret ~= true then alltrue = false @@ -1546,7 +1547,7 @@ local function reverselist_handler(name) "Function `" .. cb.description .. "' returned false\n" .. "in callback `" .. name .."'" ) - break + return false end if ret ~= true then alltrue = false diff --git a/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx b/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx index 0c115d3be1b..9acbcccd683 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltmiscen.dtx} - [2020/08/21 v1.1v LaTeX Kernel (Misc. Environments)] + [2020/10/23 v1.1w LaTeX Kernel (Misc. Environments)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltmiscen.dtx} @@ -239,13 +239,14 @@ % \changes{v1.1k}{2010/08/17}{Use braces around \cs{input} arg (pr/4124)} % \changes{v1.1l}{2010/08/17}{Change of plan: use \cs{@@input} instead % (pr/4124)} +% \changes{v1.1w}{2020/10/23}{Make \texttt{enddocument/afteraux} one-time} % We use |\@@input| to load the \texttt{.aux} file, so that it doesn't % show up in the list of files produced by |\listfiles|. % \begin{macrocode} \@tempswafalse \makeatletter \@@input\jobname.aux \fi - \UseHook{enddocument/afteraux}% + \UseOneTimeHook{enddocument/afteraux}% % \end{macrocode} % Next hook is expect to contain only code for writing info % messages on the terminal. diff --git a/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx b/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx index 95d740279d2..8f0422c887b 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx @@ -31,8 +31,8 @@ %%% From File: ltshipout.dtx % % \begin{macrocode} -\providecommand\ltshipoutversion{v1.0b} -\providecommand\ltshipoutdate{2020/09/09} +\providecommand\ltshipoutversion{v1.0c} +\providecommand\ltshipoutdate{2020/09/27} % \end{macrocode} % %<*driver> @@ -547,7 +547,7 @@ % follows closely the ideas from \pkg{atbegshi}, so not % documenting that here for now. % \begin{macrocode} -\cs_set:Npn\@@_execute: { +\cs_set_protected:Npn \@@_execute: { \tl_set:Nx \l_@@_group_level_tl { \int_value:w \tex_currentgrouplevel:D } \tex_afterassignment:D \@@_execute_test_level: @@ -572,7 +572,6 @@ % \end{macrocode} % \end{macro} % - % % \begin{macro}{\@@_execute_test_level:} % If the group level has changed then we are still constructing @@ -1089,7 +1088,7 @@ % \begin{macrocode} \cs_new:Npn \@@_picture_overlay:n #1 { % \end{macrocode} -% The very first time this is executed we have ot initializes (and +% The very first time this is executed we have to initializes (and % freeze) the origins. % \begin{macrocode} \@@_init_page_origins: @@ -1151,7 +1150,7 @@ % (in case \LaTeX{} looks ahead and is not using the position for % on the next page). % \begin{macrocode} -\cs_new:Npn \shipout_discard: { +\cs_new_protected:Npn \shipout_discard: { \bool_gset_true:N \g_@@_discard_bool } % \end{macrocode} @@ -1379,7 +1378,7 @@ % \begin{macro}{\AtBeginDvi} % % \begin{macrocode} -\DeclareRobustCommand \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi} +\cs_new_protected:Npn \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi} % \end{macrocode} % \end{macro} % @@ -1481,7 +1480,6 @@ %<latexrelease>\let \AtBeginShipoutUpperLeft \@undefined %<latexrelease>\let \AtBeginShipoutUpperLeftForeground \@undefined %<latexrelease> -%<latexrelease> % \end{macrocode} % We do not undo a substitution when rolling back. As the file % support gets undone the underlying data is no longer used (and @@ -1490,7 +1488,7 @@ % \cs{unclare@...} and its support macros available in all earlier % kernel releases which is pointless (and actually worse). % \begin{macrocode} -%\undeclare@file@substitution{everyshi.sty}{everyshi-ltx.sty} +%\undeclare@file@substitution{everyshi.sty} % \end{macrocode} % % \begin{macrocode} @@ -1531,7 +1529,7 @@ %<latexrelease>\IncludeInRelease{2020/10/01}% %<latexrelease> {\AtEndDvi}{atenddvi emulation}% \ExplSyntaxOn -\cs_new:Npn \AtEndDvi {\AddToHook{shipout/lastpage}} +\cs_new_protected:Npn \AtEndDvi {\AddToHook{shipout/lastpage}} \ExplSyntaxOff % \end{macrocode} % As the package is integrate we prevent loading (no need to roll that back): @@ -1598,8 +1596,8 @@ % \begin{macro}{\AtBeginShipout,\AtBeginShipoutNext} % Filling hooks % \begin{macrocode} -\def \AtBeginShipout {\AddToHook{shipout/before}} -\def \AtBeginShipoutNext {\AddToHookNext{shipout/before}} +\protected \def \AtBeginShipout {\AddToHook{shipout/before}} +\protected \def \AtBeginShipoutNext {\AddToHookNext{shipout/before}} % \end{macrocode} % \end{macro} % @@ -1608,7 +1606,7 @@ % Slightly more complex as we need to know the name of the command under which the % \hook{shipout/firstpage} hook is filled. % \begin{macrocode} -\def \AtBeginShipoutFirst +\protected \def \AtBeginShipoutFirst {\@expl@@@shipout@add@firstpage@material@@Nn \AtBeginShipoutFirst} % \end{macrocode} % \end{macro} @@ -1688,8 +1686,8 @@ % \begin{macro}{\EveryShipout,\AtNextShipout} % This package has only two public commands so simulating it is easy: % \begin{macrocode} -\def \EveryShipout {\AddToHook{shipout/before}} -\def \AtNextShipout {\AddToHookNext{shipout/before}} +\protected \def \EveryShipout {\AddToHook{shipout/before}} +\protected \def \AtNextShipout {\AddToHookNext{shipout/before}} % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx index 83cdf1850d6..0e374f5dec0 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx @@ -112,10 +112,10 @@ %</2ekernel> %<latexrelease>\edef\latexreleaseversion %<*2ekernel|latexrelease> - {2020-10-01} + {2021-05-01} %</2ekernel|latexrelease> %<*2ekernel> -\def\patch@level{-9} +\def\patch@level{0} % \end{macrocode} % % \begin{macro}{\development@branch@name} diff --git a/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx b/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx index 696af32ab15..0c7130c3717 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx @@ -30,7 +30,7 @@ % %<class>\NeedsTeXFormat{LaTeX2e} %<class>\ProvidesClass{ltxdoc} -%<class> [2020/08/21 v2.1a Standard LaTeX documentation class] +%<class> [2020/10/04 v2.1b Standard LaTeX documentation class] % %<*driver> \documentclass{ltxdoc} @@ -443,7 +443,12 @@ \expandafter\@docinclude\expandafter{\@curr@file} \fi} \def\@docinclude#1 {\clearpage -\if@filesw \immediate\write\@mainaux{\string\@input{"#1.aux"}}\fi +% \end{macrocode} +% +% \changes{v2.1bj}{2020/10/04}{Quotes around the aux file name removed, +% they are no longer needed and upset BibTeX (gh/400)} +% \begin{macrocode} +\if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi \@tempswatrue\if@partsw \@tempswafalse\edef\@tempb{#1}\@for \@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi \if@tempswa \let\@auxout\@partaux \if@filesw |