[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8884698 17/27: Don't undefine BODY's map binding when it's
From: |
Oleh Krehel |
Subject: |
[elpa] master 8884698 17/27: Don't undefine BODY's map binding when it's a prefix |
Date: |
Sat, 24 Jan 2015 20:36:34 +0000 |
branch: master
commit 88846985d87391dab6aea029d660de83df148b74
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Don't undefine BODY's map binding when it's a prefix
* hydra.el (hydra-create): Update.
Basically the same fix as before, only for bindings relating to a map.
Now this will work:
(hydra-create "C-y"
'(("l" forward-char)
("h" backward-char)
("j" next-line)
("k" previous-line)
("z"))
lispy-mode-map)
even though "C-y" is bound to a command in `lispy-mode-map'. The
previous binding will be undefined.
Re #4.
---
hydra.el | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/hydra.el b/hydra.el
index 39ff68b..fa27904 100644
--- a/hydra.el
+++ b/hydra.el
@@ -90,13 +90,6 @@ When `(keymapp METHOD)`, it becomes:
(define-key keymap (kbd (car x))
(intern (format "hydra-%s-%S" body (cadr x)))))
heads))
- (method (cond ((null method)
- 'global-set-key)
- ((keymapp (eval method))
- `(lambda (key command)
- (define-key ,method key command)))
- (t
- method)))
(hint (concat "hydra: "
(mapconcat
(lambda (h)
@@ -114,11 +107,21 @@ When `(keymapp METHOD)`, it becomes:
(mapconcat
(lambda (x)
(format "\"%s\": `%S'" (car x) (cadr x)))
- heads ",\n"))))
+ heads ",\n")))
+ map
+ (method
+ (cond ((null method)
+ (unless (keymapp (global-key-binding (kbd body)))
+ (global-set-key (kbd body) nil))
+ 'global-set-key)
+ ((keymapp (setq map (eval method)))
+ (unless (keymapp (lookup-key map (kbd body)))
+ (define-key map (kbd body) nil))
+ `(lambda (key command)
+ (define-key ,method key command)))
+ (t
+ method))))
`(progn
- (when (eq ',method 'global-set-key)
- (unless (keymapp (global-key-binding ,(kbd body)))
- (global-set-key ,(kbd body) nil)))
,@(cl-mapcar
(lambda (head name)
`(defun ,name ()
- [elpa] master 9b86656 01/27: Initial import, (continued)
- [elpa] master 9b86656 01/27: Initial import, Oleh Krehel, 2015/01/24
- [elpa] master 6966e14 11/27: Fix the bugged `global-set-key' version, Oleh Krehel, 2015/01/24
- [elpa] master 11323ec 06/27: Allow to use minor-mode-maps and more, Oleh Krehel, 2015/01/24
- [elpa] master dbd77f0 09/27: Don't unbind hydra's body, unless using global-set-key, Oleh Krehel, 2015/01/24
- [elpa] master 998b533 10/27: Make sure `windmove-wrap-around' is nil during tests, Oleh Krehel, 2015/01/24
- [elpa] master 5318fc3 08/27: Update `hydra-create' format, Oleh Krehel, 2015/01/24
- [elpa] master e156bf2 12/27: Require cl at compile time, Oleh Krehel, 2015/01/24
- [elpa] master 69bb4a4 13/27: Fix `kbd' interpretting "<tab>" char-by-char, Oleh Krehel, 2015/01/24
- [elpa] master b982fe5 14/27: Allow to add one head that disables the Hydra, Oleh Krehel, 2015/01/24
- [elpa] master c3ce0a9 15/27: `hydra-create' will also define `hydra-...-body', Oleh Krehel, 2015/01/24
- [elpa] master 8884698 17/27: Don't undefine BODY's map binding when it's a prefix,
Oleh Krehel <=
- [elpa] master dfe1273 19/27: Simplify and improve the generated defuns, Oleh Krehel, 2015/01/24
- [elpa] master 301b500 16/27: Don't undefine BODY's global binding when it's a prefix, Oleh Krehel, 2015/01/24
- [elpa] master 42538fa 18/27: Add a `next-error'/`previous-error'/`first-error' example, Oleh Krehel, 2015/01/24
- [elpa] master dc0246e 20/27: hydra-examples.el (hydra-example-goto-error): add doc, Oleh Krehel, 2015/01/24
- [elpa] master ddd96d1 23/27: hydra-examples.el: add a `windmove' Hydra, Oleh Krehel, 2015/01/24
- [elpa] master 64e5b91 22/27: Avoid evaling METHOD., Oleh Krehel, 2015/01/24
- [elpa] master 440c41c 24/27: Bump version, Oleh Krehel, 2015/01/24
- [elpa] master cfac8bd 21/27: Prepare for the first version in GNU ELPA, Oleh Krehel, 2015/01/24
- [elpa] master 7b78b37 27/27: Merge commit '440c41cc3f5137d694211719abaa38c0193a08a2' from hydra, Oleh Krehel, 2015/01/24
- [elpa] master 685c83b 25/27: Setup git subtree add for hydra, Oleh Krehel, 2015/01/24