aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/ical
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent/ical')
-rw-r--r--module/vcomponent/ical/output.scm8
-rw-r--r--module/vcomponent/ical/parse.scm2
2 files changed, 7 insertions, 3 deletions
diff --git a/module/vcomponent/ical/output.scm b/module/vcomponent/ical/output.scm
index a0816679..bcc6bb1d 100644
--- a/module/vcomponent/ical/output.scm
+++ b/module/vcomponent/ical/output.scm
@@ -44,12 +44,16 @@
[(memv key '(FREEBUSY))
(get-writer 'PERIOD)]
+ [(memv key '(CATEGORIES RESOURCES))
+ (lambda (p v)
+ (string-join (map (lambda (v) ((get-writer 'TEXT) p v))
+ v)
+ ","))]
+
[(memv key '(CALSCALE METHOD PRODID COMMENT DESCRIPTION
LOCATION SUMMARY TZID TZNAME
CONTACT RELATED-TO UID
- CATEGORIES RESOURCES
-
VERSION))
(get-writer 'TEXT)]
diff --git a/module/vcomponent/ical/parse.scm b/module/vcomponent/ical/parse.scm
index 9c555bca..8499d289 100644
--- a/module/vcomponent/ical/parse.scm
+++ b/module/vcomponent/ical/parse.scm
@@ -135,7 +135,7 @@
(let ((v ((get-parser 'TEXT) params value)))
(unless (= 1 (length v))
(warning "List in non-list field: ~s" v))
- (car v)))]
+ (string-join v ",")))]
;; TEXT, but allow a list
[(memv key '(CATEGORIES RESOURCES))