summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Miller <arthur.miller@live.com>2022-09-12 12:38:09 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-09-12 12:38:09 +0200
commit76bec09a42de5da8876b5cc6c905dac2d55241a5 (patch)
tree3e4b170cc6a05114f2a4e6c8039dc1cbc4526c65
parentb2833732113e02fed57cc8d1658a218be21b3081 (diff)
downloademacs-76bec09a42de5da8876b5cc6c905dac2d55241a5.tar.gz
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.
-rw-r--r--lisp/emacs-lisp/edebug.el7
1 files changed, 7 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index c916ec431e4..31c05057bfa 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -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 ", ")))