diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2008-12-03 08:28:26 +0100 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2008-12-03 08:28:26 +0100 |
commit | b266f5a90cc29a2bf1010c2e472801f941a86ddf (patch) | |
tree | e20a959911564a1ab50653fbe91f4443dd029d68 | |
parent | aa07f68c1258aff97b6d42fa0da86f3f6c4c8041 (diff) | |
download | org-mode-b266f5a90cc29a2bf1010c2e472801f941a86ddf.tar.gz |
Make LOCATION property inheritable for iCalendar export.
Harri Kiiskinen suggested that it might be useful to make the LOCATION
property an inherited property during iCalendar export. In this way
you can have set the LOCATION for a whole set of items by setting it
only in the parent.
While this will slow down iCalendar export for large files, I think it
can be quite useful. This patch does implement the basic code needed
for this functionality. However, you still need to tell Org that
LOCATION should be inherited, by setting org-use-property-inheritance.
If you set it to t, beware that this may trigger a significant
slowdown when creating the match view in the agenda. So it may be
better to set this variable to
(setq org-use-property-inheritance '("LOCATION"))
instead.
-rw-r--r-- | ORGWEBPAGE/Changes.org | 10 | ||||
-rw-r--r-- | doc/org.texi | 8 | ||||
-rwxr-xr-x | lisp/ChangeLog | 2 | ||||
-rw-r--r-- | lisp/org-exp.el | 4 |
4 files changed, 19 insertions, 5 deletions
diff --git a/ORGWEBPAGE/Changes.org b/ORGWEBPAGE/Changes.org index b98345a..3f3fa5e 100644 --- a/ORGWEBPAGE/Changes.org +++ b/ORGWEBPAGE/Changes.org @@ -110,6 +110,16 @@ | org-export-with-tags | :tags | tags: | | org-export-with-priority | :priority | pri: | +*** LOCATION can be inherited for iCalendar export + + The LOCATION property can now be inherited during iCalendar + export if you configure =org-use-property-inheritance= like + this: + +#+begin_src emacs-lisp +(setq org-use-property-inheritance '("LOCATION")) +#+end_src + * Version 6.13 ** Overview diff --git a/doc/org.texi b/doc/org.texi index 27eaaf5..e3c010f 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -8017,9 +8017,11 @@ Create a single large iCalendar file from all files in @code{org-combined-agenda-icalendar-file}. @end table -The export will honor SUMMARY, DESCRIPTION and LOCATION properties if -the selected entries have them. If not, the summary will be derived -from the headline, and the description from the body (limited to +The export will honor SUMMARY, DESCRIPTION and LOCATION@footnote{The LOCATION +property can be inherited from higher in the hierarchy if you configure +@code{org-use-property-inheritance} accordingly.} properties if the selected +entries have them. If not, the summary will be derived from the headline, +and the description from the body (limited to @code{org-icalendar-include-body} characters). How this calendar is best read and updated, that depends on the application diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2a012a8..6323520 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -3,6 +3,8 @@ * org-exp.el (org-export-with-priority): New variable. (org-export-add-options-to-plist): Use `org-export-plist-vars' instead of internal list of strings and properties. + (org-print-icalendar-entries): Retrieve the location property with + inheritance. 2008-12-02 Carsten Dominik <carsten.dominik@gmail.com> diff --git a/lisp/org-exp.el b/lisp/org-exp.el index eb07fd5..c45eef2 100644 --- a/lisp/org-exp.el +++ b/lisp/org-exp.el @@ -4391,7 +4391,7 @@ When COMBINE is non nil, add the category to each line." (and org-icalendar-include-body (org-get-entry))) t org-icalendar-include-body) location (org-icalendar-cleanup-string - (org-entry-get nil "LOCATION")) + (org-entry-get nil "LOCATION" 'selective)) uid (if org-icalendar-store-UID (org-id-get-create) (or (org-id-get) (org-id-new))) @@ -4513,7 +4513,7 @@ END:VEVENT\n" (and org-icalendar-include-body (org-get-entry))) t org-icalendar-include-body) location (org-icalendar-cleanup-string - (org-entry-get nil "LOCATION")) + (org-entry-get nil "LOCATION" 'selective)) due (and (member 'todo-due org-icalendar-use-deadline) (org-entry-get nil "DEADLINE")) start (and (member 'todo-start org-icalendar-use-scheduled) |