summaryrefslogtreecommitdiff
path: root/macros/eplain/source/xeplain.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-18 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2024-04-18 03:01:14 +0000
commit01aeff9f14b706b8b64c4f782f2253e431e89e49 (patch)
tree1c111c83ed48646133936a24432af81a0e023e39 /macros/eplain/source/xeplain.tex
parent5e39b1cb205459cadf7e418c73567bf999923ce7 (diff)
CTAN sync 202404180301
Diffstat (limited to 'macros/eplain/source/xeplain.tex')
-rw-r--r--macros/eplain/source/xeplain.tex22
1 files changed, 16 insertions, 6 deletions
diff --git a/macros/eplain/source/xeplain.tex b/macros/eplain/source/xeplain.tex
index 0436a828ca..b1907bf92e 100644
--- a/macros/eplain/source/xeplain.tex
+++ b/macros/eplain/source/xeplain.tex
@@ -1,4 +1,4 @@
-% $Id: xeplain.tex 62 2022-10-16 16:55:24Z karl $
+% $Id: xeplain.tex 65 2024-04-17 16:37:52Z karl $
% xeplain.tex: macros for nonformatting. Written 1989--94 by (mostly)
% Karl Berry. Some additions/changes 1997--98 by Adam Lewenberg,
% with subsequent contributions from many people.
@@ -52,6 +52,9 @@
\next
% The iftex.sty file included below was mainly written by Heiko Oberdiek
% and is now maintained by the LaTeX Project.
+% In case it is read already, don't \endinput, thus skipping the rest of
+% this file.
+\expandafter\let\csname IFTEX\string @loaded\endcsname \relax
%% [[[include iftex.sty]]]
%
%
@@ -1575,12 +1578,19 @@
}%
%
% The entries are read in when the user invokes \readtocfile (which
-% should be before the first \writetocentry). We do not open the .toc
-% file to allow reading it in twice to make a short contents or some
-% such. This should not cause any problems because each of
-% \writecontentsentry and \writenumberedcontentsentry open the .toc
-% file for writing (i.e., empty it) before trying to write to it.
+% should be before the first \writetocentry). We want
+% to for reading it in twice to make a short contents or such.
+%
+% Each of \writecontentsentry and \writenumberedcontentsentry open the
+% .toc file for writing (i.e., empty it) before trying to write to it.
+% That does mean we have to close it before reading, in case the reads
+% and writes are intermixed (release 3.14).
+%
\def\readcontentsfile#1{%
+ % Close the toc file before reading, in case it's been written to.
+ \immediate\closeout \csname #1file\endcsname
+ \ece\global{@#1fileopenedfalse}% have to reopen if writing again.
+ %
\edef\temp{%
\noexpand\testfileexistence[\csname #1filebasename\endcsname]{#1}%
}\temp