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 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'module/vcomponent') 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)) -- cgit v1.2.3