]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/emacs-lisp/edebug.el: Fix previous change.
authorJuanma Barranquero <lekktu@gmail.com>
Thu, 13 Dec 2012 18:15:42 +0000 (19:15 +0100)
committerJuanma Barranquero <lekktu@gmail.com>
Thu, 13 Dec 2012 18:15:42 +0000 (19:15 +0100)
(edebug-unload-function): Make sure that unload-feature finishes even when
aborting an ongoing edebug session.  Also, do not worry about edebug-mode,
unload-feature takes care of it.

lisp/ChangeLog
lisp/emacs-lisp/edebug.el

index fd6671cc29aae466ccbc82e0f41e64a26209a0e5..66af3378b1477fdbf0cace3bf289581425338bfd 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-13  Juanma Barranquero  <lekktu@gmail.com>
+
+       * emacs-lisp/edebug.el (edebug-unload-function): Make sure that
+       unload-feature finishes even when aborting an ongoing edebug session.
+       Also, do not worry about edebug-mode, unload-feature takes care of it.
+
 2012-12-13  Andreas Schwab  <schwab@suse.de>
 
        * net/tls.el (tls-program): Update customize type.
index c2ff81281a13e2542860f524a90e866833769ea6..a9722796ecb73b3b997fec369b3c86ba773286d0 100644 (file)
@@ -4293,14 +4293,11 @@ With prefix argument, make it a temporary breakpoint."
 (defun edebug-unload-function ()
   "Unload the Edebug source level debugger."
   (when edebug-active
+    (setq edebug-active nil)
     (unwind-protect
         (abort-recursive-edit)
-      (setq edebug-active nil)
-      (edebug-unload-function)))
-  (save-current-buffer
-    (dolist (buffer (buffer-list))
-      (set-buffer buffer)
-      (when (eq major-mode 'edebug-mode) (emacs-lisp-mode))))
+      ;; We still want to run unload-feature to completion
+      (run-with-idle-timer 0 nil #'(lambda () (unload-feature 'edebug)))))
   (remove-hook 'called-interactively-p-functions
                'edebug--called-interactively-skip)
   (remove-hook 'cl-read-load-hooks 'edebug--require-cl-read)