diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3names.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3names.dtx | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx index 751b4dea1b2..cc937640a20 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx @@ -41,7 +41,7 @@ % }^^A % } % -% \date{Released 2017/09/18} +% \date{Released 2017/11/14} % % \maketitle % @@ -1130,7 +1130,48 @@ \tex_let:D \tex_italiccorrection:D \@@@@italiccorr \tex_let:D \tex_underline:D \@@@@underline % \end{macrocode} -% Some tidying up is needed for \tn[index=tracingfonts]{(pdf)tracingfonts}. Newer \LuaTeX{} has +% The \tn{shipout} primitive is particularly tricky as a number of packages +% want to hook in here. First, we see if a sufficiently-new kernel has saved +% a copy: if it has, just use that. Otherwise, we need to check each of the +% possible packages/classes that might move it: here, we are looking for those +% which do \emph{not} delay action to the \tn{AtBeginDocument} hook. (We +% cannot use \tn{primitive} a (u)\pTeX{} doesn't offer it and as that doesn't +% allow us to make a direct copy of the primitive \emph{itself}.) As we know +% that \LaTeXe{} is in use, we use it's \tn{@tfor} loop here. +% \begin{macrocode} + \etex_ifdefined:D \@@@@shipout + \tex_let:D \tex_shipout:D \@@@@shipout + \tex_fi:D + \tex_begingroup:D + \tex_edef:D \l_tmpa_tl { \tex_string:D \shipout } + \tex_edef:D \l_tmpb_tl { \tex_meaning:D \shipout } + \tex_ifx:D \l_tmpa_tl \l_tmpb_tl + \tex_else:D + \tex_expandafter:D \@tfor \tex_expandafter:D \@tempa \tex_string:D := + \CROP@shipout + \dup@shipout + \GPTorg@shipout + \LL@shipout + \mem@oldshipout + \opem@shipout + \pgfpages@originalshipout + \pr@shipout + \Shipout + \verso@orig@shipout + \do + { + \tex_edef:D \l_tmpb_tl + { \tex_expandafter:D \tex_meaning:D \@tempa } + \tex_ifx:D \l_tmpa_tl \l_tmpb_tl + \tex_global:D \tex_expandafter:D \tex_let:D + \tex_expandafter:D \tex_shipout:D \@tempa + \tex_fi:D + } + \tex_fi:D + \tex_endgroup:D +% \end{macrocode} +% Some tidying up is needed for \tn[index=tracingfonts]{(pdf)tracingfonts}. +% Newer \LuaTeX{} has % this simply as \tn{tracingfonts}, but that is overwritten by % the \LaTeXe{} kernel. So any spurious definition has to be removed, then % the real version saved either from the \pdfTeX{} name or from \LuaTeX{}. |