diff options
Diffstat (limited to 'macros/latex-dev/base/ltexpl.dtx')
-rw-r--r-- | macros/latex-dev/base/ltexpl.dtx | 78 |
1 files changed, 61 insertions, 17 deletions
diff --git a/macros/latex-dev/base/ltexpl.dtx b/macros/latex-dev/base/ltexpl.dtx index 7a567e378f..16ca26095c 100644 --- a/macros/latex-dev/base/ltexpl.dtx +++ b/macros/latex-dev/base/ltexpl.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltexpl.dtx} - [2020-07-08 v1.2d LaTeX Kernel (expl3-dependent code)] + [2020/08/21 v1.2e LaTeX Kernel (expl3-dependent code)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltexpl.dtx} @@ -41,6 +41,9 @@ \date{\filedate} \author{% Joseph Wright} + +\providecommand\pkg[1]{\texttt{#1}} + \begin{document} \MaintainedByLaTeXTeam{latex} \maketitle @@ -49,6 +52,9 @@ %</driver> % \fi % +% +% \changes{v1.2d}{2020/08/21}{Dropped unused command} +% % \section{\pkg{expl3}-dependent code} % % \StopEventually{} @@ -218,11 +224,6 @@ % % \subsection{Using expl3 code} % -% \begin{macrocode} -%<latexrelease>\IncludeInRelease{2020/10/01}% -%<latexrelease> {\@expl@tl@trim@spaces@apply@@nN} -%<latexrelease> {l3 macro for use in include}% -% \end{macrocode} % In order to ease the implemantation of some new features in % \LaTeXe\ we may (temporarily) use some coding based on the % \pkg{expl3}-code. @@ -232,25 +233,68 @@ % packages. These macros will always have the \verb|@expl@| % prefix in their name. % -% \changes{v1.2a}{2020/05/02} -% {Define a macro based on l3 language to support inclusion of -% files with space in the name (gh/217)} +% The rest of the name matches the \pkg{expl3} name but with all +% underscores replaced by \texttt{@}s and the \texttt{:} replaced +% by \texttt{@@}, e.g., +%\begin{verbatim} +% \cs_new_eq:NN \@expl@tl@trim@spaces@apply@@nN \tl_trim_spaces_apply:nN +%\end{verbatim} +% if that \pkg{expl3} command is needed in places that are others +% coded in \LaTeXe{} conventions. +% % \begin{macrocode} \ExplSyntaxOn -\cs_new_eq:NN \@expl@tl@trim@spaces@apply@@nN \tl_trim_spaces_apply:nN -\ExplSyntaxOff +% \end{macrocode} +% +% In this file, each release of LaTeX adds an \cs{IncludeInRelease} +% block, in which the macros copied for that release were defined. +% In case a rollback is requested, the entire block is changed. +% +% Each macro copied has a \cs{changes} entry to explain when and why +% it was copied, so that further to that may spot it easily. +% +% Here \cs{cs\string_gset\string_eq:NN} is used, instead of the |new| +% variant because if different releases use that same name for +% different purposes, each can copy the macro without worrying about +% redefinitions. +% +% \begin{macrocode} +%<latexrelease>\IncludeInRelease{2020/10/01}{expl3~2020-10-01}% +%<latexrelease> {expl3~macros~added~for~the~2020-10-01~release}% +% \end{macrocode} +% +% \changes{v1.2e}{2020/08/19} +% {Add \cs{@expl@cs@to@str@@N} and \cs{@expl@str@if@eq@@nnTF} +% for \cs{NewCommandCopy} (gh/239)} +% \begin{macrocode} +\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N +\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF +% \end{macrocode} +% +% \changes{v1.2e}{2020/08/19} +% {Add \cs{\@expl@cs@\meta{thing}@spec@@N} +% for \cs{ShowCommand} (gh/373)} +% \begin{macrocode} +\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N +\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N +\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N % \end{macrocode} % % \begin{macrocode} %<latexrelease>\EndIncludeInRelease -%<latexrelease>\IncludeInRelease{0000/00/00}% -%<latexrelease> {\@expl@tl@trim@spaces@apply@@nN} -%<latexrelease> {l3 macro for use in include}% -%<latexrelease> -%<latexrelease>\let\@expl@tl@trim@spaces@apply@@nN\@undefined -%<latexrelease> +%<latexrelease>\IncludeInRelease{0000/00/00}{expl3~2020-10-01}% +%<latexrelease> {expl3~macros~added~for~the~2020-10-01~release}% +%<latexrelease>\cs_undefine:N \@expl@cs@to@str@@N +%<latexrelease>\cs_undefine:N \@expl@str@if@eq@@nnTF +%<latexrelease>\cs_undefine:N \@expl@cs@prefix@spec@@N +%<latexrelease>\cs_undefine:N \@expl@cs@argument@spec@@N +%<latexrelease>\cs_undefine:N \@expl@cs@replacement@spec@@N %<latexrelease>\EndIncludeInRelease %</2ekernel|latexrelease> % \end{macrocode} % +% \begin{macrocode} +\ExplSyntaxOff +% \end{macrocode} +% % \Finale |