[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master fd4fd36 011/348: ivy-hydra.el: Fix hydra self-install
From: |
Oleh Krehel |
Subject: |
[elpa] master fd4fd36 011/348: ivy-hydra.el: Fix hydra self-install |
Date: |
Sat, 8 Apr 2017 11:03:14 -0400 (EDT) |
branch: master
commit fd4fd36bc8c4063d3b38b4d04f790402ad82147b
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
ivy-hydra.el: Fix hydra self-install
* Makefile: Add a target to test the self-install.
Fixes #464
---
Makefile | 3 +++
ivy-hydra.el | 34 +++++++++++++++++++---------------
2 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/Makefile b/Makefile
index c362e30..009086f 100644
--- a/Makefile
+++ b/Makefile
@@ -12,5 +12,8 @@ test:
compile:
$(emacs) -batch --eval "(progn (add-to-list 'load-path
default-directory) (mapc #'byte-compile-file '(\"ivy.el\" \"swiper.el\"
\"counsel.el\")))"
+plain:
+ $(emacs) -Q $(LOAD) --eval "(progn (package-initialize) (ivy-mode))" -l
ivy-hydra.el
+
clean:
rm -f *.elc
diff --git a/ivy-hydra.el b/ivy-hydra.el
index 44f8754..5be7fbc 100644
--- a/ivy-hydra.el
+++ b/ivy-hydra.el
@@ -26,23 +26,27 @@
;; shorter than usual, using mostly unprefixed keys.
;;; Code:
-(require 'hydra nil t)
(require 'ivy)
-(eval-when-compile
- (unless (or (featurep 'hydra) (package-installed-p 'hydra))
- (defmacro defhydra (name &rest _)
- "This is a stub for the uninstalled `hydra' package."
- `(defun ,(intern (format "%S/body" name)) ()
- (interactive)
- (let ((enable-recursive-minibuffers t))
- (if (yes-or-no-p "Package `hydra' not installed. Install?")
- (progn
- (package-install 'hydra)
- (save-window-excursion
- (find-library "ivy-hydra")
- (byte-compile-file (buffer-file-name) t)))
- (error "Please install `hydra' and recompile/reinstall
`ivy-hydra'")))))))
+(unless (require 'hydra nil t)
+ (defmacro defhydra (name &rest _)
+ "This is a stub for the uninstalled `hydra' package."
+ `(defun ,(intern (format "%S/body" name)) ()
+ (interactive)
+ (let ((enable-recursive-minibuffers t))
+ (if (yes-or-no-p "Package `hydra' not installed. Install?")
+ (progn
+ (ignore-errors (package-install 'hydra))
+ (save-window-excursion
+ (let* ((buffer (condition-case nil
+ (find-library "ivy-hydra")
+ (error (find-file
+ ,(expand-file-name
"ivy-hydra.el")))))
+ (bname (buffer-file-name buffer)))
+ (require 'hydra)
+ (byte-compile-file bname t)
+ (load-file bname))))
+ (error "Please install `hydra' and recompile/reinstall
`ivy-hydra'"))))))
(defun ivy--matcher-desc ()
(if (eq ivy--regex-function
- [elpa] master updated (4bfb692 -> e1351c8), Oleh Krehel, 2017/04/08
- [elpa] master f90ae3f 002/348: doc/ivy.org: Bump version, Oleh Krehel, 2017/04/08
- [elpa] master c875668 010/348: counsel.el (counsel-mode-map): Add counsel-info-lookup-symbol, Oleh Krehel, 2017/04/08
- [elpa] master b7b4758 007/348: ivy.el: Autoload ivy-read, Oleh Krehel, 2017/04/08
- [elpa] master 4a24514 001/348: doc/Changelog.org: Improve for export to HTML, Oleh Krehel, 2017/04/08
- [elpa] master 778c615 013/348: ivy.el (ivy-add-actions): New function, Oleh Krehel, 2017/04/08
- [elpa] master fd4fd36 011/348: ivy-hydra.el: Fix hydra self-install,
Oleh Krehel <=
- [elpa] master ff415c0 012/348: fixed typos, Oleh Krehel, 2017/04/08
- [elpa] master 23d7c74 015/348: Fix previous commit, Oleh Krehel, 2017/04/08
- [elpa] master 6c669ff 014/348: File sorting function using a priority order for extensions, Oleh Krehel, 2017/04/08
- [elpa] master 9407b21 021/348: swiper.el (swiper-action-recenter): New defcustom, Oleh Krehel, 2017/04/08
- [elpa] master f3690b6 019/348: Make "M-o j" consistent for ivy-switch-buffer and counsel-find-file, Oleh Krehel, 2017/04/08
- [elpa] master 79ffa67 009/348: ivy.el (ivy--filter): Recompute index after sort, Oleh Krehel, 2017/04/08
- [elpa] master c2646d4 020/348: counsel.el (counsel-load-theme-action): Update, Oleh Krehel, 2017/04/08
- [elpa] master aadc062 024/348: ivy-test.el: Add a provide statement, Oleh Krehel, 2017/04/08
- [elpa] master eba0d9e 008/348: swiper.el (swiper--ivy): Remove interactive, Oleh Krehel, 2017/04/08
- [elpa] master c20867b 022/348: ivy-hydra.el: Add package tags, Oleh Krehel, 2017/04/08