diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-14 17:44:39 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-14 17:44:39 +0200 |
commit | 8a1dbbb0b3158cdd8870e8abbbf485b8bf84c505 (patch) | |
tree | a53d16d6186df0a92fe1328b7eaf87d1ce999e69 /module/vcomponent/recurrence/generate-alt.scm | |
parent | Remove some duplicates in recurrence set generation. (diff) | |
download | calp-8a1dbbb0b3158cdd8870e8abbbf485b8bf84c505.tar.gz calp-8a1dbbb0b3158cdd8870e8abbbf485b8bf84c505.tar.xz |
Remove recurrence instances before our start date.
Diffstat (limited to 'module/vcomponent/recurrence/generate-alt.scm')
-rw-r--r-- | module/vcomponent/recurrence/generate-alt.scm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/module/vcomponent/recurrence/generate-alt.scm b/module/vcomponent/recurrence/generate-alt.scm index a98d10db..77304b55 100644 --- a/module/vcomponent/recurrence/generate-alt.scm +++ b/module/vcomponent/recurrence/generate-alt.scm @@ -71,7 +71,6 @@ -;; TODO compliacted fields ;; rrule → (list extension-rule) (define (all-extenders rrule) (make-extenders @@ -345,7 +344,12 @@ (aif (attr* event 'EXDATE) (cut member <> (map value it)) (const #f)) - (generate-posibilities rrule (attr event 'DTSTART)) + ;; Some expanders can produce dates before our start time. + ;; For example FREQ=WEEKLY;BYDAY=MO where DTSTART is + ;; anything after monday. This filters these out. + (stream-drop-while + (lambda (d) (date/-time< d (attr event 'DTSTART))) + (generate-posibilities rrule (attr event 'DTSTART))) ;; 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 attribute, so I wont worry |