From d656f86875caec9cda6142b61a6d9575d2e700fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 14 Feb 2020 11:03:09 +0100 Subject: Repair recurrence rules. --- module/vcomponent/recurrence/parse.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'module/vcomponent/recurrence/parse.scm') diff --git a/module/vcomponent/recurrence/parse.scm b/module/vcomponent/recurrence/parse.scm index 1c974727..a4724918 100644 --- a/module/vcomponent/recurrence/parse.scm +++ b/module/vcomponent/recurrence/parse.scm @@ -71,17 +71,20 @@ (FREQ (memv symb intervals) => (set! (freq o) symb)) (WKST (memv symb weekdays) => (set! (wkst o) symb)) + ;; Always positive (BYSECOND (every (lambda (n) (<= 0 n 60)) nums) => (set! (bysecond o) nums)) (BYMINUTE (every (lambda (n) (<= 0 n 59)) nums) => (set! (byminute o) nums)) (BYHOUR (every (lambda (n) (<= 0 n 23)) nums) => (set! (byhour o) nums)) (BYMONTH (every (lambda (n) (<= 1 n 12)) nums) => (set! (byweekno o) nums)) + ;; May be negative (BYDAY (every (lambda (p) (memv (cdr p) weekdays)) days) => (set! (byday o) days)) (BYMONTHDAY (every (lambda (n) (and (!= n 0) (<= -31 n 31))) nums) => (set! (bymonthday o) nums)) (BYYEARDAY (every (lambda (n) (and (!= n 0) (<= -366 n 366))) nums) => (set! (byyearday o) nums)) (BYSETPOS (every (lambda (n) (and (!= n 0) (<= -366 n 366))) nums) => (set! (bysetpos o) nums)) (BYWEEKNO (every (lambda (n) (and (!= n 0) (<= -53 n 53))) nums) => (set! (byweekno o) nums)) + (else o))))) ;; obj -- cgit v1.2.3