1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-15 17:00:26 +00:00

Remove edebug props in edebug-remove-instrumentation

* lisp/emacs-lisp/edebug.el (edebug--strip-plist): New function
(bug#51026).
(edebug-remove-instrumentation): Use it to remove pros added while
running edebug.
This commit is contained in:
Arthur Miller 2022-09-12 12:38:09 +02:00 committed by Lars Ingebrigtsen
parent b283373211
commit 76bec09a42

View File

@ -4573,6 +4573,12 @@ With prefix argument, make it a temporary breakpoint."
(was-macro `(macro . ,unwrapped))
(t unwrapped))))))
(defun edebug--strip-plist (symbol)
"Remove edebug related properties from plist for SYMBOL."
(dolist (prop '( edebug edebug-behavior edebug-coverage
edebug-freq-count ghost-edebug))
(cl-remprop symbol prop)))
(defun edebug-remove-instrumentation (functions)
"Remove Edebug instrumentation from FUNCTIONS.
Interactively, the user is prompted for the function to remove
@ -4604,6 +4610,7 @@ instrumentation for, defaulting to all functions."
(dolist (symbol functions)
(when-let ((unwrapped
(edebug--unwrap*-symbol-function symbol)))
(edebug--strip-plist symbol)
(defalias symbol unwrapped)))
(message "Removed edebug instrumentation from %s"
(mapconcat #'symbol-name functions ", ")))