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 > 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.
This commit is contained in:
parent
784e5f1488
commit
5908e8ed7b
|
@ -8218,7 +8218,7 @@ For file links, arg negates `org-context-in-file-links'."
|
||||||
(org-load-modules-maybe)
|
(org-load-modules-maybe)
|
||||||
(setq org-store-link-plist nil) ; reset
|
(setq org-store-link-plist nil) ; reset
|
||||||
(let ((outline-regexp (org-get-limited-outline-regexp))
|
(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
|
(cond
|
||||||
|
|
||||||
((run-hook-with-args-until-success 'org-store-link-functions)
|
((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))))
|
(get-text-property (point) 'org-marker))))
|
||||||
(when m
|
(when m
|
||||||
(org-with-point-at m
|
(org-with-point-at m
|
||||||
|
(setq agenda-link
|
||||||
(if (interactive-p)
|
(if (interactive-p)
|
||||||
(call-interactively 'org-store-link)
|
(call-interactively 'org-store-link)
|
||||||
(org-store-link nil))))))
|
(org-store-link nil)))))))
|
||||||
|
|
||||||
((eq major-mode 'calendar-mode)
|
((eq major-mode 'calendar-mode)
|
||||||
(let ((cd (calendar-cursor-to-date)))
|
(let ((cd (calendar-cursor-to-date)))
|
||||||
|
@ -8392,7 +8393,7 @@ For file links, arg negates `org-context-in-file-links'."
|
||||||
"::#" custom-id))
|
"::#" custom-id))
|
||||||
(setq org-stored-links
|
(setq org-stored-links
|
||||||
(cons (list link desc) 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)
|
(defun org-store-link-props (&rest plist)
|
||||||
"Store link properties, extract names and addresses."
|
"Store link properties, extract names and addresses."
|
||||||
|
|
Loading…
Reference in New Issue