summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorHelmut Eller <eller.helmut@gmail.com>2011-05-31 12:24:33 -0300
committerStefan Monnier <monnier@iro.umontreal.ca>2011-05-31 12:24:33 -0300
commite8296fdc980f927e4e534dc62ce4f436fdf3a779 (patch)
treed1c0c0ca9f0b0090075222cf41015076b358f559 /lisp/emacs-lisp
parent2ad0baf4e6309b2987379ae714c22cd018f30d74 (diff)
downloademacs-e8296fdc980f927e4e534dc62ce4f436fdf3a779.tar.gz
emacs-e8296fdc980f927e4e534dc62ce4f436fdf3a779.tar.bz2
emacs-e8296fdc980f927e4e534dc62ce4f436fdf3a779.zip
* debug.el (debug): Restore the previous content of the
*Backtrace* buffer when we exit with C-M-c.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/debug.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 88633eaaa46..4a43f59c9e2 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -120,6 +120,7 @@ first will be printed into the backtrace buffer."
(debug-on-quit nil)
(debugger-buffer (get-buffer-create "*Backtrace*"))
(debugger-old-buffer (current-buffer))
+ (debugger-previous-contents nil)
(debugger-step-after-exit nil)
(debugger-will-be-back nil)
;; Don't keep reading from an executing kbd macro!
@@ -181,6 +182,7 @@ first will be printed into the backtrace buffer."
(when (eq 'lambda (car-safe (cadr (backtrace-frame 4))))
(backtrace-debug 5 t)))
(pop-to-buffer debugger-buffer)
+ (setq debugger-previous-contents (buffer-string))
(debugger-mode)
(debugger-setup-buffer debugger-args)
(when noninteractive
@@ -215,6 +217,7 @@ first will be printed into the backtrace buffer."
;; erase it (and maybe hide it) but keep it alive.
(with-current-buffer debugger-buffer
(erase-buffer)
+ (insert debugger-previous-contents)
(fundamental-mode)
(with-selected-window (get-buffer-window debugger-buffer 0)
(when (and (window-dedicated-p (selected-window))