aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/recurrence/generate.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-03-29 23:25:20 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-03-29 23:25:20 +0200
commit9d471cd6cdd182c01bb6d7a7c7e0318a2daa3372 (patch)
tree0bcc9ef8150e56a810704c6f27dc02aa23104609 /module/vcomponent/recurrence/generate.scm
parentChange some calendar names in example config. (diff)
downloadcalp-9d471cd6cdd182c01bb6d7a7c7e0318a2daa3372.tar.gz
calp-9d471cd6cdd182c01bb6d7a7c7e0318a2daa3372.tar.xz
Clarify error on bad RRULE's.
Diffstat (limited to 'module/vcomponent/recurrence/generate.scm')
-rw-r--r--module/vcomponent/recurrence/generate.scm11
1 files changed, 6 insertions, 5 deletions
diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm
index ce64e741..ee59ed04 100644
--- a/module/vcomponent/recurrence/generate.scm
+++ b/module/vcomponent/recurrence/generate.scm
@@ -120,7 +120,7 @@
((e r)
(or (and (not (until r)) (not (count r))) ; Never ending
(and=> (count r) (negate zero?)) ; COUNT
- (and=> (until r) (lambda (dt) ((if (date? dt) date<= date/-time<=) ; UNTIL
+ (and=> (until r) (lambda (dt) ((if (date? dt) date<= datetime<=) ; UNTIL
(attr e 'DTSTART) dt))))))
;; Event x Rule → next (Event, Rule)
@@ -155,10 +155,11 @@
(date-difference end (attr event 'DTSTART))
(datetime-difference end (attr event 'DTSTART))))]))
(if (attr event "RRULE")
- (recur-event-stream event (parse-recurrence-rule
- (attr event "RRULE")
- (if (eq? 'DATE (and=> (prop (attr* event 'DTSTART) 'VALUE) car))
- parse-date parse-datetime)))
+ (recur-event-stream
+ event (parse-recurrence-rule
+ (attr event "RRULE")
+ (if (date? (attr event 'DTSTART))
+ parse-date parse-datetime)))
;; TODO some events STANDARD and DAYLIGT doesn't have RRULE's, but rather
;; just mention the current part. Handle this
stream-null))))