aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent.scm')
-rw-r--r--module/vcomponent.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/module/vcomponent.scm b/module/vcomponent.scm
index d1a0abff..1bb5c264 100644
--- a/module/vcomponent.scm
+++ b/module/vcomponent.scm
@@ -40,6 +40,7 @@
(set! (attr ev "DTSTART") (date->time-utc date)
(attr ev "DTEND") (date->time-utc end-date))
+ #;
(when (prop (attr* ev 'DTSTART) 'TZID)
(set! (zone-offset date) (get-tz-offset ev)
(attr ev 'DTSTART) (date->time-utc date)
@@ -65,9 +66,9 @@
component
(as-symb attr)))
-(define (set-attr! component attr value)
- (set! (car (get-attr component (as-string attr)))
- value))
+;; (define (set-attr! component attr value)
+;; (set! (car (get-attr component (as-string attr)))
+;; value))
(define-public value caar)
(define-public next cdr)
@@ -87,11 +88,14 @@
(define-public attr* get-attr)
(define (get-first c a)
- (and=> (car (get-attr c a)) car))
+ (and=> (get-attr c a) caar))
(define (set-first! c a v)
- (and=> (car (get-attr c a))
- (lambda (f) (set! (car f) v))))
+ (let ((g (get-attr c a)))
+ (if g
+ (set! (caar g) v)
+ (hashq-set! (%vcomponent-get-hash-table c)
+ a (list (cons v (make-hash-table)))))))
(define-public attr
(make-procedure-with-setter