From: Arthur Miller Date: Mon, 12 Sep 2022 10:38:09 +0000 (+0200) Subject: Remove edebug props in edebug-remove-instrumentation X-Git-Tag: emacs-29.0.90~1856^2~589 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=76bec09a42de5da8876b5cc6c905dac2d55241a5;p=emacs.git 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. --- 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 ", ")))