11 May 2026
Enhancing Elisp Development with Context Menus
As celebrated as Emacs is for its programmability, I find the actual process of developing Emacs Lisp (Elisp) to be quite underwhelming. Developing in Elisp has meant learning its libraries and idioms, which is to be expected. What I really don’t care for though are the arcane keybindings associated with doing basic things like evaluating, navigating (Xref), and debugging (especially debugging). While I’ve already committed to muscle memory most of said keybindings, I’d argue that having a mouse-based “point and click” interface is beneficial for both novice and experienced Elisp developers alike, as it lets one focus on the code and not on recalling the right key incantation all the time.
The addition of context-menu-mode in Emacs 28 has provided the opportunity to build a mouse-based UI for Elisp development and I’m happy to announce the availability of one in the latest v1.3.0 update to Anju, now on MELPA.
To get an idea of what’s available in the v1.3.0 update, here’s a screenshot of the context menu when normally editing an Elisp file where the point is on the symbol foo.

If foo is instrumented for debugging and run, the context menu is adjusted to provide Edebug commands as shown below.

The context menu enhancements provided by Anju take full advantage of built-in functions that identify context at point. Is the point on a symbol? In a function? In an ERT test? On a lambda? The menu items added by Anju take these factors into account to provide a relevant menu offering.
Users can read more about Anju’s context menu enhancements for Elisp development at Emacs Lisp Context Menu (Anju User Guide).
Some backstory with Edebug
Back in 2024, I did a deep dive into Edebug so as to give a presentation on it at the EmacsSF meetup. In doing so, I realized that all the core features for having an Elisp IDE were there, but no good UI to present it. I set upon prototyping one using Transient, with decidedly mixed results due to both Edebug and Transient fighting each other over window management.
A later Edebug UI prototype using the toolbar was attempted but it also had its issues, particularly with layout (or lack thereof) and toolbar-specific bugs in macOS. But a benefit of using the toolbar was that its UI interactions did not interfere with window management. The context menu also shares this benefit.
Closing Thoughts
The context menu has markedly improved my developer experience with Elisp, as I find myself using it more than typing out keybindings. Even with keybindings, I’ll use the Casual Elisp Transient to accomplish most Elisp interactions that don’t require Edebug.
That said, I’m not here to eschew keybindings. I still use them, when convenient. But in many circumstances they are not. The context menu can provide an easier way to achieve the same thing. Isn’t that a good thing?
Past Articles
| 29 APR 2026 |
Bulk Search & Replace Commands for Files and Buffers in EmacsAn inventory of bulk commands to search and/or replace multiple files or buffers in Emacs. read more |
| 24 APR 2026 |
Some nice to know keybindings when using the mouse in EmacsSome keybindings to know whenever you’re working with a mouse in Emacs. read more |
| 23 APR 2026 |
Call for Testing: Scrim v1.1.3 TestFlight on pre-release Emacs 31Looking for folks who want to test a new pre-release build of Scrim v1.1.3 which fixes it for Emacs 31. read more |
| 8 APR 2026 |
Computing Days Until with EmacsCountdown clocks are always useful. Here’s one for computing days until in Emacs. read more |
| 7 APR 2026 |
Calming Mouse Interaction in DiredSingle click to open a file in Dired is too twitchy. This post shows how to change it. read more |
| 30 MAR 2026 |
Announcing AnjuAnnouncing Anju, a project to align mouse interactions in Emacs with contemporary (circa 2026) expectations. Now available on MELPA. read more |
| 3 MAR 2026 |
Casual now available on NonGNU ELPACasual is now available on NonGNU ELPA. read more |
| 19 FEB 2026 |
Announcing Casual OrgAt long last, announcing Casual support for Org Mode. read more |
| 10 FEB 2026 |
Deburring Emacs Imenu GUI ConfigurationA bit of tuning to get Imenu GUI configuration working with any derived mode from |
Page 1 / 19 >