emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] org-capture with LISP function template
@ 2010-07-19  1:45 Juan Pechiar
  2010-07-19  7:05 ` Carsten Dominik
  0 siblings, 1 reply; 4+ messages in thread
From: Juan Pechiar @ 2010-07-19  1:45 UTC (permalink / raw)
  To: carsten.dominik; +Cc: emacs-orgmode

Hi Carsten + crowd,

Below is a patch for org-capture when the template is given by a LISP
function.

Problem was that the function is inside a string (not a LISP form), so
the string has to be evaluated explicitly.

Now it's working for me. I use it to get a template formed by
URL/title and selected text from Opera browser (on Mac OSX). I´ll
publish this after polishing the code.

I've also been testing exotic org-capture templates and I've found no
other errors yet.

Best regards,
.j.

8<------------------------------------------------------------

diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 2a3a1b8..409427f 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -440,8 +440,8 @@ bypassed."
          (setq txt (org-file-contents file))
        (setq txt (format "* Template file %s not found" (nth 1
        txt)))))
      ((and (listp txt) (eq (car txt) 'function))
-      (if (fboundp (nth 1 txt))
-         (setq txt (funcall (nth 1 txt)))
+      (if (eval (concat "fboundp " (nth 1 txt)))
+         (setq txt (eval (read (nth 1 txt))))
        (setq txt (format "* Template function %s not found" (nth 1
        txt)))))
      ((not txt) (setq txt ""))
      ((stringp txt))

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-07-19 12:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-19  1:45 [PATCH] org-capture with LISP function template Juan Pechiar
2010-07-19  7:05 ` Carsten Dominik
2010-07-19 12:26   ` Juan
2010-07-19 12:43     ` Carsten Dominik

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).