Repository navigation
Work around the Emacs 31 posification bug and test on 31.1 - #4193
Merged
Merged
Conversation
Emacs 31 stamps source positions onto compiler-macro expansions in place. For an argument-less cl-defsubst the expansion is the stored inline body itself, so once anything calling queue-create has been byte-compiled in a process, every later macroexpand-all of it sees a positioned cl-block symbol it doesn't recognize as a macro. Eldev's packaged mode compiles CIDER right before loading the specs, which made the first `eldev -p test` after any source change fail nine specs with `invalid-function cl-block`, and the rerun pass. Emacs bug#79599 covers this and added the switch we now flip off. While here, tell bsdtar not to add AppleDouble entries: on macOS the packaged copy of the project picked up over a hundred `._*.el` files that Eldev then byte-compiled as Lisp.
It has been the stable release for a while and CI stopped at 30.2, which is how the posification failure in packaged test runs went unnoticed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Emacs 31.1 the first
eldev -p testafter any source change failed nine specs withinvalid-function cl-blockand the rerun passed. The byte compiler stamps positions onto compiler-macro results in place, which corruptsqueue-create's stored inline body once the package has been compiled in-process; Emacs bug#79599 added a switch for it, which the Eldev file now turns off. The packaged copy also no longer picks up macOS AppleDouble files. Emacs 31.1 joins the CI matrix, which is where this should have shown up.