From 6f0586ef52be9f9fa4491211101a84e35260d8ea Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Fr=C3=B6ssman?= Date: Fri, 8 May 2015 12:19:35 +0200 Subject: [PATCH] Refresh package.el archives if package is missing --- lisp/use-package/use-package.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 6feb0d84a5c..0eaa1ac3371 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -434,9 +434,14 @@ manually updated package." (concat ":ensure wants an optional package name " "(an unquoted symbol name)"))))))) -(defun use-package-ensure-elpa (package) - (when (not (package-installed-p package)) - (package-install package))) +(defun use-package-ensure-elpa (package &optional no-refresh) + (if (package-installed-p package) + t + (if (or (assoc package package-archive-contents) no-refresh) + (package-install package) + (progn + (package-refresh-contents) + (use-package-ensure-elpa package t))))) (defun use-package-handler/:ensure (name-symbol keyword ensure rest state) (let ((body (use-package-process-keywords name-symbol rest state))) -- 2.39.2