From 00a66eca0f32fcf585d2c21375641020e877e3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 13 Dec 2023 11:06:57 +0100 Subject: Update things depending on namespaced sxml. Update all code to emit correctly formed namespaced sxml objects, instead of the old list based approach. Also introduces a number of typechecks which in semi-related parts of the code. Note that the webdav-server test is currently broken. --- module/vcomponent/formats/xcal/types.scm | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'module/vcomponent/formats/xcal/types.scm') diff --git a/module/vcomponent/formats/xcal/types.scm b/module/vcomponent/formats/xcal/types.scm index 812f1d20..b9b8239d 100644 --- a/module/vcomponent/formats/xcal/types.scm +++ b/module/vcomponent/formats/xcal/types.scm @@ -9,32 +9,33 @@ :export (get-writer)) (define (write-boolean _ v) - `(,(xml xcal 'boolean) ,(if v "true" "false"))) + ((xml xcal 'boolean) (if v "true" "false"))) (define (write-date _ v) - `(,(xml xcal 'date) ,(date->string v "~Y-~m-~d"))) + ((xml xcal 'date) (date->string v "~Y-~m-~d"))) (define (write-datetime p v) - `(,(xml xcal 'date-time) - ,(datetime->string - (table-get p '-X-HNH-ORIGINAL v) - ;; 'Z' should be included for UTC, - ;; other timezones MUST be specified - ;; in the TZID parameter. - "~Y-~m-~dT~H:~M:~S~Z"))) + ((xml xcal 'date-time) + (datetime->string + (table-get p '-X-HNH-ORIGINAL v) + ;; 'Z' should be included for UTC, + ;; other timezones MUST be specified + ;; in the TZID parameter. + "~Y-~m-~dT~H:~M:~S~Z"))) (define (write-time _ v) - `(,(xml xcal 'time) ,(time->string v "~H:~M:S"))) + ((xml xcal 'time) (time->string v "~H:~M:S"))) (define (write-recur _ v) - `(,(xml xcal 'recur) ,@((@@ (vcomponent recurrence internal) recur-rule->rrule-sxml) v))) + (apply (xml xcal 'recur) + ((@@ (vcomponent recurrence internal) recur-rule->rrule-sxml) v))) ;; sepparate since this text shouldn't be escaped (define (write-text _ v) ;; TODO out type should be xsd:string. ;; Look into what that means, and escape ;; from there - `(,(xml xcal 'text) ,v)) + ((xml xcal 'text) v)) @@ -43,8 +44,9 @@ #| TODO PERIOD |# URI UTC-OFFSET) (hashq-set! sxml-writers simple-type (lambda (p v) - `(,(xml xcal (downcase-symbol simple-type)) - ,(((@ (vcomponent formats ical types) get-writer) simple-type) p v))))) + ((xml xcal (downcase-symbol simple-type)) + (((@ (vcomponent formats ical types) get-writer) simple-type) + p v))))) (hashq-set! sxml-writers 'BOOLEAN write-boolean) (hashq-set! sxml-writers 'DATE write-date) -- cgit v1.2.3