diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-06-15 19:19:30 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-06-15 19:19:30 +0200 |
commit | b3301ea20ae6ecb3c6cf353111d982251cbbad72 (patch) | |
tree | 4c728300a52ce8656c812a26a76b65a86b2f4e48 /module | |
parent | Minor error cleanup in component. (diff) | |
download | calp-b3301ea20ae6ecb3c6cf353111d982251cbbad72.tar.gz calp-b3301ea20ae6ecb3c6cf353111d982251cbbad72.tar.xz |
Save soruce-prop object to vline.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/base.scm | 9 | ||||
-rw-r--r-- | module/vcomponent/parse/component.scm | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm index 1b582f0f..c5ec7af3 100644 --- a/module/vcomponent/base.scm +++ b/module/vcomponent/base.scm @@ -16,14 +16,15 @@ (key vline-key) (value get-vline-value set-vline-value!) (parameters get-vline-parameters) - ;; TODO Add slot for optional source object, containing - ;; - file of origin - ;; - position in that file - ;; - source string, before value parsing. + (source get-source set-source!) ) (export vline-key) +(define-public vline-source + (make-procedure-with-setter + get-source set-source!)) + (define*-public (make-vline key value #:optional (ht (make-hash-table))) (make-vline% key value ht)) diff --git a/module/vcomponent/parse/component.scm b/module/vcomponent/parse/component.scm index b5fcbbe2..6819a202 100644 --- a/module/vcomponent/parse/component.scm +++ b/module/vcomponent/parse/component.scm @@ -281,6 +281,9 @@ (for vline in vlines (define key (vline-key vline)) + (set! (vline-source vline) + (get-metadata head*)) + ;; See RFC 5545 p.53 for list of all repeating types ;; (for vcomponent) (if (memv key '(ATTACH ATTENDEE CATEGORIES |