Browse code
fix: make tz initing actually correct
Edward Langley authored on 05/05/2023 06:53:10
Showing 1 changed files
Showing 1 changed files
... | ... |
@@ -65,11 +65,14 @@ |
65 | 65 |
(declare (optimize (debug 3))) |
66 | 66 |
(let ((tz-inited nil)) |
67 | 67 |
(flet ((init-tz () |
68 |
- (unless tz-inited |
|
69 |
- (handler-case (local-time:find-timezone-by-location-name "America/Los_Angeles") |
|
70 |
- (error () |
|
71 |
- (local-time:reread-timezone-repository) |
|
72 |
- (setf tz-inited t)))))) |
|
68 |
+ (handler-case (unless (or tz-inited |
|
69 |
+ (local-time:find-timezone-by-location-name |
|
70 |
+ "America/Los_Angeles")) |
|
71 |
+ (:printv "asdf") |
|
72 |
+ (local-time:reread-timezone-repository)) |
|
73 |
+ (error () |
|
74 |
+ (local-time:reread-timezone-repository) |
|
75 |
+ (setf tz-inited t))))) |
|
73 | 76 |
|
74 | 77 |
(macrolet ((ensure-tz-inited (&body body) |
75 | 78 |
`(progn (init-tz) |
... | ... |
@@ -77,13 +80,13 @@ |
77 | 80 |
(let* ((last-space (position #\space date-str :from-end t)) |
78 | 81 |
(tz-name (check (all-alpha (subseq date-str (1+ last-space))))) |
79 | 82 |
(timestamp-raw (if tz-name |
80 |
- (subseq date-str 0 last-space) |
|
81 |
- date-str))) |
|
83 |
+ (subseq date-str 0 last-space) |
|
84 |
+ date-str))) |
|
82 | 85 |
(values (if tz-name |
83 |
- (ensure-tz-inited |
|
84 |
- (local-time:find-timezone-by-location-name |
|
86 |
+ (ensure-tz-inited |
|
87 |
+ (local-time:find-timezone-by-location-name |
|
85 | 88 |
(string-upcase tz-name))) |
86 |
- local-time:+utc-zone+) |
|
89 |
+ local-time:+utc-zone+) |
|
87 | 90 |
timestamp-raw)))))) |
88 | 91 |
|
89 | 92 |
(defun get-date (str) |