diff options
| author | Richard M. Stallman | 2007-03-04 17:53:03 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2007-03-04 17:53:03 +0000 |
| commit | e20e4a48366c58e0946aacd5f28759dc2d35034c (patch) | |
| tree | d2bf5bace4bdc1a6c9eb8770816d0d562e02a599 | |
| parent | dad757bc24f51ab5d599bd5b25b05d1a8c80f082 (diff) | |
| download | emacs-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.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 `::::} '." | |||
| 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 | |||
| 3942 | edebug-unwrap-results | 3943 | edebug-unwrap-results |
| 3943 | edebug-global-break-condition | 3944 | edebug-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*. |