diff options
Diffstat (limited to 'module/vcomponent/recurrence')
-rw-r--r-- | module/vcomponent/recurrence/generate.scm | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm index 58961f5e..84025d2f 100644 --- a/module/vcomponent/recurrence/generate.scm +++ b/module/vcomponent/recurrence/generate.scm @@ -65,7 +65,7 @@ (when (attr e 'DTEND) (set! (attr e 'DTEND) - (add-duration (attr e 'DTSTART) (attr e 'DURATION))))) + (add-duration (attr e 'DTSTART) (attr e 'X-HNH-DURATION))))) e)) @@ -114,12 +114,11 @@ (if (not (attr event 'RRULE)) (stream event) (begin - (when (and (attr event 'DTEND) - (not (attr event 'DURATION))) - (set! (attr event "DURATION") - (time-difference - (attr event "DTEND") - (attr event "DTSTART")))) + (set! (attr event 'X-HNH-DURATION) + (cond [(attr event 'DURATION) => identity] + [(attr event 'DTEND) => (lambda (end) + (time-difference + end (attr event "DTSTART")))])) (if (attr event "RRULE") (recur-event-stream event (parse-recurrence-rule (attr event "RRULE"))) ;; TODO some events STANDARD and DAYLIGT doesn't have RRULE's, but rather |