summaryrefslogtreecommitdiff
path: root/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx')
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx45
1 files changed, 42 insertions, 3 deletions
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
index a74cb79a78..7eb108418c 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020,2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%
@@ -110,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2021/02/24}
-\def\LaTeXFirstAidVersion{v1.0k}
+\def\LaTeXFirstAidDate{2021/03/15}
+\def\LaTeXFirstAidVersion{v1.0l}
% \end{macrocode}
%
% \begin{macrocode}
@@ -507,6 +508,44 @@
% \end{macrocode}
%
%
+%
+%
+%
+% \subsection{The \pkg{bigfoot} first aid}
+%
+% The \pkg{bigfoot} packages makes the assumption that two
+% \cs{newinsert} allocations have a recognisable order in their
+% numbers, the second one has a lower number. This was correct in
+% the classic \TeX{} implementation but with the extended
+% allocation possibilities of all modern engines is no longer the
+% case and there is a point where the allocations take a ``jump''
+% breaking the odering assumption. These days we are fairly close
+% to that point and depending on how many packages are loaded
+% before \pkg{bigfoot} the package breaks.
+%
+% This firstaid therefore jumps over the problematical point by
+% pushing the count allocation to a safe value if necessary.
+% \begin{macrocode}
+\AddToHook{file/after/bigfoot.sty}{%
+ \ifnum\count10<\insc@unt
+ \global\count10=\insc@unt
+ \fi
+% \end{macrocode}
+% We also correct a bug that \pkg{bigfoot} tries to shift mark
+% registers, but in \LaTeX{} (at least since 2015) the allocation
+% number is not 266, so it does that to a random number of mark
+% registers (which sometimes blows up depending on the value in 266).
+% \begin{macrocode}
+ \def\FN@allmarks#1{\@elt{#1}%
+ \ifnum#1<\count256 %<--- problem: 266 isn't the counter for marks
+ \expandafter\FN@allmarks\expandafter{\number\numexpr#1+\@ne}%
+ \fi}%
+}
+% \end{macrocode}
+%
+%
+%
+%
% \subsection[Temporary fixes for the kernel (until the next
% patch-level release)]
% {Temporary fixes for the kernel \\