branch: elpa/hyperdrive
commit d48e43042390c159db7fca4e3299aebf9cbc5a1e
Author: Joseph Turner <jos...@ushin.org>
Commit: Joseph Turner <jos...@ushin.org>

    Fix: (he/next) Return 'unknown when version range data is missing
---
 hyperdrive-lib.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index bb02c4dd91..e9e5f43879 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -474,9 +474,9 @@ When VERSION is nil, return latest version of ENTRY."
 (cl-defun he/next (entry)
   "Return unfilled ENTRY at its hyperdrive's next version.
 
-If next version is known nonexistent, return nil.
-If next version's existence is unknown, return \\+`unknown'.
 If ENTRY's version is nil, return value is `eq' to ENTRY.
+Else, if next version is known nonexistent, return nil.
+Else, if current or next version's existence is unknown, return \\+`unknown'.
 
 Sends a request to the gateway for hyperdrive's latest version."
   (unless (he/version entry)
@@ -504,7 +504,9 @@ Sends a request to the gateway for hyperdrive's latest 
version."
     (pcase-let* ((`(,_range-start . ,(map :range-end))
                   (he/version-range entry))
                  (next-range-start (1+ (or range-end
-                                           (h/error "Missing version range 
data"))))
+                                           ;; Version range data is missing for
+                                           ;; ENTRY: return `unknown'.
+                                           (cl-return-from he/next 'unknown))))
                  ((map (:existsp next-range-existsp)
                        (:range-end next-range-end))
                   ;; TODO: If cl struct copiers are extended like this:

Reply via email to