From b3301ea20ae6ecb3c6cf353111d982251cbbad72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 15 Jun 2020 19:19:30 +0200 Subject: Save soruce-prop object to vline. --- module/vcomponent/base.scm | 9 +++++---- module/vcomponent/parse/component.scm | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'module/vcomponent') 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 -- cgit v1.2.3