diff options
Diffstat (limited to '')
-rw-r--r-- | module/entry-points/server.scm | 4 | ||||
-rw-r--r-- | module/vcomponent/instance.scm | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/module/entry-points/server.scm b/module/entry-points/server.scm index 357809b4..824770af 100644 --- a/module/entry-points/server.scm +++ b/module/entry-points/server.scm @@ -33,7 +33,7 @@ :use-module (output html) :use-module (output ical) - :autoload (vcomponent instance) (#|get-calendars|# global-event-object) + :autoload (vcomponent instance) (get-calendars global-event-object) :export (main) ) @@ -189,7 +189,7 @@ (parameterize ((warnings-are-errors #t)) (catch 'warning - (lambda () (add-event calendar event)) + (lambda () (add-event global-event-object calendar event)) (lambda (err fmt args) (return (build-response code: 400) (format #f "~?~%" fmt args))))) diff --git a/module/vcomponent/instance.scm b/module/vcomponent/instance.scm index 555395cf..575aeda0 100644 --- a/module/vcomponent/instance.scm +++ b/module/vcomponent/instance.scm @@ -54,8 +54,8 @@ ) -(define-method (get-event-by-uid (this <events>) uid) - (hash-ref (slot-ref this 'uid-map) uid)) +(define (get-event-by-uid uid) + (hash-ref (slot-ref global-event-object 'uid-map) uid)) @@ -113,9 +113,7 @@ (slot-set! this 'events (cons event (slot-ref this 'events))) - (let* ((slot-name - (if (repeating? event) - 'repeating-events 'fixed-events)) + (let* ((slot-name (if (repeating? event) 'repeating-events 'fixed-events)) (events (slot-ref this slot-name))) (slot-set! this slot-name (insert-ordered event events ev-time<?))) @@ -153,5 +151,8 @@ #f)) + +;; this is loaded on compile, meaning that Guile's auto-compiler may +;; evaluate this to early. (define-once global-event-object (make <events> calendar-files: (get-config 'calendar-files))) |