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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39344 in the body.
You can then email your comments to 39344 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 11:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Heerdegen <michael_heerdegen <at> web.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 29 Jan 2020 11:49:02 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: bug-gnu-emacs <at> gnu.org
Cc: Sam Steingold <sds <at> gnu.org>
Subject: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 12:48:42 +0100
Hello,

since today (master built) when exiting Gnus I get this error:

Debugger entered--Lisp error: (error "Selecting deleted buffer")
  set-buffer(#<killed buffer>)
  (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p 'kill-buffer-hook) (progn (setq kill-buffer-hook nil))))
  (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p 'kill-buffer-hook) (progn (setq kill-buffer-hook nil)))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p 'kill-buffer-hook) (progn (setq kill-buffer-hook nil)))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (let ((--dolist-tail-- (gnus-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p 'kill-buffer-hook) (progn (setq kill-buffer-hook nil)))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  (closure (nnmail-spool-file t) nil "Clear all variables and buffers." (let ((variables (remove 'gnus-format-specs gnus-variable-list))) (while variables (set (car variables) nil) (setq variables (cdr variables)))) (setq gnus-list-of-killed-groups nil gnus-have-read-active-file nil gnus-agent-covered-methods nil gnus-agent-file-loading-local nil gnus-agent-file-loading-cache nil gnus-server-method-cache nil gnus-newsrc-alist nil gnus-group-list nil gnus-newsrc-hashtb nil gnus-killed-list nil gnus-zombie-list nil gnus-killed-hashtb nil gnus-active-hashtb nil gnus-moderated-hashtb nil gnus-description-hashtb nil gnus-current-headers nil gnus-thread-indent-array nil gnus-newsgroup-headers nil gnus-newsgroup-name nil gnus-server-alist nil gnus-group-list-mode nil gnus-opened-servers nil gnus-group-mark-positions nil gnus-newsgroup-data nil gnus-newsgroup-unreads ...) (gnus-shutdown 'gnus) (and gnus-current-startup-file (get-file-buffer gnus-current-startup-file) (kill-buffer (get-file-buffer gnus-current-startup-file))) (gnus-dribble-clear) (if (get-file-buffer (gnus-newsgroup-kill-file nil)) (progn (kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil))))) (let ((buf nntp-server-buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (do-auto-save t) (let ((--dolist-tail-- (gnus-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p 'kill-buffer-hook) (progn (setq kill-buffer-hook nil)))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (gnus-kill-gnus-frames))()
  apply((closure (nnmail-spool-file t) nil "Clear all variables and buffers." (let ((variables (remove 'gnus-format-specs gnus-variable-list))) (while variables (set (car variables) nil) (setq variables (cdr variables)))) (setq gnus-list-of-killed-groups nil gnus-have-read-active-file nil gnus-agent-covered-methods nil gnus-agent-file-loading-local nil gnus-agent-file-loading-cache nil gnus-server-method-cache nil gnus-newsrc-alist nil gnus-group-list nil gnus-newsrc-hashtb nil gnus-killed-list nil gnus-zombie-list nil gnus-killed-hashtb nil gnus-active-hashtb nil gnus-moderated-hashtb nil gnus-description-hashtb nil gnus-current-headers nil gnus-thread-indent-array nil gnus-newsgroup-headers nil gnus-newsgroup-name nil gnus-server-alist nil gnus-group-list-mode nil gnus-opened-servers nil gnus-group-mark-positions nil gnus-newsgroup-data nil gnus-newsgroup-unreads ...) (gnus-shutdown 'gnus) (and gnus-current-startup-file (get-file-buffer gnus-current-startup-file) (kill-buffer (get-file-buffer gnus-current-startup-file))) (gnus-dribble-clear) (if (get-file-buffer (gnus-newsgroup-kill-file nil)) (progn (kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil))))) (let ((buf nntp-server-buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (do-auto-save t) (let ((--dolist-tail-- (gnus-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p ...) (progn ...))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (gnus-kill-gnus-frames)) nil)
  (let ((kill-buffer-query-functions kill-buffer-query-functions)) (remove-hook 'kill-buffer-query-functions 'process-kill-buffer-query-function) (apply f args))
  my-gnus-clear-system-around-ad((closure (nnmail-spool-file t) nil "Clear all variables and buffers." (let ((variables (remove 'gnus-format-specs gnus-variable-list))) (while variables (set (car variables) nil) (setq variables (cdr variables)))) (setq gnus-list-of-killed-groups nil gnus-have-read-active-file nil gnus-agent-covered-methods nil gnus-agent-file-loading-local nil gnus-agent-file-loading-cache nil gnus-server-method-cache nil gnus-newsrc-alist nil gnus-group-list nil gnus-newsrc-hashtb nil gnus-killed-list nil gnus-zombie-list nil gnus-killed-hashtb nil gnus-active-hashtb nil gnus-moderated-hashtb nil gnus-description-hashtb nil gnus-current-headers nil gnus-thread-indent-array nil gnus-newsgroup-headers nil gnus-newsgroup-name nil gnus-server-alist nil gnus-group-list-mode nil gnus-opened-servers nil gnus-group-mark-positions nil gnus-newsgroup-data nil gnus-newsgroup-unreads ...) (gnus-shutdown 'gnus) (and gnus-current-startup-file (get-file-buffer gnus-current-startup-file) (kill-buffer (get-file-buffer gnus-current-startup-file))) (gnus-dribble-clear) (if (get-file-buffer (gnus-newsgroup-kill-file nil)) (progn (kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil))))) (let ((buf nntp-server-buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (do-auto-save t) (let ((--dolist-tail-- (gnus-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p ...) (progn ...))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (gnus-kill-gnus-frames)))
  apply(my-gnus-clear-system-around-ad (closure (nnmail-spool-file t) nil "Clear all variables and buffers." (let ((variables (remove 'gnus-format-specs gnus-variable-list))) (while variables (set (car variables) nil) (setq variables (cdr variables)))) (setq gnus-list-of-killed-groups nil gnus-have-read-active-file nil gnus-agent-covered-methods nil gnus-agent-file-loading-local nil gnus-agent-file-loading-cache nil gnus-server-method-cache nil gnus-newsrc-alist nil gnus-group-list nil gnus-newsrc-hashtb nil gnus-killed-list nil gnus-zombie-list nil gnus-killed-hashtb nil gnus-active-hashtb nil gnus-moderated-hashtb nil gnus-description-hashtb nil gnus-current-headers nil gnus-thread-indent-array nil gnus-newsgroup-headers nil gnus-newsgroup-name nil gnus-server-alist nil gnus-group-list-mode nil gnus-opened-servers nil gnus-group-mark-positions nil gnus-newsgroup-data nil gnus-newsgroup-unreads ...) (gnus-shutdown 'gnus) (and gnus-current-startup-file (get-file-buffer gnus-current-startup-file) (kill-buffer (get-file-buffer gnus-current-startup-file))) (gnus-dribble-clear) (if (get-file-buffer (gnus-newsgroup-kill-file nil)) (progn (kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil))))) (let ((buf nntp-server-buffer)) (if (gnus-buffer-live-p buf) (progn (kill-buffer buf) (gnus-prune-buffers)))) (do-auto-save t) (let ((--dolist-tail-- (gnus-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (set-buffer-modified-p nil) (if (local-variable-p ...) (progn ...))) (let ((buf buffer)) (if (gnus-buffer-live-p buf) (progn ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (gnus-kill-gnus-frames)) nil)
  gnus-clear-system()
  gnus-group-exit()
  funcall-interactively(gnus-group-exit)
  call-interactively(gnus-group-exit nil nil)
  command-execute(gnus-group-exit)

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

--8<---------------cut here---------------start------------->8---
(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)))
--8<---------------cut here---------------end--------------->8---

The problem rather seems to be that the return value of (gnus-buffers)
contains killed buffers.

TIA,

Michael.


In GNU Emacs 28.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.24.13, cairo version 1.16.0)
 of 2020-01-29 built on drachen
Repository revision: c7e3568e9e62146ee68cb97ca970e03576889a28
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12006000
System Description: Debian GNU/Linux bullseye/sid





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:08:02 GMT) Full text and rfc822 format available.

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))


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:26:02 GMT) Full text and rfc822 format available.

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

From: Robert Pluim <rpluim <at> gmail.com>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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:25:10 +0100
>>>>> On Wed, 29 Jan 2020 14:07:16 +0100, Stephen Berman <stephen.berman <at> gmx.net> said:
    Stephen> I see this too.  The patch below appears to fix it for me, but I don't
    Stephen> know if it's just a workaround.

That canʼt be right. 'gnus-buffers' already checks 'buffer-live-p'.

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:34:02 GMT) Full text and rfc822 format available.

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

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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:33:20 +0100
On Wed, 29 Jan 2020 14:25:10 +0100 Robert Pluim <rpluim <at> gmail.com> wrote:

>>>>>> On Wed, 29 Jan 2020 14:07:16 +0100, Stephen Berman
> <stephen.berman <at> gmx.net> said:
>     Stephen> I see this too.  The patch below appears to fix it for me, but I don't
>     Stephen> know if it's just a workaround.
>
> That canʼt be right. 'gnus-buffers' already checks 'buffer-live-p'.

Hm, odd, because when I stepped through gnus-clear-system, the error
occurred here:

   ;; Kill Gnus buffers.
   (do-auto-save t)
   (dolist (buffer (gnus-buffers))
     (with-current-buffer buffer   <===

and after adding the buffer-live-p check before that line, the error no
longer occurs.

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:43:02 GMT) Full text and rfc822 format available.

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

From: Robert Pluim <rpluim <at> gmail.com>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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:42:26 +0100
>>>>> On Wed, 29 Jan 2020 14:33:20 +0100, Stephen Berman <stephen.berman <at> gmx.net> said:

    Stephen> On Wed, 29 Jan 2020 14:25:10 +0100 Robert Pluim <rpluim <at> gmail.com> wrote:
    >>>>>>> On Wed, 29 Jan 2020 14:07:16 +0100, Stephen Berman
    >> <stephen.berman <at> gmx.net> said:
    Stephen> I see this too.  The patch below appears to fix it for me, but I don't
    Stephen> know if it's just a workaround.
    >> 
    >> That canʼt be right. 'gnus-buffers' already checks 'buffer-live-p'.

    Stephen> Hm, odd, because when I stepped through gnus-clear-system, the error
    Stephen> occurred here:

    Stephen>    ;; Kill Gnus buffers.
    Stephen>    (do-auto-save t)
    Stephen>    (dolist (buffer (gnus-buffers))
    Stephen>      (with-current-buffer buffer   <===

    Stephen> and after adding the buffer-live-p check before that line, the error no
    Stephen> longer occurs.

So one of Gnus' buffers is being killed in the middle of that
dolist. The only way I can see that happening is if the same buffer is
in there twice, in which case the following would work as well.

diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 6df26b4af8..2fc14c5fff 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -671,7 +671,7 @@ gnus-kill-buffer
 
 (defun gnus-buffers ()
   "Return a list of live Gnus buffers."
-  (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers)))
+  (setq gnus-buffers (delete-dups (seq-filter #'buffer-live-p gnus-buffers))))
 
 (defalias 'gnus-prune-buffers #'gnus-buffers)
 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:57:01 GMT) Full text and rfc822 format available.

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

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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:56:13 +0100
On Wed, 29 Jan 2020 14:42:26 +0100 Robert Pluim <rpluim <at> gmail.com> wrote:

>>>>>> On Wed, 29 Jan 2020 14:33:20 +0100, Stephen Berman
>> <stephen.berman <at> gmx.net> said:
>
>     Stephen> On Wed, 29 Jan 2020 14:25:10 +0100 Robert Pluim
>     Stephen> <rpluim <at> gmail.com> wrote:
>     >>>>>>> On Wed, 29 Jan 2020 14:07:16 +0100, Stephen Berman
>     >> <stephen.berman <at> gmx.net> said:
>     Stephen> I see this too.  The patch below appears to fix it for me, but I don't
>     Stephen> know if it's just a workaround.
>     >> 
>     >> That canʼt be right. 'gnus-buffers' already checks 'buffer-live-p'.
>
>     Stephen> Hm, odd, because when I stepped through gnus-clear-system, the error
>     Stephen> occurred here:
>
>     Stephen>    ;; Kill Gnus buffers.
>     Stephen>    (do-auto-save t)
>     Stephen>    (dolist (buffer (gnus-buffers))
>     Stephen>      (with-current-buffer buffer   <===
>
>     Stephen> and after adding the buffer-live-p check before that line, the error no
>     Stephen> longer occurs.
>
> So one of Gnus' buffers is being killed in the middle of that
> dolist. The only way I can see that happening is if the same buffer is
> in there twice, in which case the following would work as well.
>
> diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
> index 6df26b4af8..2fc14c5fff 100644
> --- a/lisp/gnus/gnus.el
> +++ b/lisp/gnus/gnus.el
> @@ -671,7 +671,7 @@ gnus-kill-buffer
>  
>  (defun gnus-buffers ()
>    "Return a list of live Gnus buffers."
> -  (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers)))
> +  (setq gnus-buffers (delete-dups (seq-filter #'buffer-live-p gnus-buffers))))
>  
>  (defalias 'gnus-prune-buffers #'gnus-buffers)

Yes, that seems to fix the problem too.

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 13:59:01 GMT) Full text and rfc822 format available.

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

From: Andreas Schwab <schwab <at> suse.de>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, Sam Steingold <sds <at> gnu.org>,
 Stephen Berman <stephen.berman <at> gmx.net>, 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 14:58:34 +0100
On Jan 29 2020, Robert Pluim wrote:

> So one of Gnus' buffers is being killed in the middle of that
> dolist. The only way I can see that happening is if the same buffer is
> in there twice, in which case the following would work as well.
>
> diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
> index 6df26b4af8..2fc14c5fff 100644
> --- a/lisp/gnus/gnus.el
> +++ b/lisp/gnus/gnus.el
> @@ -671,7 +671,7 @@ gnus-kill-buffer
>  
>  (defun gnus-buffers ()
>    "Return a list of live Gnus buffers."
> -  (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers)))
> +  (setq gnus-buffers (delete-dups (seq-filter #'buffer-live-p gnus-buffers))))
>  
>  (defalias 'gnus-prune-buffers #'gnus-buffers)

Perhaps gnus-add-buffer should already deduplicate.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab <at> suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 14:03:02 GMT) Full text and rfc822 format available.

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

From: Robert Pluim <rpluim <at> gmail.com>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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 15:02:09 +0100
>>>>> On Wed, 29 Jan 2020 14:56:13 +0100, Stephen Berman <stephen.berman <at> gmx.net> said:

    Stephen> Yes, that seems to fix the problem too.

So now all we have to do is figure out why the duplicate entry is
happening (or just apply one of the two patches and get on with our
day :-))

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 14:21:01 GMT) Full text and rfc822 format available.

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

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 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 15:20:01 +0100
On Wed, 29 Jan 2020 15:02:09 +0100 Robert Pluim <rpluim <at> gmail.com> wrote:

>>>>>> On Wed, 29 Jan 2020 14:56:13 +0100, Stephen Berman
> <stephen.berman <at> gmx.net> said:
>
>     Stephen> Yes, that seems to fix the problem too.
>
> So now all we have to do is figure out why the duplicate entry is
> happening

Or forestall it in gnus-add-buffer as Andreas pondered?

>           (or just apply one of the two patches and get on with our
> day :-))

BTW, gnus-kill-buffer at the end of the dolist looping over gnus-buffers
also checks buffer-live-p, apparently redundantly here (though there are
46 uses of gnus-kill-buffer and I haven't looked to see if they need the
check).  But I'm afraid I have to get on with my day now, so feel free
to patch or further debug...

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 14:41:02 GMT) Full text and rfc822 format available.

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

From: Andreas Schwab <schwab <at> suse.de>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, Sam Steingold <sds <at> gnu.org>,
 Stephen Berman <stephen.berman <at> gmx.net>, 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 15:40:45 +0100
On Jan 29 2020, Robert Pluim wrote:

> So now all we have to do is figure out why the duplicate entry is
> happening

See gnus-add-buffer in nnmail-article-group.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab <at> suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 17:01:02 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Andreas Schwab <schwab <at> suse.de>
Cc: Robert Pluim <rpluim <at> gmail.com>, Sam Steingold <sds <at> gnu.org>,
 39344 <at> debbugs.gnu.org, Stephen Berman <stephen.berman <at> gmx.net>
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 18:00:59 +0100
Andreas Schwab <schwab <at> suse.de> writes:

> Perhaps gnus-add-buffer should already deduplicate.

Seems Sam has done that on master.  That fixed the problem for me.
Dunno if there is anything to do for emacs-27.


Thanks,

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 29 Jan 2020 17:08:02 GMT) Full text and rfc822 format available.

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

From: Sam Steingold <sds <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Robert Pluim <rpluim <at> gmail.com>, Stephen Berman <stephen.berman <at> gmx.net>,
 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 29 Jan 2020 12:06:46 -0500
> * Andreas Schwab <fpujno <at> fhfr.qr> [2020-01-29 14:58:34 +0100]:
>
> On Jan 29 2020, Robert Pluim wrote:
>
>> So one of Gnus' buffers is being killed in the middle of that
>> dolist. The only way I can see that happening is if the same buffer is
>> in there twice, in which case the following would work as well.
>>
>> diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
>> index 6df26b4af8..2fc14c5fff 100644
>> --- a/lisp/gnus/gnus.el
>> +++ b/lisp/gnus/gnus.el
>> @@ -671,7 +671,7 @@ gnus-kill-buffer
>>  
>>  (defun gnus-buffers ()
>>    "Return a list of live Gnus buffers."
>> -  (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers)))
>> +  (setq gnus-buffers (delete-dups (seq-filter #'buffer-live-p gnus-buffers))))
>>  
>>  (defalias 'gnus-prune-buffers #'gnus-buffers)
>
> Perhaps gnus-add-buffer should already deduplicate.

gnus-add-buffer cannot add dupes.

I pushed a different fix, thanks.

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
https://ffii.org https://thereligionofpeace.com https://iris.org.il
If you know that you know nothing, you know too much.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 09:25:03 GMT) Full text and rfc822 format available.

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

From: Andreas Schwab <schwab <at> suse.de>
To: Sam Steingold <sds <at> gnu.org>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Robert Pluim <rpluim <at> gmail.com>, Stephen Berman <stephen.berman <at> gmx.net>,
 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 10:23:52 +0100
On Jan 29 2020, Sam Steingold wrote:

>> * Andreas Schwab <fpujno <at> fhfr.qr> [2020-01-29 14:58:34 +0100]:
>>
>> Perhaps gnus-add-buffer should already deduplicate.
>
> gnus-add-buffer cannot add dupes.
>
> I pushed a different fix, thanks.

Didn't you change exactly what I was suggesting?

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab <at> suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 16:45:01 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Andreas Schwab <schwab <at> suse.de>
Cc: Robert Pluim <rpluim <at> gmail.com>, Sam Steingold <sds <at> gnu.org>,
 39344 <at> debbugs.gnu.org, Stephen Berman <stephen.berman <at> gmx.net>
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 17:44:25 +0100
Andreas Schwab <schwab <at> suse.de> writes:

> > I pushed a different fix, thanks.
>
> Didn't you change exactly what I was suggesting?
>
> Andreas.

And can this report be closed btw?

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 17:24:01 GMT) Full text and rfc822 format available.

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

From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Andreas Schwab <schwab <at> suse.de>, Robert Pluim <rpluim <at> gmail.com>,
 Sam Steingold <sds <at> gnu.org>, 39344 <at> debbugs.gnu.org,
 Stephen Berman <stephen.berman <at> gmx.net>
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 09:23:35 -0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Andreas Schwab <schwab <at> suse.de> writes:
>
>> > I pushed a different fix, thanks.
>>
>> Didn't you change exactly what I was suggesting?
>>
>> Andreas.
>
> And can this report be closed btw?

The compilation warnings are still in there...




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 18:35:01 GMT) Full text and rfc822 format available.

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

From: Sam Steingold <sds <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Robert Pluim <rpluim <at> gmail.com>, Stephen Berman <stephen.berman <at> gmx.net>,
 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 13:34:24 -0500
> * Andreas Schwab <fpujno <at> fhfr.qr> [2020-01-30 10:23:52 +0100]:
>
> On Jan 29 2020, Sam Steingold wrote:
>
>>> * Andreas Schwab <fpujno <at> fhfr.qr> [2020-01-29 14:58:34 +0100]:
>>>
>>> Perhaps gnus-add-buffer should already deduplicate.
>>
>> gnus-add-buffer cannot add dupes.
>>
>> I pushed a different fix, thanks.
>
> Didn't you change exactly what I was suggesting?

I don't think so, but I might have mis-read you.


-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
https://www.memritv.org https://thereligionofpeace.com https://jihadwatch.org
There are two kinds of egotists: 1) Those who admit it  2) The rest of us




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 18:36:02 GMT) Full text and rfc822 format available.

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

From: Sam Steingold <sds <at> gnu.org>
To: Eric Abrahamsen <eric <at> ericabrahamsen.net>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Andreas Schwab <schwab <at> suse.de>, Robert Pluim <rpluim <at> gmail.com>,
 Stephen Berman <stephen.berman <at> gmx.net>, 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 13:35:17 -0500
> * Eric Abrahamsen <revp <at> revpnoenunzfra.arg> [2020-01-30 09:23:35 -0800]:
>
> Michael Heerdegen <michael_heerdegen <at> web.de> writes:
>
>> Andreas Schwab <schwab <at> suse.de> writes:
>>
>>> > I pushed a different fix, thanks.
>>>
>> And can this report be closed btw?
>
> The compilation warnings are still in there...

Should also be fixed.

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
https://jij.org http://islamexposedonline.com https://iris.org.il
Sex is like air.  It's only a big deal if you can't get any.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 30 Jan 2020 18:46:01 GMT) Full text and rfc822 format available.

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

From: Eric Abrahamsen <eric <at> ericabrahamsen.net>
To: Sam Steingold <sds <at> gnu.org>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Andreas Schwab <schwab <at> suse.de>, Robert Pluim <rpluim <at> gmail.com>,
 Stephen Berman <stephen.berman <at> gmx.net>, 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 30 Jan 2020 10:45:18 -0800
Sam Steingold <sds <at> gnu.org> writes:

>> * Eric Abrahamsen <revp <at> revpnoenunzfra.arg> [2020-01-30 09:23:35 -0800]:
>>
>> Michael Heerdegen <michael_heerdegen <at> web.de> writes:
>>
>>> Andreas Schwab <schwab <at> suse.de> writes:
>>>
>>>> > I pushed a different fix, thanks.
>>>>
>>> And can this report be closed btw?
>>
>> The compilation warnings are still in there...
>
> Should also be fixed.

Looks good to me, thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Wed, 05 Feb 2020 11:35:01 GMT) Full text and rfc822 format available.

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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Sam Steingold <sds <at> gnu.org>
Cc: Eric Abrahamsen <eric <at> ericabrahamsen.net>, Andreas Schwab <schwab <at> suse.de>,
 Robert Pluim <rpluim <at> gmail.com>, Stephen Berman <stephen.berman <at> gmx.net>,
 39344 <at> debbugs.gnu.org
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Wed, 05 Feb 2020 12:34:05 +0100
Sam Steingold <sds <at> gnu.org> writes:

> >> And can this report be closed btw?
> >
> > The compilation warnings are still in there...
>
> Should also be fixed.

Great.  So we are done, Sam?  Is emacs-27 ok as well?

Thanks,

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39344; Package emacs. (Thu, 20 Feb 2020 13:36:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Stephen Berman <stephen.berman <at> gmx.net>, 39344 <at> debbugs.gnu.org,
 Eric Abrahamsen <eric <at> ericabrahamsen.net>, Andreas Schwab <schwab <at> suse.de>,
 Robert Pluim <rpluim <at> gmail.com>, Sam Steingold <sds <at> gnu.org>
Subject: Re: bug#39344: 28.0.50; Gnus: Selecting deleted buffer
Date: Thu, 20 Feb 2020 14:35:13 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Great.  So we are done, Sam?  Is emacs-27 ok as well?

Looks OK to me, so I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 20 Feb 2020 13:36:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 39344 <at> debbugs.gnu.org and Michael Heerdegen <michael_heerdegen <at> web.de> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 20 Feb 2020 13:36:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 20 Mar 2020 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 31 days ago.

Previous Next


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