GNU bug report logs - #39344
28.0.50; Gnus: Selecting deleted buffer

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Wed, 29 Jan 2020 11:49:02 UTC

Severity: normal

Tags: fixed

Found in version 28.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 39344 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Sam Steingold <sds <at> gnu.org>, 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 14:07:16 +0100
[Message part 1 (text/plain, inline)]
On Wed, 29 Jan 2020 12:48:42 +0100 Michael Heerdegen <michael_heerdegen <at> web.de> wrote:

> Hello,
>
> since today (master built) when exiting Gnus I get this error:
>
> Debugger entered--Lisp error: (error "Selecting deleted buffer")
>   set-buffer(#<killed buffer>)
[...]
> Could this be due to
>
> | Make sure that all gnus buffers are killed on exit
> | 5ee3c37634f7f8651b2da1f4b611334a2b146928
> | Author:     Sam Steingold <sds <at> gnu.org>
> | AuthorDate: Fri Jan 10 13:34:59 2020 -0500
>
> ?
>
> AFAICT `my-gnus-clear-system-around-ad' is unrelated, it looks like
>
> (defun my-gnus-clear-system-around-ad (f &rest args)
>               (let ((kill-buffer-query-functions kill-buffer-query-functions))
>                 (remove-hook 'kill-buffer-query-functions 'process-kill-buffer-query-function)
>                 (apply f args)))
>
> The problem rather seems to be that the return value of (gnus-buffers)
> contains killed buffers.

I see this too.  The patch below appears to fix it for me, but I don't
know if it's just a workaround.

Steve Berman

[Message part 2 (text/x-patch, inline)]
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 1fd2575ea1..5dba7cced7 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -722,11 +722,12 @@ gnus-clear-system
   ;; Kill Gnus buffers.
   (do-auto-save t)
   (dolist (buffer (gnus-buffers))
-    (with-current-buffer buffer
-      (set-buffer-modified-p nil)
-      (when (local-variable-p 'kill-buffer-hook)
-        (setq kill-buffer-hook nil)))
-    (gnus-kill-buffer buffer))
+    (when (buffer-live-p buffer)
+      (with-current-buffer buffer
+	(set-buffer-modified-p nil)
+	(when (local-variable-p 'kill-buffer-hook)
+	  (setq kill-buffer-hook nil)))
+      (gnus-kill-buffer buffer)))
   ;; Remove Gnus frames.
   (gnus-kill-gnus-frames))


This bug report was last modified 5 years and 152 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.