all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#39344: 28.0.50; Gnus: Selecting deleted buffer
@ 2020-01-29 11:48 Michael Heerdegen
  2020-01-29 13:07 ` Stephen Berman
  0 siblings, 1 reply; 20+ messages in thread
From: Michael Heerdegen @ 2020-01-29 11:48 UTC (permalink / raw)
  To: 39344; +Cc: Sam Steingold


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






^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-02-20 13:35 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-29 11:48 bug#39344: 28.0.50; Gnus: Selecting deleted buffer Michael Heerdegen
2020-01-29 13:07 ` Stephen Berman
2020-01-29 13:25   ` Robert Pluim
2020-01-29 13:33     ` Stephen Berman
2020-01-29 13:42       ` Robert Pluim
2020-01-29 13:56         ` Stephen Berman
2020-01-29 14:02           ` Robert Pluim
2020-01-29 14:20             ` Stephen Berman
2020-01-29 14:40             ` Andreas Schwab
2020-01-29 13:58         ` Andreas Schwab
2020-01-29 17:00           ` Michael Heerdegen
2020-01-29 17:06           ` Sam Steingold
2020-01-30  9:23             ` Andreas Schwab
2020-01-30 16:44               ` Michael Heerdegen
2020-01-30 17:23                 ` Eric Abrahamsen
2020-01-30 18:35                   ` Sam Steingold
2020-01-30 18:45                     ` Eric Abrahamsen
2020-02-05 11:34                     ` Michael Heerdegen
2020-02-20 13:35                       ` Lars Ingebrigtsen
2020-01-30 18:34               ` Sam Steingold

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.