aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/vcomponent/base.scm7
-rw-r--r--module/vcomponent/parse.scm9
2 files changed, 11 insertions, 5 deletions
diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm
index f93952ca..e0d7d11e 100644
--- a/module/vcomponent/base.scm
+++ b/module/vcomponent/base.scm
@@ -14,7 +14,12 @@
(make-vline% value parameters)
vline?
(value get-vline-value set-vline-value!)
- (parameters get-vline-parameters))
+ (parameters get-vline-parameters)
+ ;; TODO Add slot for optional source object, containing
+ ;; - file of origin
+ ;; - position in that file
+ ;; - source string, before value parsing.
+ )
(define*-public (make-vline value #:optional (ht (make-hash-table)))
(make-vline% value ht))
diff --git a/module/vcomponent/parse.scm b/module/vcomponent/parse.scm
index 7ff1237e..38027759 100644
--- a/module/vcomponent/parse.scm
+++ b/module/vcomponent/parse.scm
@@ -230,10 +230,11 @@ row ~a column ~a ctx = ~a
;; Allowed (some) repeated keys
(if (memv key '(EXDATE))
(aif (attr* component key)
- (begin (warning "Merging EXDATE fields")
- ;; updates the current vline
- ;; NOTE that this discards any properties belonging to this object
- (set! (value it) (cons (value vline) (value it))))
+ ;; updates the current vline
+ ;; NOTE that this discards any properties belonging to this object
+ ;; TODO a more propper way to do it would be to store multiple vline
+ ;; objects for a given key.
+ (set! (value it) (cons (value vline) (value it)))
(begin (mod! (value vline) list)
(set-vline! component key vline)))
;; Keys which aren't allowed to be repeated.