diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-12 21:09:35 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-13 04:11:35 +0200 |
commit | 73a4bfc3d8e9bb5365e33a11a6ad3b8340d5195b (patch) | |
tree | e52324edc63a240e5c0b88081c325f789168a4c5 /module/vcomponent/formats | |
parent | Document timespec and zic. (diff) | |
download | calp-73a4bfc3d8e9bb5365e33a11a6ad3b8340d5195b.tar.gz calp-73a4bfc3d8e9bb5365e33a11a6ad3b8340d5195b.tar.xz |
Remove custom let*.
While it was nice, the most important part was the multi-valued let from
srfi-71 (which is implemented in srfi-71)). The minor pattern matching
structures could often be replaced with car+cdr, or a propper match.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/formats/common/types.scm | 3 | ||||
-rw-r--r-- | module/vcomponent/formats/ical/parse.scm | 7 | ||||
-rw-r--r-- | module/vcomponent/formats/vdir/save-delete.scm | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/module/vcomponent/formats/common/types.scm b/module/vcomponent/formats/common/types.scm index 9e18f1eb..1a7ec0da 100644 --- a/module/vcomponent/formats/common/types.scm +++ b/module/vcomponent/formats/common/types.scm @@ -4,6 +4,7 @@ :use-module (base64) :use-module (datetime) :use-module (srfi srfi-9 gnu) + :use-module (srfi srfi-71) :use-module (datetime timespec) :use-module (calp translation) ) @@ -62,7 +63,7 @@ ;; PERIOD (define (parse-period props value) - (let* (((left right) (string-split value #\/))) + (let ((left right (apply values (string-split value #\/)))) ;; TODO timezones? VALUE=DATE? (cons (parse-ics-datetime left) ((if (memv (string-ref right 0) diff --git a/module/vcomponent/formats/ical/parse.scm b/module/vcomponent/formats/ical/parse.scm index 4bb2487f..cca306c5 100644 --- a/module/vcomponent/formats/ical/parse.scm +++ b/module/vcomponent/formats/ical/parse.scm @@ -6,6 +6,7 @@ :use-module (datetime) :use-module (srfi srfi-1) :use-module (srfi srfi-26) + :use-module (srfi srfi-71) :use-module (srfi srfi-9 gnu) :use-module (vcomponent base) :use-module (vcomponent geo) @@ -218,7 +219,7 @@ [(memv key '(GEO)) ;; two semicolon sepparated floats (lambda (params value) - (let* (((left right) (string-split value #\;))) + (let ((left right (apply values (string-split value #\;)))) (make-geo ((get-parser 'FLOAT) params left) ((get-parser 'FLOAT) params right))))] @@ -305,7 +306,7 @@ (begin (add-child! (cadr stack) (car stack)) (cdr stack))))] [else - (let* ((key value params (parse-itemline head))) + (let ((key value params (parse-itemline head))) (call-with-values (lambda () (build-vline key value params)) (lambda vlines (for vline in vlines @@ -349,7 +350,7 @@ (get-line linedata) (get-file linedata)) (current-error-port)) - (let* ((key value params (parse-itemline head))) + (let ((key value params (parse-itemline head))) (set! (prop* (car stack) key) (make-vline key value params)) (loop (cdr lst) stack))))))))) diff --git a/module/vcomponent/formats/vdir/save-delete.scm b/module/vcomponent/formats/vdir/save-delete.scm index e020a211..fb84d59c 100644 --- a/module/vcomponent/formats/vdir/save-delete.scm +++ b/module/vcomponent/formats/vdir/save-delete.scm @@ -38,7 +38,7 @@ (list (prop calendar '-X-HNH-SOURCETYPE)) #f)) - (let* ((uid (or (prop event 'UID) (uuid)))) + (let ((uid (or (prop event 'UID) (uuid)))) (set! (prop event 'UID) uid) (unless (prop event 'X-HNH-FILENAME) (set! (prop event '-X-HNH-FILENAME) |