aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-16 02:24:47 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-06-23 01:39:41 +0200
commit33ae652a4d5e4b154b108dc21318fbd492bcf6fc (patch)
tree9bab3e59f578d501be51e36e7be7ef9bbb46927a
parentMinor cleanup in recurrence generate. (diff)
downloadcalp-33ae652a4d5e4b154b108dc21318fbd492bcf6fc.tar.gz
calp-33ae652a4d5e4b154b108dc21318fbd492bcf6fc.tar.xz
Minor zic format improvements.
-rw-r--r--module/datetime/zic.scm41
1 files changed, 22 insertions, 19 deletions
diff --git a/module/datetime/zic.scm b/module/datetime/zic.scm
index 588a742d..393b4ba2 100644
--- a/module/datetime/zic.scm
+++ b/module/datetime/zic.scm
@@ -224,23 +224,23 @@
[else
(match tokens
(("Rule" name from to type in on at save letters)
- (let ((parsed-from (parse-from from)))
- (loop
- (cons
- (make-rule (string->symbol name) ; name
- parsed-from ; from
- ;; to
- (if (string-prefix? to "only")
- ;; parsed-from
- 'only
- (parse-from to))
- (month-name->number in) ; in
- (parse-day-spec on) ; on
- (parse-time-spec at) ; at
- (parse-time-spec save '(#\s #\d)) ; save
- (if (string= letters "-") ; letters
- "" letters))
- done) #f)))
+ (let* ((parsed-from (parse-from from))
+ (rule
+ (make-rule (string->symbol name) ; name
+ parsed-from ; from
+ ;; to
+ (if (string-prefix? to "only")
+ ;; parsed-from
+ 'only
+ (parse-from to))
+ (month-name->number in) ; in
+ (parse-day-spec on) ; on
+ (parse-time-spec at) ; at
+ (parse-time-spec save '(#\s #\d)) ; save
+ (if (string= letters "-") ; letters
+ "" letters))))
+ (loop (cons rule done)
+ #f)))
(("Zone" name args ...)
(let* ((zone-entry (apply parse-zone args))
(zones (list zone-entry)))
@@ -280,8 +280,11 @@
;; group rules and put in map
(awhen (assoc-ref groups 'rule)
(for-each (lambda (group)
- (hashq-set! rules (car group) (sort* (cadr group) (lambda (a b) (if (eq? 'minimum) #t (< a b)))
- rule-from)))
+ (hashq-set! rules
+ (car group)
+ (sort* (cadr group)
+ (lambda (a b) (if (eq? 'minimum) #t (< a b)))
+ rule-from)))
(group-by rule-name (car it))))
;; put zones in map