>From 52511b5e2a538d3bb0375c2e32caef0a27e1998e Mon Sep 17 00:00:00 2001 From: Viktor Rosenfeld Date: Sun, 11 Aug 2013 03:59:29 +0200 Subject: [PATCH] ox-icalendar: fix handling of timestamps * ox-icalendar.el (org-icalendar-entry): Honor setting of `org-icalendar-with-timestamps' for timestamps on headlines and checkboxes. The setting `org-icalendar-with-timestamps' was only applied to timestamps which do not appear on a heading or on a checkbox. E.g., with `org-icalendar-with-timestamps' set to 'active, an heading containing an inactive timestamp on would be exported. This patch fixes this. TINYCHANGE --- lisp/ox-icalendar.el | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lisp/ox-icalendar.el b/lisp/ox-icalendar.el index c6ab295..ab83a48 100644 --- a/lisp/ox-icalendar.el +++ b/lisp/ox-icalendar.el @@ -580,15 +580,22 @@ inlinetask within the section." ;; When collecting plain timestamps from a headline and ;; its title, skip inlinetasks since collection will ;; happen once ENTRY is one of them. - (let ((counter 0)) + (let ((counter 0) + (with-timestamps (plist-get info :with-timestamps))) (mapconcat 'identity (org-element-map (cons (org-element-property :title entry) (org-element-contents inside)) 'timestamp (lambda (ts) - (let ((uid (format "TS%d-%s" (incf counter) uid))) - (org-icalendar--vevent entry ts uid summary loc desc cat))) + (let ((type (org-element-property :type ts)) + (uid (format "TS%d-%s" (incf counter) uid))) + (when (or (eq with-timestamps t) + (and (eq with-timestamps 'active) + (memq type '(active active-range))) + (and (eq with-timestamps 'inactive) + (memq type '(inactive 'inactive-range)))) + (org-icalendar--vevent entry ts uid summary loc desc cat)))) info nil (and (eq type 'headline) 'inlinetask)) "")) ;; Task: First check if it is appropriate to export it. -- 1.8.3.4