bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13756: Selecting deleted gnus-summary-buffer


From: Juri Linkov
Subject: bug#13756: Selecting deleted gnus-summary-buffer
Date: Mon, 18 Feb 2013 23:50:17 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu)

Package: emacs,gnus
Version: 24.3.50

Often selecting a Gnus article from the Gnus summary fails with the error:

Debugger entered--Lisp error: (error "Selecting deleted buffer")
  gnus-article-get-xrefs()
  run-hooks(gnus-tmp-internal-hook)
  apply(run-hooks gnus-tmp-internal-hook)
  gnus-run-hooks(gnus-tmp-internal-hook)
  gnus-article-prepare-display()
  gnus-article-prepare(57082 nil)
  gnus-summary-display-article(57082)
  gnus-summary-next-article(t nil)
  gnus-summary-next-unread-article()
  call-interactively(gnus-summary-next-unread-article nil nil)

because in `gnus-article-prepare' the line

        (set-buffer gnus-article-buffer)

invalidates the previously live current buffer `gnus-summary-buffer'
to #<killed buffer>.

I've tracked this problem down to revno#111328
that has the following relevant diff parts:

+++ lisp/gnus/ChangeLog 2012-12-25 22:12:59 +0000
+
+       * gnus-art.el (gnus-article-setup-buffer): Make sure that the article
+       buffer always points to the right summary buffer.
+
=== modified file 'lisp/gnus/gnus-art.el'
--- lisp/gnus/gnus-art.el       2012-12-12 22:22:31 +0000
+++ lisp/gnus/gnus-art.el       2012-12-25 22:12:59 +0000
@@ -4539,18 +4539,17 @@ (defun gnus-article-setup-buffer ()
            (gnus-article-mode))
          (setq truncate-lines gnus-article-truncate-lines)
          (current-buffer))
+      (let ((summary gnus-summary-buffer))
       (with-current-buffer (gnus-get-buffer-create name)
        (gnus-article-mode)
        (setq truncate-lines gnus-article-truncate-lines)
-       (make-local-variable 'gnus-summary-buffer)
-       (setq gnus-summary-buffer
-             (gnus-summary-buffer-name gnus-newsgroup-name))
+       (set (make-local-variable 'gnus-summary-buffer) summary)
        (gnus-summary-set-local-parameters gnus-newsgroup-name)
        (when article-lapsed-timer
          (gnus-stop-date-timer))
        (when gnus-article-update-date-headers
          (gnus-start-date-timer gnus-article-update-date-headers))
-       (current-buffer)))))
+       (current-buffer))))))

that uses a pointer to the buffer instead of the buffer name.

Reverting this commit removes the above error.
I don't know what bug this commit was intended to fix,
so I can't suggest how to resolve this problem.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]