summaryrefslogtreecommitdiff
path: root/lisp/use-package/use-package.el
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2015-06-22 12:44:34 -0500
committerJohn Wiegley <johnw@newartisans.com>2015-06-22 12:44:34 -0500
commit269b1080ae3a11819dd33ebe3359952f7d5fd797 (patch)
treed694f351b94a0aa056e27d0bf23a9726ce6381f4 /lisp/use-package/use-package.el
parentd3f47a74019bd283ee2e56c9231828708088ceb3 (diff)
parent6f0586ef52be9f9fa4491211101a84e35260d8ea (diff)
downloademacs-269b1080ae3a11819dd33ebe3359952f7d5fd797.tar.gz
emacs-269b1080ae3a11819dd33ebe3359952f7d5fd797.tar.bz2
emacs-269b1080ae3a11819dd33ebe3359952f7d5fd797.zip
Merge pull request from thomasf/master
Refresh package.el archives if package is missing. GitHub-reference: https://github.com/jwiegley/use-package/issues/210
Diffstat (limited to 'lisp/use-package/use-package.el')
-rw-r--r--lisp/use-package/use-package.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index 5d8ba118e01..78abd9f776f 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)))