aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2007-03-04 17:53:03 +0000
committerRichard M. Stallman2007-03-04 17:53:03 +0000
commite20e4a48366c58e0946aacd5f28759dc2d35034c (patch)
treed2bf5bace4bdc1a6c9eb8770816d0d562e02a599
parentdad757bc24f51ab5d599bd5b25b05d1a8c80f082 (diff)
downloademacs-e20e4a48366c58e0946aacd5f28759dc2d35034c.tar.gz
emacs-e20e4a48366c58e0946aacd5f28759dc2d35034c.zip
(edebug-kill-buffer): New function.
(edebug-mode): Add the hook. (edebug-recursive-edit): Remove the hook on exiting.
-rw-r--r--lisp/emacs-lisp/edebug.el11
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 `::::} '."
2939 (edebug-overlay-arrow)) 2939 (edebug-overlay-arrow))
2940 (setq buffer-read-only edebug-buffer-read-only) 2940 (setq buffer-read-only edebug-buffer-read-only)
2941 (use-local-map edebug-outside-map) 2941 (use-local-map edebug-outside-map)
2942 (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t)
2942 ) 2943 )
2943 ;; gotta have a buffer to let its buffer local variables be set 2944 ;; gotta have a buffer to let its buffer local variables be set
2944 (get-buffer-create " bogus edebug buffer")) 2945 (get-buffer-create " bogus edebug buffer"))
@@ -3942,8 +3943,18 @@ edebug-on-signal
3942edebug-unwrap-results 3943edebug-unwrap-results
3943edebug-global-break-condition 3944edebug-global-break-condition
3944" 3945"
3946 ;; If the user kills the buffer in which edebug is currently active,
3947 ;; exit to top level, because the edebug command loop can't usefully
3948 ;; continue running in such a case.
3949 (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t)
3945 (use-local-map edebug-mode-map)) 3950 (use-local-map edebug-mode-map))
3946 3951
3952(defun edebug-kill-buffer ()
3953 "Used on `kill-buffer-hook' when Edebug is operating in a buffer of Lisp code."
3954 (let (kill-buffer-hook)
3955 (kill-buffer (current-buffer)))
3956 (top-level))
3957
3947;;; edebug eval list mode 3958;;; edebug eval list mode
3948 3959
3949;; A list of expressions and their evaluations is displayed in *edebug*. 3960;; A list of expressions and their evaluations is displayed in *edebug*.