]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove edebug props in edebug-remove-instrumentation
authorArthur Miller <arthur.miller@live.com>
Mon, 12 Sep 2022 10:38:09 +0000 (12:38 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 12 Sep 2022 10:38:09 +0000 (12:38 +0200)
* lisp/emacs-lisp/edebug.el (edebug--strip-plist): New function
(bug#51026).
(edebug-remove-instrumentation): Use it to remove pros added while
running edebug.

lisp/emacs-lisp/edebug.el

index c916ec431e450f04689c4a95305bbfe50752b2b6..31c05057bfaa842950a5da82dad5372a26a84f26 100644 (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 ", ")))