summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/debug.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-06-14 14:38:05 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-06-14 14:38:05 +0200
commita02bb84c80f63a7b1199f0e68d605f7d418167fd (patch)
treea2f0b211013a4ec14e3651f155f569a8e7e16b74 /lisp/emacs-lisp/debug.el
parentbea90d8de27e673a039a71e15a08bcb0cb6f7011 (diff)
downloademacs-a02bb84c80f63a7b1199f0e68d605f7d418167fd.tar.gz
emacs-a02bb84c80f63a7b1199f0e68d605f7d418167fd.tar.bz2
emacs-a02bb84c80f63a7b1199f0e68d605f7d418167fd.zip
Leave the contents on the *Backtrace* buffer on `q'
* lisp/emacs-lisp/debug.el (debug): Don't clear the contents of the buffer on `q' (bug#55863).
Diffstat (limited to 'lisp/emacs-lisp/debug.el')
-rw-r--r--lisp/emacs-lisp/debug.el11
1 files changed, 5 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 6c172d6c31d..c4929eb2b01 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -305,16 +305,15 @@ the debugger will not be entered."
(set-buffer debugger-old-buffer)))
;; Forget debugger window, it won't be back (Bug#17882).
(setq debugger-previous-window nil))
- ;; Restore previous state of debugger-buffer in case we were
- ;; in a recursive invocation of the debugger, otherwise just
- ;; erase the buffer.
+ ;; Restore previous state of debugger-buffer in case we
+ ;; were in a recursive invocation of the debugger,
+ ;; otherwise just exit (after changing the mode, since we
+ ;; can't interact with the buffer in the same way).
(when (buffer-live-p debugger-buffer)
(with-current-buffer debugger-buffer
(if debugger-previous-state
(debugger--restore-buffer-state debugger-previous-state)
- (setq backtrace-insert-header-function nil)
- (setq backtrace-frames nil)
- (backtrace-print))))
+ (backtrace-mode))))
(with-timeout-unsuspend debugger-with-timeout-suspend)
(set-match-data debugger-outer-match-data)))
(setq debug-on-next-call debugger-step-after-exit)