From e8296fdc980f927e4e534dc62ce4f436fdf3a779 Mon Sep 17 00:00:00 2001 From: Helmut Eller Date: Tue, 31 May 2011 12:24:33 -0300 Subject: [PATCH] * debug.el (debug): Restore the previous content of the *Backtrace* buffer when we exit with C-M-c. --- lisp/ChangeLog | 5 +++++ lisp/emacs-lisp/debug.el | 3 +++ 2 files changed, 8 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 07f700f6987..e6fdbd2372c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-05-31 Helmut Eller + + * debug.el (debug): Restore the previous content of the + *Backtrace* buffer when we exit with C-M-c. + 2011-05-31 Stefan Monnier * minibuffer.el: Add metadata method to completion tables. 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)) -- 2.11.4.GIT