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: