diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-10-18 12:49:53 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-10-18 12:49:53 +0200 |
commit | 7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83 (patch) | |
tree | 35720e73031e16b16a2d8a9bc6dc20d4f43da4d9 /module/vcomponent | |
parent | Add tests for (text util). (diff) | |
download | calp-7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83.tar.gz calp-7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83.tar.xz |
Move vcomponent geo to new object system.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/formats/ical/parse.scm | 4 | ||||
-rw-r--r-- | module/vcomponent/formats/xcal/parse.scm | 4 | ||||
-rw-r--r-- | module/vcomponent/geo.scm | 14 |
3 files changed, 11 insertions, 11 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 <geographical-position> - (make-geo latitude longitude) - geo-pos? - (latitude geo-latitude) - (longitude geo-longitude)) |