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

From: Eli Zaretskii <[email-masked]>
Date: Wed, 26 Apr 2017 18:33:00 +0300

> From: [email-masked]
> Cc: Tino Calancha <[email-masked]>,  [email-masked]
> Date: Wed, 26 Apr 2017 08:52:26 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> >> +  (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?
> >> No, because `add-hook' is called with non-nil LOCAL arg.
> >
> > Right, sorry for not paying attention.
> 
> Maybe I should have written
> 
>     (add-hook 'kill-buffer-hook (lambda ...) nil 'local)
> 
> to emphasize this?

It's up to you, but the fact that I didn't see it is not a reason good
enough to change anything, IMO.