summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/everysel/everysel.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/everysel/everysel.dtx')
-rw-r--r--macros/latex/contrib/everysel/everysel.dtx42
1 files changed, 32 insertions, 10 deletions
diff --git a/macros/latex/contrib/everysel/everysel.dtx b/macros/latex/contrib/everysel/everysel.dtx
index 9a4c702f83..9047ae43cf 100644
--- a/macros/latex/contrib/everysel/everysel.dtx
+++ b/macros/latex/contrib/everysel/everysel.dtx
@@ -33,7 +33,7 @@
% \iffalse
%<package|fallback>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<package>\ProvidesPackage{everysel}
-%<package> [2021/01/18 v2.0 EverySelectfont Package (MS)]
+%<package> [2021/01/20 v2.1 EverySelectfont Package (MS)]
%
%<*driver>
\documentclass[a4paper]{ltxdoc}
@@ -72,7 +72,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{172}
+% \CheckSum{189}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -236,32 +236,55 @@
%
% ^^A -----------------------------
%
-% \section{The implementation}
+% \section{The Implementation}
% ^^A
% \changes{v2.0}{2021/01/17}{Emulate everysel if the kernel is new enough.}
-% \begin{macrocode}
+% \iffalse
%<*package>
-% \raggedright
+% \fi
% \begin{macrocode}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2021/01/05}{}{\input{everysel-2011-10-28.sty}}
\IfFormatAtLeastTF{2021/01/05}{}{\endinput}
\newcommand*{\EverySelectfont}[1]{\AddToHook{selectfont}{#1}}
\newcommand*{\AtNextSelectfont}[1]{\AddToHookNext{selectfont}{#1}}
-%</package>
% \end{macrocode}
+% \changes{v2.1}{2021-01-20}{Add \textbackslash{}@EverySelectfont@Legacy + conditional warning}
+% Some packages are using the intial hook of everysel internally (see also \url{https://github.com/latex3/latex2e/issues/474}).
+% So Version 2.1 provides these macros to ensure compatibility.
+% In case someone is changing the inital hook everysel will now show a warning to inform package authors to switch to lthooks instead.
+% A future release is planned to always trigger this warning.
+% \begin{macrocode}
+\newcommand*\@EverySelectfont@Legacy{\let\@EverySelectfont@Init\undefined}
+\newcommand*{\@EverySelectfont@Init}{\@EverySelectfont@Legacy}
+\AddToHook{begindocument}{%
+ \expandafter\ifx\@EverySelectfont@Init\@EverySelectfont@Legacy\else
+ \PackageWarningNoLine{everysel}{%
+ Everysel is no longer required.,\MessageBreak
+ The LaTeX kernel is now providing the same functionality itself.,\MessageBreak
+ See the package documentation or lthooks-doc for further information.
+ }%
+ \fi
+ \@EverySelectfont@Init
+}
+% \end{macrocode}
+% \iffalse
+%</package>
+% \fi
% ^^A -----------------------------
% \subsection{The original implementation by Martin Schröder}
% To provide compatibility for older \LaTeX{} formats we wrap the
% original implementation of \package{everysel} version 1.2 into
% the fallback package \package{everyshi-2011-01-10}.
+% \iffalse
+%<*fallback>
+% \fi
% \subsubsection{Allocations}
% ^^A
% First we allocate the hooks
% \begin{macro}{\@EverySelectfont@EveryHook}
% The code to be executed just after the normal \cs{selectfont}.
% \begin{macrocode}
-%<*fallback>
\newcommand{\@EverySelectfont@EveryHook}{}
% \end{macrocode}
% \end{macro}
@@ -429,10 +452,9 @@
%
%
% ^^A -----------------------------
-%
-% \begin{macrocode}
+% \iffalse
%</fallback>
-% \end{macrocode}
+% \fi
%
%
% ^^A -----------------------------