Subject: bug#13999: 24.3.50; rng-validate-while-idle -> (error "Selecting deleted buffer")

From: Leo Liu <[email-masked]>
Date: Sat, 23 Mar 2013 11:28:30 +0800

On 2013-03-20 11:29 +0800, Stefan Monnier wrote:
> I think it's still worthwhile to defensively make
> rng-validate-while-idle check that the buffer is still live, since the
> other problem may be anywhere in some unrelated code (potentially
> external to Emacs) that let-binds kill-buffer-hook (for example).

Let-binding kill-buffer-hook is also a source of problems like this bug
report. There are three places in emacs that do this:

  international/mule.el
  emacs-lisp/edebug.el
  gnus/mml.el

Looks like a really bad idea.

Most uses of kill-buffer-hook are cleanup routines. Let-bind the hook to
nil has a high probability of leaving things in an inconsistent state.

I think we should find a way to fix the three occurrences in emacs and
put a note in kill-buffer-hook's doc-string.

Leo