(defun require-package (package &optional min-version no-refresh)
"Install given PACKAGE, optionally requiring MIN-VERSION.
If NO-REFRESH is non-nil, the available package lists will not be
re-downloaded in order to locate PACKAGE."
(when (stringp min-version)
(setq min-version (version-to-list min-version)))
(or (package-installed-p package min-version)
(let* ((known (cdr (assoc package package-archive-contents)))
(best (car (sort known (lambda (a b)
(version-list-<= (package-desc-version b)
(package-desc-version a)))))))
(if (and best (version-list-<= min-version (package-desc-version best)))
(package-install best)
(if no-refresh
(error "No version of %s >= %S is available" package min-version)
(package-refresh-contents)
(require-package package min-version t)))
(package-installed-p package min-version))))
(defun maybe-require-package (package &optional min-version no-refresh)
"Try to install PACKAGE, and return non-nil if successful.
In the event of failure, return nil and print a warning message.
Optionally require MIN-VERSION. If NO-REFRESH is non-nil, the
available package lists will not be re-downloaded in order to
locate PACKAGE."
(condition-case err
(require-package package min-version no-refresh)
(error
(message "Couldn't install optional package `%s': %S" package err)
nil)))
Expected behavior
Actual behavior
https://github.com/bbatsov/projectile/assets/29733949/c7f70867-33d2-4a94-9c41-5305c11f59fa
Steps to reproduce the problem
This error occurs in both cases:
The declaration of maybe-require-package
Environment & Version information
Projectile version information
Version: projectile-20240212.1100
Emacs version
GNU Emacs 29.3
Operating system