diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-16 02:24:47 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-23 01:39:41 +0200 |
commit | 33ae652a4d5e4b154b108dc21318fbd492bcf6fc (patch) | |
tree | 9bab3e59f578d501be51e36e7be7ef9bbb46927a /module | |
parent | Minor cleanup in recurrence generate. (diff) | |
download | calp-33ae652a4d5e4b154b108dc21318fbd492bcf6fc.tar.gz calp-33ae652a4d5e4b154b108dc21318fbd492bcf6fc.tar.xz |
Minor zic format improvements.
Diffstat (limited to 'module')
-rw-r--r-- | module/datetime/zic.scm | 41 |
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 |