From a0eee37db451abb312d87c6ffd5b4ab52fa947fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 10 Jun 2022 23:30:19 +0200 Subject: Move if in recurrence generate to better place. --- module/vcomponent/recurrence/generate.scm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'module/vcomponent') diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm index 8719b18e..aba0256a 100644 --- a/module/vcomponent/recurrence/generate.scm +++ b/module/vcomponent/recurrence/generate.scm @@ -345,19 +345,19 @@ (define rrule (prop event 'RRULE)) ;; 3.8.5.1 exdate are evaluated AFTER rrule (and rdate) - (let ((date-stream (stream-remove - (aif (prop* event 'EXDATE) - (cut member <> (map value it)) - (const #f)) - (if rrule - (generate-posibilities rrule (prop event 'DTSTART)) - stream-null) - ;; TODO ideally I should merge the limited recurrence set - ;; with the list of rdates here. However, I have never - ;; sen an event with an RDATE property, so I wont worry - ;; about it for now. - ;; (stream-merge (list->stream (#|rdate's|#)) - ))) + (let* ((strm (if rrule + (generate-posibilities rrule (prop event 'DTSTART)) + stream-null)) + (date-stream + (cond ((prop* event 'EXDATE) + => (lambda (ex) (stream-remove (cut member <> (map value ex)) strm))) + (else strm)) + ;; TODO ideally I should merge the limited recurrence set + ;; with the list of rdates here. However, I have never + ;; sen an event with an RDATE property, so I wont worry + ;; about it for now. + ;; (stream-merge (list->stream (#|rdate's|#)) + )) ;; TODO count and until shoud be applied to the RRULE events, ;; but not the RDATE events ??? ;; (TODO test against some other calendar program) -- cgit v1.2.3