summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2011-06-15 14:39:04 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2011-06-15 14:39:04 -0400
commitcb581a672b346e4896b2dee85cb2e23dfa2bca24 (patch)
tree2b6a048b61269dcd0befbac3b2d7128844904898 /lisp/emacs-lisp
parent0ac306045f2e03289032f4303e3c86dcbca89cc2 (diff)
downloademacs-cb581a672b346e4896b2dee85cb2e23dfa2bca24.tar.gz
emacs-cb581a672b346e4896b2dee85cb2e23dfa2bca24.tar.bz2
emacs-cb581a672b346e4896b2dee85cb2e23dfa2bca24.zip
* lisp/emacs-lisp/debug.el (debug): Don't leave the buffer in Debugger.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/debug.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 28962595ace..2fa339e62fe 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -238,13 +238,14 @@ first will be printed into the backtrace buffer."
(kill-buffer debugger-buffer)))
;; Restore the previous state of the debugger-buffer, in case we were
;; in a recursive invocation of the debugger.
- (when (and debugger-previous-state
- (buffer-live-p debugger-buffer))
+ (when (buffer-live-p debugger-buffer)
(with-current-buffer debugger-buffer
(let ((inhibit-read-only t))
(erase-buffer)
- (insert (nth 1 debugger-previous-state))
- (funcall (nth 0 debugger-previous-state)))))
+ (if (null debugger-previous-state)
+ (fundamental-mode)
+ (insert (nth 1 debugger-previous-state))
+ (funcall (nth 0 debugger-previous-state))))))
(with-timeout-unsuspend debugger-with-timeout-suspend)
(set-match-data debugger-outer-match-data)))
;; Put into effect the modified values of these variables