Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch expl3.sty regression on texlive 2020 #1547

Merged

Conversation

dginev
Copy link
Collaborator

@dginev dginev commented Jun 12, 2021

Fixes #1454 .

Now that I updated my texlive and can reproduce locally, I traced this issue to one of my older patches in Package::InputDefinitions which hardcoded a little too closely the LaTeX 2 behavior of a standalone Digest(T_CS('\@pushfilename')) while loading e.g. a new .sty package with definitions.

In LaTeX 3 that internal macro gets extended to do more token interplay with the rest of the input stream, so my standalone Digest call creates the errors reported in the issue - and I could reproduce those clearly.

However, the expl3 metadata fishing is a bit of a hack in all honesty: It relies on the exact placement of \@pushfilename in the original latex.ltx. You move that macro e.g. a line or two down, or worse - change the definition pattern on the line after - and it will completely break its behavior. So my instinct again was that we shouldn't be emulating that directly. Which lead me to the comment we have had in expl3.sty.ltxml:

# Redefine aux macro to avoid reliance on argument ordering artefacts in latex.ltx
# The purpose here was originally to set `\g_file_curr_name_str`,
#  but I am unsure if it is used anywhere currently?

Which deactivated the \@pushfilenameaux in previous texlives. I think the original point still holds, so I also deactivated the equally hacky \@expl@push@filename@aux@@, making the surface error disappear.

Happily, our expl3 tests had not regressed, and the core interpretation is still solid on texlive 2020 (for the degree we've tested it).

@brucemiller
Copy link
Owner

Ah, ok.

@brucemiller brucemiller merged commit be20363 into brucemiller:master Jun 15, 2021
@brucemiller brucemiller deleted the texlive-2020-expl3-pushfilename branch June 15, 2021 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[texlive 2020] expl3 regressed on @expl@push@filename@aux@@
2 participants