Skip to content

Stop treating projectile-consult.el as a standalone package#2099

Merged
bbatsov merged 1 commit into
masterfrom
fix/consult-in-package-module
Jul 18, 2026
Merged

Stop treating projectile-consult.el as a standalone package#2099
bbatsov merged 1 commit into
masterfrom
fix/consult-in-package-module

Conversation

@bbatsov

@bbatsov bbatsov commented Jul 18, 2026

Copy link
Copy Markdown
Owner

CI on master is red on the Emacs 28.2 job, and it has nothing to do with any recent code change. projectile-consult.el ships inside the Projectile package but carried its own Version and Package-Requires headers, so build tooling treats it as a standalone package. A fresh eldev picked up on that and started enforcing Consult's Emacs 29.1 floor across the whole project, so the 28.2 run bails out with "Emacs version 29.1 is required" before a single spec runs. Same double life that caused #2037.

So stop pretending it is a package and drop the two headers. Its runtime needs (Consult 2.0+, hence Emacs 29.1+) are unchanged and still spelled out in the file header, the manual, and the Eldev config, which pulls Consult in only on Emacs 29.1+ and relies on the module byte-compiling cleanly without it elsewhere.

  • The commits are consistent with our contribution guidelines
  • You've added tests (if possible) to cover your change(s)
  • All tests are passing (eldev test)
  • The new code is not generating bytecode or M-x checkdoc warnings
  • You've updated the changelog (if adding/changing user-visible functionality)
  • You've updated the docs (when adding new project types, configuration options, commands, etc)

It ships inside the Projectile package but carried its own Version and
Package-Requires headers, so build tooling mistook it for a separate
package. Most recently that broke eldev-based test runs on Emacs 28.x:
eldev enforced Consult's Emacs 29.1 floor on the whole project and
refused to run. Drop the standalone headers; the module still declares
its runtime needs (Consult 2.0+, hence Emacs 29.1+) in the file header,
the manual, and the Eldev build config, which only pulls Consult in on
Emacs 29.1+ (where it can be installed) and relies on the module
byte-compiling cleanly without it elsewhere.

The module now loads on every Emacs (it only soft-requires Consult), so
the integration test can no longer gate on whether the module loads - it
would run without Consult present and fail. Gate it on Consult itself
instead, so the specs still self-skip on Emacs < 29.1.
@bbatsov
bbatsov force-pushed the fix/consult-in-package-module branch from f6497e8 to 3ae9f12 Compare July 18, 2026 08:58
@bbatsov
bbatsov merged commit a5c1ad7 into master Jul 18, 2026
10 checks passed
@bbatsov
bbatsov deleted the fix/consult-in-package-module branch July 18, 2026 09:04
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.

1 participant