From e8296fdc980f927e4e534dc62ce4f436fdf3a779 Mon Sep 17 00:00:00 2001
From: Helmut Eller <eller.helmut@gmail.com>
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  <eller.helmut@gmail.com>
+
+	* debug.el (debug): Restore the previous content of the
+	*Backtrace* buffer when we exit with C-M-c.
+
 2011-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* 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.39.5