aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-10-18 12:49:53 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-10-18 12:49:53 +0200
commit7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83 (patch)
tree35720e73031e16b16a2d8a9bc6dc20d4f43da4d9
parentAdd tests for (text util). (diff)
downloadcalp-7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83.tar.gz
calp-7e7c3a9872c772c1ad5a3bbf2c8fd53b2c106a83.tar.xz
Move vcomponent geo to new object system.
-rw-r--r--module/vcomponent/formats/ical/parse.scm4
-rw-r--r--module/vcomponent/formats/xcal/parse.scm4
-rw-r--r--module/vcomponent/geo.scm14
-rw-r--r--tests/unit/formats/run.scm2
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 <geographical-position>
- (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: