~ chicken-core (chicken-5) 08dd951dcefc65d4ebac056010e35ef3fa55ec4c


commit 08dd951dcefc65d4ebac056010e35ef3fa55ec4c
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Oct 21 12:20:47 2022 +0200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Fri Oct 28 17:39:55 2022 +1300

    Fix update logic for eggs without given version
    
    Make sure to check servers for newest available version.
    
    See also #1802.
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/chicken-install.scm b/chicken-install.scm
index 524cf0a1..14333ce4 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -447,12 +447,11 @@
                          (and (file-exists? vfile)
                               (with-input-from-file vfile read)))))
       (cond ((and (not cached-only)
-                  (or (and (string? version)
-                           (not (equal? version lversion)))
-                      (and (or (not (file-exists? tfile))
-                               (> (- now (with-input-from-file tfile read))
-                                  +one-hour+))
-                           (not (check-remote-version name lversion cached)))))
+                  (if (string? version)
+                      (not (equal? version lversion))
+                      (or (and (file-exists? tfile)
+                               (> (- now (with-input-from-file tfile read)) +one-hour+))
+                          (not (check-remote-version name lversion cached)))))
              (d "version of ~a out of date~%" name)
              (fetch #t)
              (let* ((info (validate-egg-info (load-egg-info eggfile))) ; new egg info (fetched)
Trap