From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Lundin Subject: [PATCH] Preserve point when calling org-capture in gnus virtual group Date: Wed, 29 Nov 2017 09:23:37 -0600 Message-ID: <87zi75f6rq.fsf@fastmail.fm> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53283) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eK4DA-0008BY-Cr for emacs-orgmode@gnu.org; Wed, 29 Nov 2017 10:23:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eK4D6-0006S1-DL for emacs-orgmode@gnu.org; Wed, 29 Nov 2017 10:23:44 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:45073) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eK4D6-0006RZ-74 for emacs-orgmode@gnu.org; Wed, 29 Nov 2017 10:23:40 -0500 Received: from archdesk (wcnat-96-20.wheaton.edu [209.147.96.20]) by mail.messagingengine.com (Postfix) with ESMTPA id 470A27E6B8 for ; Wed, 29 Nov 2017 10:23:38 -0500 (EST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Org Mode --=-=-= Content-Type: text/plain When calling org-capture in gnus virtual groups (for instance, groups created through searches), I found that the region captured was different than the region I had selected. This is because one of the functions called in org-gnus-store-link moves the point to the end of the buffer. The attached patch fixes the issue. Thanks, Matt --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Prevent-point-from-moving-when-storing-link-in-gnus-.patch >From 7f41fbb98c7cbaa09af8f78b06a57587e4f583a1 Mon Sep 17 00:00:00 2001 From: Matt Lundin Date: Wed, 29 Nov 2017 09:17:55 -0600 Subject: [PATCH] Preserve position of point in gnus virtual group * lisp/org-gnus.el: (org-gnus-store-link) Add a save-excursion to protect the position of point. Otherwise, when calling org-capture in an article with a virtual group, the point is moved and the region captured is incorrect. --- lisp/org-gnus.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/org-gnus.el b/lisp/org-gnus.el index 687bc08b1..27a968f75 100644 --- a/lisp/org-gnus.el +++ b/lisp/org-gnus.el @@ -120,7 +120,8 @@ If `org-store-link' was called with a prefix arg the meaning of (let* ((group (pcase (gnus-find-method-for-group gnus-newsgroup-name) (`(nnvirtual . ,_) - (car (nnvirtual-map-article (gnus-summary-article-number)))) + (save-excursion + (car (nnvirtual-map-article (gnus-summary-article-number))))) (`(nnir . ,_) (nnir-article-group (gnus-summary-article-number))) (_ gnus-newsgroup-name))) -- 2.15.0 --=-=-=--