diff options
author | Richard M. Stallman <rms@gnu.org> | 2007-03-04 17:53:03 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2007-03-04 17:53:03 +0000 |
commit | e20e4a48366c58e0946aacd5f28759dc2d35034c (patch) | |
tree | d2bf5bace4bdc1a6c9eb8770816d0d562e02a599 /lisp/emacs-lisp/edebug.el | |
parent | dad757bc24f51ab5d599bd5b25b05d1a8c80f082 (diff) | |
download | emacs-e20e4a48366c58e0946aacd5f28759dc2d35034c.tar.gz emacs-e20e4a48366c58e0946aacd5f28759dc2d35034c.tar.bz2 emacs-e20e4a48366c58e0946aacd5f28759dc2d35034c.zip |
(edebug-kill-buffer): New function.
(edebug-mode): Add the hook.
(edebug-recursive-edit): Remove the hook on exiting.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 5af676a5e86..2777ea775e9 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -2939,6 +2939,7 @@ MSG is printed after `::::} '." (edebug-overlay-arrow)) (setq buffer-read-only edebug-buffer-read-only) (use-local-map edebug-outside-map) + (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t) ) ;; gotta have a buffer to let its buffer local variables be set (get-buffer-create " bogus edebug buffer")) @@ -3942,8 +3943,18 @@ edebug-on-signal edebug-unwrap-results edebug-global-break-condition " + ;; If the user kills the buffer in which edebug is currently active, + ;; exit to top level, because the edebug command loop can't usefully + ;; continue running in such a case. + (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t) (use-local-map edebug-mode-map)) +(defun edebug-kill-buffer () + "Used on `kill-buffer-hook' when Edebug is operating in a buffer of Lisp code." + (let (kill-buffer-hook) + (kill-buffer (current-buffer))) + (top-level)) + ;;; edebug eval list mode ;; A list of expressions and their evaluations is displayed in *edebug*. |