emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Exclude spaces and maybe tags from SUMMARY in iCalendar export


From: Tassilo Horn
Subject: [Orgmode] Exclude spaces and maybe tags from SUMMARY in iCalendar export
Date: Tue, 18 May 2010 13:43:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi all,

I've just discovered the iCalendar export and use that to have a
visually appealing read-only agenda in KOrganizer.  Basically, the
export seems perfect except for one thing.

When I have an org entry like

* Test                                           :some:tags:here:

the corresponding VEVENT will have the whole org heading including the
spaces and the tag string as SUMMARY (unless the entry has a SUMMARY
property).  Having the tags there might be ok (although by default they
are also set as CATEGORY), but the spaces between the heading title and
the tags should be compacted.

Appended is patch that does that when not `is-body'.

Bye,
Tassilo

---
 lisp/org-icalendar.el |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/org-icalendar.el b/lisp/org-icalendar.el
index 9acd2f4..66da256 100644
--- a/lisp/org-icalendar.el
+++ b/lisp/org-icalendar.el
@@ -516,11 +516,12 @@ whitespace, newlines, drawers, and timestamps, and cut it 
down to MAXLENGTH
 characters."
   (if (not s)
       nil
-    (when is-body
+    (if is-body
       (let ((re (concat "\\(" org-drawer-regexp "\\)[^\000]*?:END:.*\n?"))
            (re2 (concat "^[ \t]*" org-keyword-time-regexp ".*\n?")))
        (while (string-match re s) (setq s (replace-match "" t t s)))
-       (while (string-match re2 s) (setq s (replace-match "" t t s)))))
+       (while (string-match re2 s) (setq s (replace-match "" t t s))))
+      (setq s (replace-regexp-in-string "[[:space:]]+" " " s)))
     (let ((start 0))
       (while (string-match "\\([,;]\\)" s start)
        (setq start (+ (match-beginning 0) 2)
-- 
1.7.1





reply via email to

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