unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: 13756@debbugs.gnu.org
Subject: bug#13756: Selecting deleted gnus-summary-buffer
Date: Mon, 18 Feb 2013 23:50:17 +0200	[thread overview]
Message-ID: <87a9r1er5m.fsf@mail.jurta.org> (raw)

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	other threads:[~2013-02-18 21:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-18 21:50 Juri Linkov [this message]
2013-07-06 17:03 ` bug#13756: Selecting deleted gnus-summary-buffer Lars Ingebrigtsen
2014-01-30 23:55   ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a9r1er5m.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=13756@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).