aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-12 21:09:35 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-06-13 04:11:35 +0200
commit73a4bfc3d8e9bb5365e33a11a6ad3b8340d5195b (patch)
treee52324edc63a240e5c0b88081c325f789168a4c5 /module/vcomponent
parentDocument timespec and zic. (diff)
downloadcalp-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 'module/vcomponent')
-rw-r--r--module/vcomponent/control.scm3
-rw-r--r--module/vcomponent/formats/common/types.scm3
-rw-r--r--module/vcomponent/formats/ical/parse.scm7
-rw-r--r--module/vcomponent/formats/vdir/save-delete.scm2
-rw-r--r--module/vcomponent/recurrence/display/en.scm2
-rw-r--r--module/vcomponent/recurrence/display/sv.scm2
-rw-r--r--module/vcomponent/recurrence/generate.scm13
-rw-r--r--module/vcomponent/recurrence/internal.scm3
-rw-r--r--module/vcomponent/recurrence/parse.scm4
-rw-r--r--module/vcomponent/util/control.scm3
-rw-r--r--module/vcomponent/util/describe.scm3
-rw-r--r--module/vcomponent/util/group.scm4
-rw-r--r--module/vcomponent/util/instance/methods.scm3
13 files changed, 31 insertions, 21 deletions
diff --git a/module/vcomponent/control.scm b/module/vcomponent/control.scm
index 586dd4a3..63f1e1e3 100644
--- a/module/vcomponent/control.scm
+++ b/module/vcomponent/control.scm
@@ -9,7 +9,8 @@
(define (set-temp-values! table component kvs)
(for-each (lambda (kv)
- (let* (((key val) kv))
+ (let ((key (car kv))
+ (val (cadr kv)))
(when (prop component key)
(set! (href table key) (prop component key))
(set! (prop component key) val))))
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)
diff --git a/module/vcomponent/recurrence/display/en.scm b/module/vcomponent/recurrence/display/en.scm
index be9bdf53..68d435af 100644
--- a/module/vcomponent/recurrence/display/en.scm
+++ b/module/vcomponent/recurrence/display/en.scm
@@ -15,7 +15,7 @@
;; but 1MO, -1MO doesn't become "första och sista måndagen".
;; TODO also, grouping of -dagen. e.g. "första mån- och tisdagen"
(define (format-byday-list lst)
- (let* ((groups (group-by car lst)))
+ (let ((groups (group-by car lst)))
(intersperse
" as well as "
(map (lambda (group)
diff --git a/module/vcomponent/recurrence/display/sv.scm b/module/vcomponent/recurrence/display/sv.scm
index fe580474..35b3569b 100644
--- a/module/vcomponent/recurrence/display/sv.scm
+++ b/module/vcomponent/recurrence/display/sv.scm
@@ -20,7 +20,7 @@
;; but 1MO, -1MO doesn't become "första och sista måndagen".
;; TODO also, grouping of -dagen. e.g. "första mån- och tisdagen"
(define (format-byday-list lst)
- (let* ((groups (group-by car lst)))
+ (let ((groups (group-by car lst)))
(intersperse
" samt "
(map (lambda (group)
diff --git a/module/vcomponent/recurrence/generate.scm b/module/vcomponent/recurrence/generate.scm
index 308ec11e..4dccecf1 100644
--- a/module/vcomponent/recurrence/generate.scm
+++ b/module/vcomponent/recurrence/generate.scm
@@ -5,6 +5,7 @@
:use-module (srfi srfi-26)
:use-module (srfi srfi-41)
:use-module (srfi srfi-41 util)
+ :use-module (srfi srfi-71)
:use-module (vcomponent base)
:use-module (vcomponent recurrence internal)
:use-module (vcomponent recurrence parse)
@@ -128,7 +129,7 @@
;; can extend the recurrence set in weird ways.
(branching-fold
(lambda (rule dt)
- (let* (((key . value) rule)
+ (let* ((key value (car+cdr rule))
(d (if (date? dt) dt (get-date dt)))
;; NOTE It's proably an error to give BYHOUR, BYMINUTE, and BYSECOND
;; rules for a date object. This doesn't warn if those are given, but
@@ -158,7 +159,7 @@
(to-dt (set (month d) value)))]
[(BYDAY)
- (let* (((offset . value) value))
+ (let* ((offset value (car+cdr value)))
(case (freq rrule)
[(WEEKLY)
;; set day to that day in the week which d lies within
@@ -167,7 +168,7 @@
7))))]
[(MONTHLY)
- (let* ((instances (all-wday-in-month value (start-of-month d))))
+ (let ((instances (all-wday-in-month value (start-of-month d))))
(catch 'out-of-range
(lambda ()
(cond [(eqv? #f offset)
@@ -281,9 +282,9 @@
(let loop ((remaining limiters))
(if (null? remaining)
#t
- (let* (((key . values) (car remaining))
- (t (as-time dt))
- (d (if (date? dt) dt (get-date dt))))
+ (let ((key values (car+cdr (car remaining)))
+ (t (as-time dt))
+ (d (if (date? dt) dt (get-date dt))))
(and (case key
[(BYMONTH) (memv (month d) values)]
[(BYMONTHDAY) (memv (day d) (map (month-mod d) values))]
diff --git a/module/vcomponent/recurrence/internal.scm b/module/vcomponent/recurrence/internal.scm
index ae521d77..0503081c 100644
--- a/module/vcomponent/recurrence/internal.scm
+++ b/module/vcomponent/recurrence/internal.scm
@@ -1,6 +1,7 @@
(define-module (vcomponent recurrence internal)
#:export (repeating? format-recur-rule make-recur-rule)
+ #:use-module (srfi srfi-71)
#:use-module (srfi srfi-88) ; better keywords
#:use-module ((vcomponent base) :select (prop))
#:use-module (srfi srfi-9)
@@ -79,7 +80,7 @@
(define (byday->string pair)
- (let* (((off . day) pair))
+ (let ((off day (car+cdr pair)))
(string-append
(or (and=> off number->string) "")
(string-upcase
diff --git a/module/vcomponent/recurrence/parse.scm b/module/vcomponent/recurrence/parse.scm
index d45cedf9..a64cf4a7 100644
--- a/module/vcomponent/recurrence/parse.scm
+++ b/module/vcomponent/recurrence/parse.scm
@@ -4,6 +4,7 @@
#:export (parse-recurrence-rule)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-71)
#:use-module (datetime)
#:use-module (srfi srfi-26)
#:use-module (vcomponent recurrence internal)
@@ -87,7 +88,8 @@
(define* (parse-recurrence-rule str optional: (datetime-parser parse-ics-datetime))
(fold
(lambda (kv o)
- (let* (((key val) kv))
+ (let ((key (car kv))
+ (val (cadr kv)))
(let-lazy
((symb (string->symbol val))
;; NOTE until MUST have the same value type as DTSTART
diff --git a/module/vcomponent/util/control.scm b/module/vcomponent/util/control.scm
index 586dd4a3..63f1e1e3 100644
--- a/module/vcomponent/util/control.scm
+++ b/module/vcomponent/util/control.scm
@@ -9,7 +9,8 @@
(define (set-temp-values! table component kvs)
(for-each (lambda (kv)
- (let* (((key val) kv))
+ (let ((key (car kv))
+ (val (cadr kv)))
(when (prop component key)
(set! (href table key) (prop component key))
(set! (prop component key) val))))
diff --git a/module/vcomponent/util/describe.scm b/module/vcomponent/util/describe.scm
index 0c3ab27c..703ac73a 100644
--- a/module/vcomponent/util/describe.scm
+++ b/module/vcomponent/util/describe.scm
@@ -1,5 +1,6 @@
(define-module (vcomponent util describe)
:use-module (hnh util)
+ :use-module (srfi srfi-71)
:use-module (vcomponent base)
:use-module (text util))
@@ -14,7 +15,7 @@
(format #t "~aBEGIN ~a~%" ii (type vcomponent))
(for-each (lambda (kv)
- (let* (((key . values) kv))
+ (let ((key values (car+cdr kv)))
(define (out vline)
(format #t "~a~a = ~a"
iii
diff --git a/module/vcomponent/util/group.scm b/module/vcomponent/util/group.scm
index f328cd18..b8852975 100644
--- a/module/vcomponent/util/group.scm
+++ b/module/vcomponent/util/group.scm
@@ -14,8 +14,8 @@
stream-null
(let loop ((days (day-stream (as-date (prop (stream-car in-stream) 'DTSTART))))
(stream in-stream))
- (let* ((day (stream-car days))
- (tomorow (stream-car (stream-cdr days))))
+ (let ((day (stream-car days))
+ (tomorow (stream-car (stream-cdr days))))
(let ((head (stream-take-while (ein? day) stream))
(tail
diff --git a/module/vcomponent/util/instance/methods.scm b/module/vcomponent/util/instance/methods.scm
index 0ad1fdc4..7a1d2fc8 100644
--- a/module/vcomponent/util/instance/methods.scm
+++ b/module/vcomponent/util/instance/methods.scm
@@ -3,6 +3,7 @@
:use-module (hnh util uuid)
:use-module (srfi srfi-1)
:use-module (srfi srfi-41)
+ :use-module (srfi srfi-71)
:use-module (srfi srfi-41 util)
:use-module (datetime)
:use-module (vcomponent base)
@@ -100,7 +101,7 @@
(slot-set! this 'events (append #|removed|# remaining)))
- (let* ((repeating regular (partition repeating? (slot-ref this 'events))))
+ (let ((repeating regular (partition repeating? (slot-ref this 'events))))
(slot-set! this 'fixed-events (sort*! regular date/-time<? (extract 'DTSTART)))
(slot-set! this 'repeating-events (sort*! repeating date/-time<? (extract 'DTSTART))))