diff options
-rw-r--r--[-rwxr-xr-x] | code.scm | 0 | ||||
-rwxr-xr-x | main.scm | 2 | ||||
-rw-r--r-- | vcalendar.scm | 1 | ||||
-rw-r--r-- | vcalendar/recur.scm | 14 |
4 files changed, 11 insertions, 6 deletions
@@ -2,7 +2,7 @@ -e main -s !# -(add-to-load-path ".") +(add-to-load-path (dirname (current-filename))) (use-modules (srfi srfi-1) (srfi srfi-19) diff --git a/vcalendar.scm b/vcalendar.scm index 89dd682b..1bf0a1bb 100644 --- a/vcalendar.scm +++ b/vcalendar.scm @@ -58,5 +58,6 @@ (set! (attr ev field) (transformer (attr ev field)))) +;; { (attr ev field) := (transformer (attr ev field)) } (define-public copy-vcomponent %vcomponent-shallow-copy) diff --git a/vcalendar/recur.scm b/vcalendar/recur.scm index d4d88593..15afdd26 100644 --- a/vcalendar/recur.scm +++ b/vcalendar/recur.scm @@ -1,9 +1,13 @@ (define-module (vcalendar recur) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-9 gnu) + #:use-module (srfi srfi-8) ; Recieve + #:use-module (srfi srfi-9 gnu) ; Records + #:use-module (srfi srfi-19) ; Datetime #:use-module (srfi srfi-19 util) - #:use-module (srfi srfi-26) - #:use-module (srfi srfi-41) + #:use-module (srfi srfi-26) ; Cut + #:use-module (srfi srfi-41) ; Streams + #:use-module (ice-9 match) + #:use-module (vcalendar) #:use-module (vcalendar datetime) #:use-module (util) #:export (<recur-rule> build-recur-rules)) @@ -124,7 +128,7 @@ ((WEEKLY) ;; TODO implement copy-event (let ((new-event (copy-event event))) - (transform-attr! (date new-event) + (transform-attr! new-event "DTSTART" (cut date-add <> 1 weeks))))) )) @@ -133,7 +137,7 @@ (define-stream (recur-event-stream event rule-obj) (stream-cons event - (receive (next-event next-obj) (generate-next event rule-obj) + (receive (next-event next-rule) (generate-next event rule-obj) (recur-event-stream next-event next-rule)))) (define (recur-event event) |