TransWikia.com

Magit deprecates `magit-popup`. Which of my packages depend on it?

Emacs Asked on September 2, 2021

How do I get Emacs to report which packages in my running Emacs depend on magit-popup?

Soon Magit will stop supporting magit-popup because it has transitioned to the replacement transient. Somehow Magit (in preparation for version 3.0.0) is detecting a dependency on magit-popup and warns about this repeatedly, to the point of making Magit unusable.

As described in this GitHub issue the message is written considerately and is well intentioned, but does not give any guidance on how to figure out which package has the dependency on magit-popup.

That GitHub issue resolves when the reporter finds a dependency in their local Emacs configuration. I’ve searched my local config, and I don’t find any dependencies on magit-popup so I seem to be stuck.

Maybe I need to get Emacs itself to tell me at run-time what’s causing this apparent dependency?

Assuming I know nothing about debugging Emacs Lisp, how do I track down exactly what is causing this magit-popup dependency to the precision where I know exactly what to remove and/or file bug reports against?

One Answer

The function which produces that warning is magit--magit-popup-warning.

You can use M-x debug-on-entry RET magit--magit-popup-warning RET to discover what is causing it to be called.

See C-hig (elisp)Debugger Commands for what you can do from inside the debugger, and how to exit it.

Use M-x cancel-debug-on-entry if you don't want that to happen any more.


Using M-x rgrep to search in your Emacs config for the following regexp will probably produce all of the relevant results, as well:

magit-(define|change|remove)-popup

You can see the complete list of targeted functions at the end of the magit-obsolete.el library, via M-x find-library.

Correct answer by phils on September 2, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP