lisp/emacs-lisp/edebug.el: Fix previous change.

(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.
This commit is contained in:
Juanma Barranquero 2012-12-13 19:15:42 +01:00
parent 893f52d895
commit ce0440ff96
2 changed files with 9 additions and 6 deletions

View 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)