If you create a link to a gnus message while in a nnvirtual group, the
link will become un-followable as soon as you exit the virtual group.
This patch checks to see if we're in a virtual group, and if so it
creates the link to the original group instead.

E

>From 2d1dbbeb071e256ff37be798e8e04689a40665c8 Mon Sep 17 00:00:00 2001
From: Eric Abrahamsen <e...@ericabrahamsen.net>
Date: Thu, 12 Jun 2014 12:53:15 +0800
Subject: [PATCH] Create org-gnus links from original group, not virtual

lisp/org-gnus.el (org-gnus-store-link): If we happen to be in a
		 virtual group when storing a link to a message, we
		 want the link to point to the message's "real" group,
		 as a link to a virtual group can't be followed later.
---
 lisp/org-gnus.el | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lisp/org-gnus.el b/lisp/org-gnus.el
index 2c79347..48afb3c 100644
--- a/lisp/org-gnus.el
+++ b/lisp/org-gnus.el
@@ -170,6 +170,10 @@ If `org-store-link' was called with a prefix arg the meaning of
 	   (subject (copy-sequence (mail-header-subject header)))
 	   (to (cdr (assq 'To (mail-header-extra header))))
 	   newsgroups x-no-archive desc link)
+      (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name))
+		  'nnvirtual)
+	(setq group (car (nnvirtual-map-article
+			  (gnus-summary-article-number)))))
       ;; Remove text properties of subject string to avoid Emacs bug
       ;; #3506
       (set-text-properties 0 (length subject) nil subject)
-- 
2.0.0

Reply via email to