From 7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 18 Oct 2023 12:49:53 +0200 Subject: Move vcomponent geo to new object system. --- module/vcomponent/formats/ical/parse.scm | 4 ++-- module/vcomponent/formats/xcal/parse.scm | 4 ++-- module/vcomponent/geo.scm | 14 +++++++------- tests/unit/formats/run.scm | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/module/vcomponent/formats/ical/parse.scm b/module/vcomponent/formats/ical/parse.scm index 0433ba7c..c2a68469 100644 --- a/module/vcomponent/formats/ical/parse.scm +++ b/module/vcomponent/formats/ical/parse.scm @@ -226,8 +226,8 @@ ;; two semicolon sepparated floats (lambda (params value) (let ((left right (apply values (string-split value #\;)))) - (make-geo ((get-parser 'FLOAT) params left) - ((get-parser 'FLOAT) params right))))] + (geo y: ((get-parser 'FLOAT) params left) + x: ((get-parser 'FLOAT) params right))))] [(memv key '(RRULE)) (get-parser 'RECUR)] diff --git a/module/vcomponent/formats/xcal/parse.scm b/module/vcomponent/formats/xcal/parse.scm index d108b11c..d0bc7bf2 100644 --- a/module/vcomponent/formats/xcal/parse.scm +++ b/module/vcomponent/formats/xcal/parse.scm @@ -129,8 +129,8 @@ [(geo) ; ((long 1) (lat 2)) (sxml-match (cons 'geo value) - [(geo (latitude ,x) (longitude ,y)) - ((@ (vcomponent geo) make-geo) x y)])] + [(geo (latitude ,y) (longitude ,x)) + ((@ (vcomponent geo) geo) y: y x: x)])] [else (scm-error 'misc-error "handle-value" "Unknown value type: ~s" diff --git a/module/vcomponent/geo.scm b/module/vcomponent/geo.scm index 9261076f..5c8a8695 100644 --- a/module/vcomponent/geo.scm +++ b/module/vcomponent/geo.scm @@ -1,10 +1,10 @@ (define-module (vcomponent geo) :use-module (hnh util) - :use-module (srfi srfi-9 gnu) - :export (make-geo geo-pos? geo-latitude geo-longitude)) + :use-module (hnh util object) + :use-module (srfi srfi-88) + :export (geo geo? geo-latitude geo-longitude)) + +(define-type (geo) + (geo-latitude keyword: y type: number?) + (geo-longitude keyword: x type: number?)) -(define-immutable-record-type - (make-geo latitude longitude) - geo-pos? - (latitude geo-latitude) - (longitude geo-longitude)) diff --git a/tests/unit/formats/run.scm b/tests/unit/formats/run.scm index 5ec277ca..7c3e8edd 100644 --- a/tests/unit/formats/run.scm +++ b/tests/unit/formats/run.scm @@ -43,7 +43,7 @@ comment: "A comment" description: "Descrition of the event" description: (with-parameters language: "sv" "Beskrivning av händelsen") - ;; geo: (make-geo 10 20) + ;; geo: (geo y: 10 x: 20) location: "Room 5" priority: 5 ;; resources: -- cgit v1.2.3