comparison lisp/emacs-lisp/edebug.el @ 76298:872a30c0f872

(edebug-kill-buffer): New function. (edebug-mode): Add the hook. (edebug-recursive-edit): Remove the hook on exiting.
author Richard M. Stallman <rms@gnu.org>
date Sun, 04 Mar 2007 17:53:03 +0000
parents 7a3f13e2dd57
children f960587873db 91bf6e05918b
comparison
equal deleted inserted replaced
76297:35a8988b02f7 76298:872a30c0f872
2937 (set-buffer edebug-buffer) 2937 (set-buffer edebug-buffer)
2938 (if (memq edebug-execution-mode '(go Go-nonstop)) 2938 (if (memq edebug-execution-mode '(go Go-nonstop))
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"))
2945 ));; inner let 2946 ));; inner let
2946 2947
3940 edebug-on-quit 3941 edebug-on-quit
3941 edebug-on-signal 3942 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))
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))
3946 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*.
3950 3961