diff options
author | John Wiegley <johnw@newartisans.com> | 2018-07-10 00:29:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-10 00:29:34 -0700 |
commit | c169644637ea78cd810aa6c7db35accb9d0d58d5 (patch) | |
tree | 509738a35ac1e341e0fe35089bb65ae9142eeb88 /lisp/use-package | |
parent | 0a4d08205434a4ca2dd6033154172b406e67127c (diff) | |
parent | 2a8c2ffea2073ac0b23d201b6a9c5cf074c86645 (diff) | |
download | emacs-c169644637ea78cd810aa6c7db35accb9d0d58d5.tar.gz emacs-c169644637ea78cd810aa6c7db35accb9d0d58d5.tar.bz2 emacs-c169644637ea78cd810aa6c7db35accb9d0d58d5.zip |
Merge pull request from jwiegley/ensure-system-package-filepath
allow :ensure-system-package to check the presence of files at path
GitHub-reference: https://github.com/jwiegley/use-package/issues/703
Diffstat (limited to 'lisp/use-package')
-rw-r--r-- | lisp/use-package/use-package-ensure-system-package.el | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/use-package/use-package-ensure-system-package.el b/lisp/use-package/use-package-ensure-system-package.el index 476a4f2b930..eaf6de79a12 100644 --- a/lisp/use-package/use-package-ensure-system-package.el +++ b/lisp/use-package/use-package-ensure-system-package.el @@ -53,13 +53,20 @@ (t (list (use-package-ensure-system-package-consify arg))))))) +(defun use-package-ensure-system-package-exists? (file-or-exe) + "If variable is a string, ensure the file path exists. +If it is a symbol, ensure the binary exist." + (if (stringp file-or-exe) + (file-exists-p file-or-exe) + (executable-find (symbol-name file-or-exe)))) + ;;;###autoload (defun use-package-handler/:ensure-system-package (name _keyword arg rest state) "Execute the handler for `:ensure-system-package' keyword in `use-package'." (let ((body (use-package-process-keywords name rest state))) (use-package-concat (mapcar #'(lambda (cons) - `(unless (executable-find (symbol-name ',(car cons))) + `(unless (use-package-ensure-system-package-exists? ',(car cons)) (async-shell-command ,(cdr cons)))) arg) body))) |