]> git.eshelyaron.com Git - emacs.git/commitdiff
edebug.el: Fix `edebug-remove-instrumentation` (bug#70791)
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 6 May 2024 18:33:43 +0000 (14:33 -0400)
committerEshel Yaron <me@eshelyaron.com>
Mon, 6 May 2024 20:06:31 +0000 (22:06 +0200)
* lisp/emacs-lisp/edebug.el (edebug-unwrap*): Traverse interpreted
functions.

(cherry picked from commit f63615208adf2852b9384fe817e930588920a894)

lisp/emacs-lisp/edebug.el

index 94e5a485bd030f833b8563f5eddb0958c3e14167..3c238baafc69bc87a51ea6e0e2c69b92744a9fef 100644 (file)
@@ -1313,6 +1313,12 @@ infinite loops when the code/environment contains a circular object.")
            (aref sexp 0) (aref sexp 1)
            (vconcat (mapcar #'edebug-unwrap* (aref sexp 2)))
            (nthcdr 3 (append sexp ()))))
+   ((interpreted-function-p sexp)
+    (make-interpreted-closure
+     (aref sexp 0) (mapcar #'edebug-unwrap* (aref sexp 1))
+     (mapcar (lambda (x) (if (consp x) (cons (car x) (edebug-unwrap* (cdr x))) x))
+             (aref sexp 2))
+     (documentation sexp 'raw) (interactive-form sexp)))
    (t sexp)))