diff options
author | Hugo Hörnquist <hugo@hornquist.se> | 2020-02-14 11:03:09 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@hornquist.se> | 2020-02-14 11:03:09 +0100 |
commit | d656f86875caec9cda6142b61a6d9575d2e700fa (patch) | |
tree | 2b5060f574b8f6cb0c0c883e64cf23cf8dad10d9 /module/vcomponent/recurrence/parse.scm | |
parent | Add date-difference. (diff) | |
download | calp-d656f86875caec9cda6142b61a6d9575d2e700fa.tar.gz calp-d656f86875caec9cda6142b61a6d9575d2e700fa.tar.xz |
Repair recurrence rules.
Diffstat (limited to 'module/vcomponent/recurrence/parse.scm')
-rw-r--r-- | module/vcomponent/recurrence/parse.scm | 3 |
1 files changed, 3 insertions, 0 deletions
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 |