emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] inserting files within remember templates


From: Carsten Dominik
Subject: Re: [Orgmode] inserting files within remember templates
Date: Wed, 7 Nov 2007 09:42:55 +0100


On  6Nov2007, at 11:39 PM, Adam Spiers wrote:

On Tue, Nov 06, 2007 at 04:36:47PM +0000, Adam Spiers wrote:

[snip]

This could easily be accomplished if remember templates allowed syntax
such as

,------
| * %T
| %(shell-command-to-string "grep 'last full' /proc/acpi/battery/ BAT0/info")
`------

OK, it turns out that this was easy to implement, and I think the
patch is small enough that it could be accepted even though I haven't
got around to sending back the copyright assignment form yet (sorry -
this *will* happen at some point!)

I'll take this patch, thanks.

- Carsten


Diff against 5.13i:

--- a/org.el    Wed Oct 31 09:46:35 2007 +0000
+++ b/org.el    Tue Nov 06 22:30:13 2007 +0000
@@ -12806,6 +12806,17 @@ to be run from that hook to fucntion pro
          (replace-match
           (or (eval (intern (concat "v-" (match-string 1)))) "")
           t t))
+        ;; %() embedded elisp
+       (goto-char (point-min))
+        (while (re-search-forward "%\\((.+)\\)" nil t)
+          (goto-char (match-beginning 0))
+          (let ((template-start (point)))
+            (forward-char 1)
+            (condition-case error
+                (let ((result (eval (read (current-buffer)))))
+                  (delete-region template-start (point))
+                  (insert result))
+ (error (message "Error `%s' in remember template" error)))))
        ;; From the property list
        (when plist-p
          (goto-char (point-min))


There might need to be some debate about how to handle read errors in
the case of invalid syntax.  Or perhaps some people already have
`%(...)' within their remember templates for some really unusual
reason, and don't want it interpreted?  Though in the latter case, one
could argue that it might make sense to require `%' always to be
escaped as `%%' if used literally, to be on the safe side.


_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

[Prev in Thread] Current Thread [Next in Thread]