From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: [Accepted] [Orgmode, 1/2] org-store-link: Return link when invoked from within agenda buffer Date: Mon, 23 Aug 2010 12:18:16 +0200 (CEST) Message-ID: <20100823101816.135D864C615@u016822.science.uva.nl> References: <81sk26s06x.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=34672 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OnU6d-0000WX-5k for emacs-orgmode@gnu.org; Mon, 23 Aug 2010 06:18:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OnU6b-0003qy-3o for emacs-orgmode@gnu.org; Mon, 23 Aug 2010 06:18:18 -0400 Received: from u016822.science.uva.nl ([146.50.39.34]:59813) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OnU6a-0003qm-J4 for emacs-orgmode@gnu.org; Mon, 23 Aug 2010 06:18:17 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Patch 239 (http://patchwork.newartisans.com/patch/239/) is now "Accepted". Maintainer comment: none This relates to the following submission: http://mid.gmane.org/%3C81sk26s06x.fsf%40gmail.com%3E Here is the original message containing the patch: > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Subject: [Orgmode, > 1/2] org-store-link: Return link when invoked from within agenda > buffer > Date: Mon, 23 Aug 2010 03:37:31 -0000 > From: Jambunathan K > X-Patchwork-Id: 239 > Message-Id: <81sk26s06x.fsf@gmail.com> > To: emacs-orgmode@gnu.org > Cc: > > Carsten, > > Sorry about multiple drops. This post *should* contain the patch. > > Summary: > > When I trigger a org-capture, with the cursor positioned on a line in > the agenda buffer, I want the link to the agenda entry to be available > as an annotation (%a) to the capture process. Currently this is broken. > > The enclosed patch fixes this. > > Setup: > > # file todo.org > * TODO Talk to someone > SCHEDULED: <2010-08-23 Mon> > > # org-capture-templates > ("z" "Conversation" entry > (file+headline "~/conversation.org" "Conversations") > "** Note taken on %U\n %a\n %?" :prepend t :empty-lines 1) > > Steps for reporduction: > > 1. Restrict agenda to todo.org > 2. Do org-agenda > 3. Place the cursor on the above todo line > 4. Trigger an org-capture for the above capture entry > > Examine the entries in conversation.org before/after the patch is > applied. Note the absence/presence of the link to the parent todo entry. > > * Conversations > > ** Note taken on [2010-08-23 Mon 03:58] > [[file:~/todo.org::*Talk%20to%20someone][Talk to someone]] > > ** Note taken on [2010-08-23 Mon 03:42] > > Jambunathan K. > >From bcceabe70968416fb4540e32c68bfbda76820f9b Mon Sep 17 00:00:00 2001 > From: Jambunathan K > Date: Sun, 22 Aug 2010 23:36:52 +0530 > Subject: [PATCH 1/2] org-store-link: Return link when invoked from within agenda buffer. > > * org.el (org-store-link): Return link when invoked non-interactively from > an agenda buffer. > > TINYCHANGE > > --- > lisp/org.el | 11 ++++++----- > 1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/lisp/org.el b/lisp/org.el > index 366c8dd..5db7aab 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -8218,7 +8218,7 @@ For file links, arg negates `org-context-in-file-links'." > (org-load-modules-maybe) > (setq org-store-link-plist nil) ; reset > (let ((outline-regexp (org-get-limited-outline-regexp)) > - link cpltxt desc description search txt custom-id) > + link cpltxt desc description search txt custom-id agenda-link) > (cond > > ((run-hook-with-args-until-success 'org-store-link-functions) > @@ -8250,9 +8250,10 @@ For file links, arg negates `org-context-in-file-links'." > (get-text-property (point) 'org-marker)))) > (when m > (org-with-point-at m > - (if (interactive-p) > - (call-interactively 'org-store-link) > - (org-store-link nil)))))) > + (setq agenda-link > + (if (interactive-p) > + (call-interactively 'org-store-link) > + (org-store-link nil))))))) > > ((eq major-mode 'calendar-mode) > (let ((cd (calendar-cursor-to-date))) > @@ -8389,7 +8390,7 @@ For file links, arg negates `org-context-in-file-links'." > "::#" custom-id)) > (setq org-stored-links > (cons (list link desc) org-stored-links)))) > - (and link (org-make-link-string link desc))))) > + (or agenda-link (and link (org-make-link-string link desc)))))) > > (defun org-store-link-props (&rest plist) > "Store link properties, extract names and addresses." >