You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rolling back to a date before 2017-06-25 in the above example fails although the graphics package existed long before 2017. This could be fixed by adding an additional \DeclareRelease{}{<date>}{<file>} line (which would require finding out when the packages were first released).
The following files from base, amsmath, graphics and tools contain \DeclareRelease declarations and are potentially affected by the issues described above:
Moving here as comments in PRs not so easy to reference later if fixed in a separate PR
Currently rolling back luatex prior to 2015 gives
! Undefined control sequence.
\@ifundefined ...e \expandafter \ifx \lastnamedcs
as unprefixed luatex commands are undefined by the rollback.
We could do
for _,i in pairs(tex.extraprimitives("luatex")) do
if not string.match(i,"^U") then
if not (string.match(i, "^luatex") or i == "lastnamedcs") then
%^^^^^^^^^^^
so that \lastnamedcs which is used within latexrelease.sty is left defined.
or we could define it under a custom name and then arrange to use that name for all engines within latexrelease (but that seems unnecessarily complicated) or we could remove the whole
local i
local t = { }
for _,i in pairs(tex.extraprimitives("luatex")) do
if not string.match(i,"^U") then
if not string.match(i, "^luatex") then
table.insert(t,i)
end
else
if string.match(i,"^Uchar$") then
table.insert(t,i)
end
end
end
for _,i in pairs(t) do
tex.print(
"\noexpand\\let\noexpand\\" .. i
.. "\noexpand\\undefined"
)
end
block so leave luatex primitives with both prefixed and unprefixed names in the rollback.
I suspect this last version is most likely to lead to a successful emulation if just the format is rolled back but used in a current tex system with current packages expecting luatex names.
In particular for graphics the first change allows latexrelease to load but then the package errors as
! Undefined control sequence.
l.28 \ifnum\outputmode
If the whole block is removed so \outputmode is defined then this progresses further
as kernel utf8 filename normalisation it's expecting a catcode 12 .pdf but the rolled back package is using a catcode 11.
but I haven't traced fully yet.
This is separated from #1333.
Some files distributed as part of latex2e have rollback declarations like the following (from
graphics.sty
):There are two issues with the above:
textcomp
turnsLaTeX Info
messages intoPackage textcomp Info
messages #1333, it would be better to remove these two lines:graphics
package existed long before 2017. This could be fixed by adding an additional\DeclareRelease{}{<date>}{<file>}
line (which would require finding out when the packages were first released).The following files from
base
,amsmath
,graphics
andtools
contain\DeclareRelease
declarations and are potentially affected by the issues described above:doc.sty
amsmath.sty
graphics.sty
array.sty
array-2020-02-10.sty
longtable.sty
multicol.sty
multicol-2019-10-01.sty
showkeys.sty
varioref.sty
The text was updated successfully, but these errors were encountered: