diff options
author | John Wiegley <johnw@newartisans.com> | 2015-06-22 12:44:34 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2015-06-22 12:44:34 -0500 |
commit | 269b1080ae3a11819dd33ebe3359952f7d5fd797 (patch) | |
tree | d694f351b94a0aa056e27d0bf23a9726ce6381f4 /lisp/use-package/use-package.el | |
parent | d3f47a74019bd283ee2e56c9231828708088ceb3 (diff) | |
parent | 6f0586ef52be9f9fa4491211101a84e35260d8ea (diff) | |
download | emacs-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.el | 11 |
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))) |