diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-10 23:08:47 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-10 23:24:27 +0200 |
commit | e6f2f111b51c2d3be380442d665b64d4d4a024ce (patch) | |
tree | 2531e3a7a1c89a2e9211382424726be969b60d1f /module/vcomponent | |
parent | Resolve TODO in module-dependants. (diff) | |
download | calp-e6f2f111b51c2d3be380442d665b64d4d4a024ce.tar.gz calp-e6f2f111b51c2d3be380442d665b64d4d4a024ce.tar.xz |
Clean up creation of global-event-object.
Diffstat (limited to 'module/vcomponent')
-rw-r--r-- | module/vcomponent/util/instance.scm | 11 | ||||
-rw-r--r-- | module/vcomponent/util/instance/methods.scm | 5 |
2 files changed, 9 insertions, 7 deletions
diff --git a/module/vcomponent/util/instance.scm b/module/vcomponent/util/instance.scm index 038c6505..2004f13e 100644 --- a/module/vcomponent/util/instance.scm +++ b/module/vcomponent/util/instance.scm @@ -1,7 +1,7 @@ (define-module (vcomponent util instance) :use-module (hnh util) - :use-module ((oop goops) :select (make)) :use-module (calp translation) + :use-module ((vcomponent util instance methods) :select (make-instance)) :export (global-event-object) ) @@ -12,11 +12,8 @@ ;; TODO this is loaded on compile, meaning that Guile's auto-compiler may ;; evaluate this to early. (define-once global-event-object - (make (@@ (vcomponent util instance methods) <events>) - calendar-files: ((@ (vcomponent config) calendar-files)))) + (make-instance ((@ (vcomponent config) calendar-files)))) (define-public (reload) - (let ((new-value (make (@@ (vcomponent util instance methods) <events>) - calendar-files: ((@ (vcomponent config) calendar-files))))) - (format (current-error-port) (_ "Reload done~%")) - (set! global-event-object new-value))) + (begin (set! global-event-object (make-instance ((@ (vcomponent config) calendar-files)))) + (format (current-error-port) (_ "Reload done~%")))) diff --git a/module/vcomponent/util/instance/methods.scm b/module/vcomponent/util/instance/methods.scm index 028e01c0..0ad1fdc4 100644 --- a/module/vcomponent/util/instance/methods.scm +++ b/module/vcomponent/util/instance/methods.scm @@ -17,6 +17,8 @@ :export (add-event remove-event + make-instance + get-event-by-uid fixed-events-in-range @@ -54,6 +56,9 @@ ) +(define (make-instance calendar-files) + (make <events> calendar-files: calendar-files)) + (define-method (get-event-by-uid (this <events>) uid) (hash-ref (slot-ref this 'uid-map) uid)) |