[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5379642 06/45: Use `hydra-keyboard-quit' instead of `hydra
From: |
Oleh Krehel |
Subject: |
[elpa] master 5379642 06/45: Use `hydra-keyboard-quit' instead of `hydra-cleanup' |
Date: |
Thu, 16 Apr 2015 12:45:41 +0000 |
branch: master
commit 5379642fb311ebf262e56173f4318e4e6f86ee4c
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Use `hydra-keyboard-quit' instead of `hydra-cleanup'
* hydra.el (hydra--pred): Update.
(hydra--make-defun): Update.
(hydra-cleanup): Remove.
(hydra-keyboard-quit): Absorb `hydra-cleanup'.
* hydra-test.el (hydra-red-error): Update test.
(hydra-blue-toggle): Update test.
(hydra-amaranth-vi): Update test.
(hydra-zoom-duplicate-1): Update test.
(hydra-zoom-duplicate-2): Update test.
Fixes #100
---
hydra-test.el | 160 ++++++++++++++++++++++++++++----------------------------
hydra.el | 28 ++++------
2 files changed, 92 insertions(+), 96 deletions(-)
diff --git a/hydra-test.el b/hydra-test.el
index de699f9..bea27407 100644
--- a/hydra-test.el
+++ b/hydra-test.el
@@ -38,35 +38,35 @@
("SPC" hydra-repeat "rep" :bind nil)))
'(progn
(set (defvar hydra-error/keymap nil "Keymap for hydra-error.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (32 . hydra-repeat)
- (107 . hydra-error/previous-error)
- (106 . hydra-error/next-error)
- (104 . hydra-error/first-error)
- (switch-frame . hydra--handle-switch-frame)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote (keymap (7 . hydra-keyboard-quit)
+ (32 . hydra-repeat)
+ (107 . hydra-error/previous-error)
+ (106 . hydra-error/next-error)
+ (104 . hydra-error/first-error)
+ (switch-frame . hydra--handle-switch-frame)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra--digit-argument)
+ (48 . hydra--digit-argument)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-error/first-error nil "Create a hydra with a \"M-g\" body
and the heads:
\"h\": `first-error',
@@ -87,7 +87,7 @@ Call the head: `first-error'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-error/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-error/next-error nil "Create a hydra with a \"M-g\" body
and the heads:
\"h\": `first-error',
@@ -108,7 +108,7 @@ Call the head: `next-error'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-error/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-error/previous-error nil "Create a hydra with a \"M-g\"
body and the heads:
\"h\": `first-error',
@@ -129,7 +129,7 @@ Call the head: `previous-error'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-error/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(unless (keymapp (lookup-key global-map (kbd "M-g")))
(define-key global-map (kbd "M-g")
nil))
@@ -162,7 +162,7 @@ The body can be accessed via `hydra-error/body'."
(catch (quote hydra-disable)
(when hydra-is-helpful (hydra-error/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-error/keymap)
- t (lambda nil
(hydra-cleanup))))
+ t (lambda nil
(hydra-keyboard-quit))))
(setq prefix-arg current-prefix-arg)))))))
(ert-deftest hydra-blue-toggle ()
@@ -177,35 +177,35 @@ The body can be accessed via `hydra-error/body'."
("q" nil "cancel")))
'(progn
(set (defvar hydra-toggle/keymap nil "Keymap for hydra-toggle.")
- (quote (keymap (7 . hydra-keyboard-quit)
- (113 . hydra-toggle/nil)
- (97 . hydra-toggle/abbrev-mode-and-exit)
- (102 . hydra-toggle/auto-fill-mode-and-exit)
- (116 . hydra-toggle/toggle-truncate-lines-and-exit)
- (switch-frame . hydra--handle-switch-frame)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument))))
+ (quote (keymap (7 . hydra-keyboard-quit)
+ (113 . hydra-toggle/nil)
+ (97 . hydra-toggle/abbrev-mode-and-exit)
+ (102 . hydra-toggle/auto-fill-mode-and-exit)
+ (116 . hydra-toggle/toggle-truncate-lines-and-exit)
+ (switch-frame . hydra--handle-switch-frame)
+ (kp-subtract . hydra--negative-argument)
+ (kp-9 . hydra--digit-argument)
+ (kp-8 . hydra--digit-argument)
+ (kp-7 . hydra--digit-argument)
+ (kp-6 . hydra--digit-argument)
+ (kp-5 . hydra--digit-argument)
+ (kp-4 . hydra--digit-argument)
+ (kp-3 . hydra--digit-argument)
+ (kp-2 . hydra--digit-argument)
+ (kp-1 . hydra--digit-argument)
+ (kp-0 . hydra--digit-argument)
+ (57 . hydra--digit-argument)
+ (56 . hydra--digit-argument)
+ (55 . hydra--digit-argument)
+ (54 . hydra--digit-argument)
+ (53 . hydra--digit-argument)
+ (52 . hydra--digit-argument)
+ (51 . hydra--digit-argument)
+ (50 . hydra--digit-argument)
+ (49 . hydra--digit-argument)
+ (48 . hydra--digit-argument)
+ (45 . hydra--negative-argument)
+ (21 . hydra--universal-argument))))
(defun hydra-toggle/toggle-truncate-lines-and-exit nil "Create a hydra
with no body and the heads:
\"t\": `toggle-truncate-lines',
@@ -219,7 +219,7 @@ Call the head: `toggle-truncate-lines'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function toggle-truncate-lines))))
(defun hydra-toggle/auto-fill-mode-and-exit nil "Create a hydra with no
body and the heads:
@@ -235,7 +235,7 @@ Call the head: `auto-fill-mode'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function auto-fill-mode))))
(defun hydra-toggle/abbrev-mode-and-exit nil "Create a hydra with no
body and the heads:
@@ -251,7 +251,7 @@ Call the head: `abbrev-mode'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function abbrev-mode))))
(defun hydra-toggle/nil nil "Create a hydra with no body and the heads:
@@ -267,7 +267,7 @@ Call the head: `nil'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)))
(defun hydra-toggle/hint nil
(if hydra-lv (lv-message (format #("toggle: [t]: truncate, [f]: fill,
[a]: abbrev, [q]: cancel." 9 10 (face hydra-face-blue)
@@ -292,7 +292,7 @@ The body can be accessed via `hydra-toggle/body'."
(catch (quote hydra-disable)
(when hydra-is-helpful (hydra-toggle/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-toggle/keymap)
- t (lambda nil
(hydra-cleanup))))
+ t (lambda nil
(hydra-keyboard-quit))))
(setq prefix-arg current-prefix-arg)))))))
(ert-deftest hydra-amaranth-vi ()
@@ -358,7 +358,7 @@ Call the head: `hydra-keyboard-quit'."
(hydra-default-pre)
(set-cursor-color "#e52b50")
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function hydra-keyboard-quit))
(set-cursor-color "#ffffff")))
@@ -383,7 +383,7 @@ Call the head: `next-line'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-vi/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-vi/previous-line nil "Create a hydra with no body and the
heads:
\"\": `hydra-keyboard-quit',
@@ -405,7 +405,7 @@ Call the head: `previous-line'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-vi/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-vi/nil nil "Create a hydra with no body and the heads:
\"\": `hydra-keyboard-quit',
@@ -420,7 +420,7 @@ Call the head: `nil'."
(hydra-default-pre)
(set-cursor-color "#e52b50")
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(set-cursor-color "#ffffff")))
(defun hydra-vi/hint nil
@@ -445,7 +445,7 @@ The body can be accessed via `hydra-vi/body'."
(catch (quote hydra-disable)
(when hydra-is-helpful (hydra-vi/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-vi/keymap)
- t (lambda nil
(hydra-cleanup))))
+ t (lambda nil
(hydra-keyboard-quit))))
(setq prefix-arg current-prefix-arg)))))))
(ert-deftest defhydradio ()
@@ -776,13 +776,13 @@ Call the head: `(text-scale-set 0)'."
(hydra-disable)
(catch (quote hydra-disable)
(condition-case err (call-interactively (function (lambda nil
(interactive)
-
(text-scale-set 0))))
+
(text-scale-set 0))))
((quit error)
(message "%S" err)
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-zoom/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-zoom/lambda-0-and-exit nil "Create a hydra with no body and
the heads:
\"r\": `(text-scale-set 0)',
@@ -795,10 +795,10 @@ Call the head: `(text-scale-set 0)'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function (lambda nil (interactive)
- (text-scale-set 0))))))
+ (text-scale-set 0))))))
(defun hydra-zoom/hint nil
(if hydra-lv (lv-message (format #("zoom: [r 0]: reset." 7 8 (face
hydra-face-red)
9 10 (face hydra-face-blue))))
@@ -817,7 +817,7 @@ The body can be accessed via `hydra-zoom/body'."
(catch (quote hydra-disable)
(when hydra-is-helpful (hydra-zoom/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-cleanup))))
+ t (lambda nil
(hydra-keyboard-quit))))
(setq prefix-arg current-prefix-arg)))))))
(ert-deftest hydra-zoom-duplicate-2 ()
@@ -877,7 +877,7 @@ Call the head: `(text-scale-set 0)'."
(unless hydra-lv (sit-for 0.8))))
(when hydra-is-helpful (hydra-zoom/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-cleanup))))))
+ t (lambda nil
(hydra-keyboard-quit))))))
(defun hydra-zoom/lambda-0-and-exit nil "Create a hydra with no body and
the heads:
\"r\": `(text-scale-set 0)',
@@ -890,7 +890,7 @@ Call the head: `(text-scale-set 0)'."
(interactive)
(hydra-default-pre)
(hydra-disable)
- (hydra-cleanup)
+ (hydra-keyboard-quit)
(catch (quote hydra-disable)
(call-interactively (function (lambda nil (interactive)
(text-scale-set 0))))))
@@ -912,7 +912,7 @@ The body can be accessed via `hydra-zoom/body'."
(catch (quote hydra-disable)
(when hydra-is-helpful (hydra-zoom/hint))
(setq hydra-last (hydra-set-transient-map (setq hydra-curr-map
hydra-zoom/keymap)
- t (lambda nil
(hydra-cleanup))))
+ t (lambda nil
(hydra-keyboard-quit))))
(setq prefix-arg current-prefix-arg)))))))
(ert-deftest hydra--pad ()
diff --git a/hydra.el b/hydra.el
index f6c83a1..60e1e65 100644
--- a/hydra.el
+++ b/hydra.el
@@ -93,7 +93,7 @@ This is a compatibility code for Emacs older than 24.4."
`(lambda ()
(if (lookup-key hydra-curr-map (this-command-keys-vector))
t
- (hydra-cleanup)
+ (hydra-keyboard-quit)
,(when on-exit
`(funcall ,(hydra--make-callable on-exit)))
nil)))
@@ -389,23 +389,19 @@ BODY is the second argument to `defhydra'"
(setq hydra--input-method-function input-method-function)
(setq input-method-function nil))))
-(defun hydra-cleanup ()
- "Clean up after a Hydra."
- (when hydra--input-method-function
- (setq input-method-function hydra--input-method-function)
- (setq hydra--input-method-function nil))
- (when (window-live-p lv-wnd)
- (let ((buf (window-buffer lv-wnd)))
- (delete-window lv-wnd)
- (kill-buffer buf))))
-
(defun hydra-keyboard-quit ()
"Quitting function similar to `keyboard-quit'."
(interactive)
(hydra-disable)
- (hydra-cleanup)
(cancel-timer hydra-timer)
- (unless hydra-lv
+ (when hydra--input-method-function
+ (setq input-method-function hydra--input-method-function)
+ (setq hydra--input-method-function nil))
+ (if hydra-lv
+ (when (window-live-p lv-wnd)
+ (let ((buf (window-buffer lv-wnd)))
+ (delete-window lv-wnd)
+ (kill-buffer buf)))
(message ""))
nil)
@@ -593,7 +589,7 @@ OTHER-POST is an optional extension to the :post key of
BODY."
(hydra-default-pre)
,@(when body-pre (list body-pre))
(hydra-disable)
- ,@(when (memq color '(blue teal)) '((hydra-cleanup)))
+ ,@(when (memq color '(blue teal)) '((hydra-keyboard-quit)))
(catch 'hydra-disable
,@(delq nil
(if (memq color '(blue teal))
@@ -616,8 +612,8 @@ OTHER-POST is an optional extension to the :post key of
BODY."
(not (memq body-color
'(amaranth pink teal)))
body-post)
- `(lambda () (hydra-cleanup) ,body-post)
- `(lambda () (hydra-cleanup)))))
+ `(lambda () (hydra-keyboard-quit) ,body-post)
+ `(lambda () (hydra-keyboard-quit)))))
,(or other-post
(when body-timeout
(list 'hydra-timeout
- [elpa] master f9bf8fe 08/45: hydra.el (hydra-set-transient-map): Update, (continued)
- [elpa] master f9bf8fe 08/45: hydra.el (hydra-set-transient-map): Update, Oleh Krehel, 2015/04/16
- [elpa] master 60483cb 09/45: Add integration testing, Oleh Krehel, 2015/04/16
- [elpa] master 4dde4f7 11/45: hydra.el (hydra--format): Add some more symbols, Oleh Krehel, 2015/04/16
- [elpa] master 3fce2bd 12/45: Try to re-encode the input in the terminal, Oleh Krehel, 2015/04/16
- [elpa] master fa5643f 15/45: Quit Hydra for `handle-switch-frame', Oleh Krehel, 2015/04/16
- [elpa] master af39a98 14/45: Adapt to the new `hydra-set-transient-map', Oleh Krehel, 2015/04/16
- [elpa] master acdec5b 27/45: Add an integration test for digit args in amaranth, Oleh Krehel, 2015/04/16
- [elpa] master 1a54e09 05/45: hydra.el (hydra--make-funcall): Update location, Oleh Krehel, 2015/04/16
- [elpa] master b351b7c 24/45: hydra.el (hydra--body-color): Remove, Oleh Krehel, 2015/04/16
- [elpa] master 5787a4d 13/45: Move away from setting "t" in keymaps, Oleh Krehel, 2015/04/16
- [elpa] master 5379642 06/45: Use `hydra-keyboard-quit' instead of `hydra-cleanup',
Oleh Krehel <=
- [elpa] master e88839c 17/45: Don't double-call :post, Oleh Krehel, 2015/04/16
- [elpa] master 2f07e50 26/45: Account for digit argument, Oleh Krehel, 2015/04/16
- [elpa] master 8875bf1 28/45: Make digit and negative arguments work in 24.3, Oleh Krehel, 2015/04/16
- [elpa] master 0ae639f 22/45: Use a variable instead of a function for the hint, Oleh Krehel, 2015/04/16
- [elpa] master d71386b 29/45: hydra.el (hydra--head-color): Simplify, Oleh Krehel, 2015/04/16
- [elpa] master 22348d7 23/45: hydra.el (hydra--face): Remove, Oleh Krehel, 2015/04/16
- [elpa] master 88f14a0 30/45: hydra.el (hydra--head-color): Remove, Oleh Krehel, 2015/04/16
- [elpa] master cb630df 16/45: Update the tests for the new `hydra-set-transient-map', Oleh Krehel, 2015/04/16
- [elpa] master 566aab7 31/45: Set `this-command' when appropriate, Oleh Krehel, 2015/04/16
- [elpa] master 19cc1be 21/45: Use `unwind-protect' for :after-exit, Oleh Krehel, 2015/04/16