emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 83/287: Allow ergoemacs-rm-key to remove a list


From: Matthew Fidler
Subject: [elpa] 83/287: Allow ergoemacs-rm-key to remove a list
Date: Wed, 02 Jul 2014 14:44:50 +0000

mlf176f2 pushed a commit to branch externals/ergoemacs-mode
in repository elpa.

commit 52c1d54ed6811f48f3726eff66cf5ff4fe5b8d55
Author: Matthew L. Fidler <address@hidden>
Date:   Fri Jun 13 07:39:54 2014 -0500

    Allow ergoemacs-rm-key to remove a list
---
 ergoemacs-theme-engine.el |   52 ++++++++++++++++++++++++--------------------
 1 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/ergoemacs-theme-engine.el b/ergoemacs-theme-engine.el
index 6e4d154..29ea300 100644
--- a/ergoemacs-theme-engine.el
+++ b/ergoemacs-theme-engine.el
@@ -1235,7 +1235,8 @@ The actual keymap changes are included in 
`ergoemacs-emulation-mode-map-alist'."
           (let ((vector-key (or (and (vectorp key) key)
                                 (read-kbd-macro (key-description key) t))))
             (setq final-read-map (or (and (memq (elt vector-key 0) '(3 24)) ;; 
Keep `C-c' and `C-x'.
-                                          (memq (lookup-key final-read-map 
(vector (elt vector-key 0))) '(ergoemacs-ctl-x ergoemacs-ctl-c))
+                                          (memq (lookup-key final-read-map 
(vector (elt vector-key 0)))
+                                                '(ergoemacs-ctl-x 
ergoemacs-ctl-c))
                                           final-read-map)
                                      (ergoemacs-rm-key final-read-map key))
                   final-shortcut-map (ergoemacs-rm-key final-shortcut-map key)
@@ -2330,29 +2331,32 @@ If OFF is non-nil, turn off the options instead."
 Also add global overrides from the current global map, if necessary.
 Returns new keymap."
   (if keymap
-      (let ((new-keymap (copy-keymap keymap)))
-        (cond
-         ((keymapp (nth 1 new-keymap))
-          (pop new-keymap)
-          (setq new-keymap
-                (mapcar
-                 (lambda(map)
-                   (let ((lk (lookup-key map key)) lk2 lk3)
-                     (cond
-                      ((integerp lk)
-                       (setq lk2 (lookup-key (current-global-map) key))
-                       (setq lk3 (lookup-key map (substring key 0 lk)))
-                       (when (and (or (commandp lk2) (keymapp lk2)) (not lk3))
-                         (define-key map key lk2)))
-                      (lk
-                       (define-key map key nil))))
-                   map)
-                 new-keymap))
-          (push 'keymap new-keymap)
-          new-keymap)
-         (t
-          (define-key new-keymap key nil)
-          new-keymap)))))
+      (if (listp key)
+          (dolist (rm-key key)
+            (ergoemacs-rm-key keymap rm-key))
+        (let ((new-keymap (copy-keymap keymap)))
+          (cond
+           ((keymapp (nth 1 new-keymap))
+            (pop new-keymap)
+            (setq new-keymap
+                  (mapcar
+                   (lambda(map)
+                     (let ((lk (lookup-key map key)) lk2 lk3)
+                       (cond
+                        ((integerp lk)
+                         (setq lk2 (lookup-key (current-global-map) key))
+                         (setq lk3 (lookup-key map (substring key 0 lk)))
+                         (when (and (or (commandp lk2) (keymapp lk2)) (not 
lk3))
+                           (define-key map key lk2)))
+                        (lk
+                         (define-key map key nil))))
+                     map)
+                   new-keymap))
+            (push 'keymap new-keymap)
+            new-keymap)
+           (t
+            (define-key new-keymap key nil)
+            new-keymap))))))
 
 (defvar ergoemacs-M-x "M-x ")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]