Skip to content

Make the dispatch menu extensible before its first use - #2195

Merged
bbatsov merged 3 commits into
masterfrom
feature/2194-extend-dispatch-menu
Sep 29, 2026
Merged

bbatsov merged 3 commits into
masterfrom
feature/2194-extend-dispatch-menu

Conversation

@bbatsov

@bbatsov bbatsov commented Sep 29, 2026

Copy link
Copy Markdown
Owner

projectile-dispatch stayed a stub until it was first opened, so transient-insert-suffix on it failed unless you called the private projectile--dispatch-define yourself. The real menu is now defined when transient loads, so transient still isn't loaded at startup. The upgrade guide also gets a before/after for moving commander methods over.

Raised in #2194.


  • 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)

projectile-dispatch was a stub until its first invocation, so
transient-insert-suffix and friends failed on it with "Not a transient
prefix command" unless the user called the private
projectile--dispatch-define by hand. Defining the real menu from a
with-eval-after-load on transient keeps transient lazily loaded, but
makes the menu extensible the moment anything (the user's own
require, magit, the stub) loads it.
The upgrade guide only pointed at transient-append-suffix, which leaves
out the parts that actually trip people up: the prefix is the
projectile-dispatch symbol, the location is an existing entry's key, and
transient has to be loaded first.
@bbatsov
bbatsov merged commit 9459a2b into master Sep 29, 2026
5 checks passed
@bbatsov
bbatsov deleted the feature/2194-extend-dispatch-menu branch September 29, 2026 12:53
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