[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 83/117: Handle menu-bar when flattening keymaps.
From: |
Matthew Fidler |
Subject: |
[elpa] 83/117: Handle menu-bar when flattening keymaps. |
Date: |
Fri, 25 Jul 2014 13:24:26 +0000 |
mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.
commit 468b6f5cc8623e6e42cde74f36df74b1eb45949c
Author: Matthew L. Fidler <address@hidden>
Date: Tue Jul 22 07:39:54 2014 -0500
Handle menu-bar when flattening keymaps.
---
ergoemacs-mode.el | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index 5776c11..f3dd101 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -82,19 +82,26 @@ PRE-VECTOR is to help define the full key-vector sequence."
(when (integerp i)
(define-key parent (substring key 0 i) nil))
(define-key parent key (cdr item)))
+ ((and key (equal key [menu-bar]))
+ (define-key parent key nil)
+ (define-key parent key (cdr item)))
((and key (ignore-errors (eq 'keymap (nth 1 item))))
- (ergoemacs-flatten-composed-keymap--define-key (cdr item) parent
key))))))
+ (ergoemacs-flatten-composed-keymap--define-key (cdr item) parent key))
+ (t )))))
(defun ergoemacs-flatten-composed-keymap (keymap)
"Flattens a composed KEYMAP.
If it is not a composed KEYMAP, return the keymap as is."
(if (not (ignore-errors (and (keymapp keymap) (eq (nth 0 (nth 1 keymap))
'keymap)))) keymap
- (let* ((parent (keymap-parent keymap))
- (new-keymap (or (and parent (copy-keymap parent))
(make-sparse-keymap)))
- (remaining (cdr (copy-keymap keymap)))
+ (let* (new-keymap
+ (remaining (cdr keymap))
(keymap-list '()))
(while (keymapp (car remaining))
(push (pop remaining) keymap-list)) ;; Should be reversed
+ ;; Parent keymap
+ (if (keymapp remaining)
+ (setq new-keymap (copy-keymap remaining))
+ (setq new-keymap (make-sparse-keymap)))
(dolist (sub-keymap keymap-list)
(ergoemacs-flatten-composed-keymap--define-key sub-keymap new-keymap))
new-keymap)))
- [elpa] 76/117: Add toggle component, (continued)
- [elpa] 76/117: Add toggle component, Matthew Fidler, 2014/07/25
- [elpa] 78/117: Fix visual line support, Matthew Fidler, 2014/07/25
- [elpa] 77/117: Take out the toggling of the themes, Matthew Fidler, 2014/07/25
- [elpa] 68/117: Use remaps more, Matthew Fidler, 2014/07/25
- [elpa] 81/117: Fix apps-toggle. Apparently the other method was mispecified, Matthew Fidler, 2014/07/25
- [elpa] 79/117: Allow repeated visual beginning/end of line, Matthew Fidler, 2014/07/25
- [elpa] 80/117: Dont flatten keymaps, Matthew Fidler, 2014/07/25
- [elpa] 82/117: Remove ergoemacs-mode from custom set vars, Matthew Fidler, 2014/07/25
- [elpa] 86/117: Clear local ergoemacs-mode read-key captures, Matthew Fidler, 2014/07/25
- [elpa] 85/117: Fix cut and copy issues, Matthew Fidler, 2014/07/25
- [elpa] 83/117: Handle menu-bar when flattening keymaps.,
Matthew Fidler <=
- [elpa] 88/117: Add non-defined functions to map, Matthew Fidler, 2014/07/25
- [elpa] 89/117: Fix byte compile warning, Matthew Fidler, 2014/07/25
- [elpa] 91/117: Fix remaps to not use shortcuts, Matthew Fidler, 2014/07/25
- [elpa] 92/117: Remove local read-key reset; Shouldn't be needed, Matthew Fidler, 2014/07/25
- [elpa] 90/117: Hack to make search-reg work. Should work normally :(, Matthew Fidler, 2014/07/25
- [elpa] 95/117: No need to create autoloads any longer, Matthew Fidler, 2014/07/25
- [elpa] 84/117: Flatten keymaps, Matthew Fidler, 2014/07/25
- [elpa] 93/117: Fix dired-mode-map changes by requiring dired, Matthew Fidler, 2014/07/25
- [elpa] 96/117: Add back dired-jump, Matthew Fidler, 2014/07/25
- [elpa] 87/117: Handle the (keymap (keymap ...)) composed keymap, Matthew Fidler, 2014/07/25