From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/80250 Path: news.gmane.org!not-for-mail From: Dave Abrahams Newsgroups: gmane.emacs.gnus.general Subject: Patch Series: Warping via the registry Date: Sun, 9 Oct 2011 00:11:21 -0400 Message-ID: <1318133487-45386-1-git-send-email-dave@boostpro.com> NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1318133541 5739 80.91.229.12 (9 Oct 2011 04:12:21 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 9 Oct 2011 04:12:21 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M28540@lists.math.uh.edu Sun Oct 09 06:12:17 2011 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RCkkK-00068A-9M for ding-account@gmane.org; Sun, 09 Oct 2011 06:12:16 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1RCkjv-0003tU-V0; Sat, 08 Oct 2011 23:11:52 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1RCkju-0003sx-Fw for ding@lists.math.uh.edu; Sat, 08 Oct 2011 23:11:50 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1RCkjj-00031Z-OS for ding@lists.math.uh.edu; Sat, 08 Oct 2011 23:11:50 -0500 Original-Received: from mail-vw0-f44.google.com ([209.85.212.44]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1RCkjh-0005pW-NL for ding@gnus.org; Sun, 09 Oct 2011 06:11:37 +0200 Original-Received: by vws5 with SMTP id 5so6252061vws.17 for ; Sat, 08 Oct 2011 21:11:31 -0700 (PDT) Original-Received: by 10.52.68.43 with SMTP id s11mr8851046vdt.62.1318133491873; Sat, 08 Oct 2011 21:11:31 -0700 (PDT) Original-Received: from pluto.luannocracy.com (207-172-223-249.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com. [207.172.223.249]) by mx.google.com with ESMTPS id ha1sm14113347vdb.17.2011.10.08.21.11.30 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 08 Oct 2011 21:11:30 -0700 (PDT) Original-Received: by pluto.luannocracy.com (Postfix, from userid 501) id F099F10AD625; Sun, 9 Oct 2011 00:11:29 -0400 (EDT) X-Mailer: git-send-email 1.7.6.1 X-Spam-Score: -2.9 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:80250 Archived-At: This patch series implements the ability to warp to a message via information stored in the Gnus registry. From a user's point-of-view, this means that articles brought in from other groups by gnus-*-refer-* can be used as a jumping-off-point for further references. For example, I am using this code to jump to a given message: (defun gnus-goto-article (message-id) (with-temp-buffer (erase-buffer) ;; Insert dummy article (insert (format "From nobody Tue Sep 13 22:05:34 2011\n\n")) (gnus-group-read-ephemeral-group message-id `(nndoc ,message-id (nndoc-address ,(current-buffer)) (nndoc-article-type mbox)) :activate (cons (current-buffer) gnus-current-window-configuration) (not :request-only) '(-1) ; :select-articles (not :parameters) 0 ; :number ) (gnus-summary-refer-article message-id) )) Before applying this patch series, I could not get to the whole thread with `A T' because Gnus was unable to warp to the article in its original group. How it works ------------ Each time a message is fetched from a backend, its group is noted in the registry. Warping now consults the backend of the current group, and if that fails, tries warping to the article in each group stored for it in the registry until one succeeds. Note ---- Patch 6/6 is only to be applied after accepting the patch attached to http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9691. If you don't accept that patch, you can still apply the other 5 patches. [PATCH 1/6] Allow gnus-summary-insert-subject to work in empty [PATCH 2/6] Record information in the registry about each article [PATCH 3/6] Add `gnus-select-group-with-message-id' [PATCH 4/6] Add `gnus-try-warping-via-registry()' [PATCH 5/6] Enable registry-warping as a fallback if warping via the [PATCH 6/6] Use `gnus-registry-enabled' instead of