* lisp/org-capture.el: If %(SEXP) has %:keyword, expand it using
org-store-link-plist.
I want to expand %:description keyword in sexp "%(func %:description)".
But if org-capture template is "%(function %:keyword)", function take a symbol
%:keyword, it does'nt expand.
This patch expand %:keyword within %(SEXP), so funcsion is taken %:keyword's
value.
For example, when capture template is "%(func %:description)" and a keyword
:description is "foobar", func is taken string "foobar".
Modified from a patch proposal by Ryo TAKAISHI.
TINYCHANGE
---
lisp/org-capture.el | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index be973b0..a8e49d6 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1620,7 +1620,15 @@ The template may still contain \"%?\" for cursor
positioning."
(goto-char (match-beginning 0))
(let ((template-start (point)))
(forward-char 1)
- (let ((result (org-eval (read (current-buffer)))))
+ (let* ((sexp (mapcar '(lambda (attr)
+ (let* ((attr-symbol (symbol-name attr))
+ (key (if (string-match "%\\(:.*\\)"
attr-symbol)
+ (intern (match-string 1
attr-symbol))
+ nil)))
+ (or (plist-get org-store-link-plist key)
+ attr)))
+ (read (current-buffer))))
+ (result (org-eval sexp)))
(delete-region template-start (point))
(insert result))))))
--
1.7.9.5