Subject: bug#26650: 26.0.50; Protect *Backtrace* from accidental killing

From: Eli Zaretskii <[email-masked]>
Date: Wed, 26 Apr 2017 13:07:53 +0300

> From: [email-masked]
> Date: Tue, 25 Apr 2017 08:50:00 -0400
> Cc: [email-masked]
> 
> diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
> index 94b683dcb9..0aef94f1d2 100644
> --- a/lisp/emacs-lisp/debug.el
> +++ b/lisp/emacs-lisp/debug.el
> @@ -753,6 +753,8 @@ debugger-mode
>  \\{debugger-mode-map}"
>    (setq truncate-lines t)
>    (set-syntax-table emacs-lisp-mode-syntax-table)
> +  (add-hook 'kill-buffer-hook
> +            (lambda () (if (> (recursion-depth) 0) (top-level))) nil t)

This will throw to top-level when _any_ buffer is killed, as long as
we are in recursive-edit, no?  Is that a good idea?  Shouldn't this
hook do that only for *Backtrace*?