>From 508dea329d8ef389b6b07d6339faf753d746ff16 Mon Sep 17 00:00:00 2001 From: Arthur Miller Date: Tue, 5 Oct 2021 13:07:07 +0200 Subject: [PATCH] Clean edebug props on instrumentation removal * lisp/emacs-lisp/edebug.el (edebug--strip-plist): New function. (edebug-remove-instrumentation): Added call to 'edebug--strip-plist'. --- lisp/emacs-lisp/edebug.el | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index a38c8bd5ca..97869a2bb9 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -4529,6 +4529,15 @@ edebug--unwrap*-symbol-function (was-macro `(macro . ,unwrapped)) (t unwrapped)))))) +(defun edebug--strip-plist (symbol) + "Remove edebug related properties from SYMBOL's plist." + (unless (memq symbol '(quote defvar defconst defun defmacro function + let let* setq cond condition-case \` \, \,@)) + (dolist (prop '(edebug edebug-behavior edebug-coverage + edebug-form-spec 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 @@ -4560,6 +4569,7 @@ edebug-remove-instrumentation (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 ", "))) -- 2.33.0