helpful
helpful copied to clipboard
Add interactivity to the Advice section
This lists every new style advice (nadvice.el) of a callable in the Advice section instead of simply saying that it is advised. Further, a button is provided for each advice to remove it.
Another button is provided to remove all advices from the callable. This also removes old style advices.
Mentions of all advices in the docstring (the "This function has :around advice:" line) are removed, regardless of whether they come before the docstring or after (Emacs 28 change), or whether they come from advice.el or nadvice.el.
-
helpful--advices
: New function that returns new style (nadvice.el) advices of a given symbol -
helpful--skip-advice
: Remove docstring mentions of new style advices -
helpful-update
: Only show Advice section if we're describing a callable; revamp Advice section
This is similar in spirit to #265. The differences are:
- The Advice block isn't moved
- I extract the advices using
advice--symbol-function
and other nadvice.el utilities instead of the docstring - For old style (advice.el) advices, instead of showing
ad-Advice-...
, I fall back to the "this {function,macro} is advised" text as removing the old style advice using new style advice utilities seems wrong. - I place the "Remove all advices" button in the Advice section rather than the Debugging section as I find that more appropriate
- I also show the first line of each advice in the next line
Been looking forward to functionality of interactive advice toggling for quite a while. To sweet not to merge!
Great! It would be better if it supports hooks as well 😁