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

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

[elpa] 53/117: Don't error on invalid menu.


From: Matthew Fidler
Subject: [elpa] 53/117: Don't error on invalid menu.
Date: Fri, 25 Jul 2014 13:24:12 +0000

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

commit 126355ce330eed7614216d0e0bdabbde3203a38e
Author: Matthew L. Fidler <address@hidden>
Date:   Thu Jul 17 13:54:27 2014 -0500

    Don't error on invalid menu.
---
 ergoemacs-menus.el |   47 +++++++++++++++++++++++------------------------
 1 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/ergoemacs-menus.el b/ergoemacs-menus.el
index 117cec6..a3f9e3f 100644
--- a/ergoemacs-menus.el
+++ b/ergoemacs-menus.el
@@ -63,31 +63,30 @@
     nil))
 
 (defun ergoemacs-preprocess-menu-keybindings (menu)
-  (unless (keymapp menu)
-    (error "Invalid menu in ergoemacs-preprocess-menu-keybindings %s" menu))
-
-  (when (symbolp menu)
-    (setq menu (symbol-value menu)))
-
-  ;; For each element in the menu
-  (setcdr menu
-          (mapcar (lambda (item)
-                    (let ((key (ergoemacs-shortcut-for-menu-item item)))
-                      (if key
-                          (append item (cons :keys (cons key nil)))
-                        item)))
-                  (cdr menu)))
-
-  ;; Recurse sub menu items
-  (dolist (x (cdr menu))
-    (when (and (consp x)
-               (consp (cdr x))
-               (consp (cdr (cdr x)))
-               (consp (cdr (cdr (cdr x))))
-               (eq (car (cdr x)) 'menu-item)
-               (keymapp (car (cdr (cdr (cdr x))))))
+  (if (not (ignore-errors (keymapp menu)))
+      (progn
+        (message "Invalid menu in ergoemacs-preprocess-menu-keybindings %s" 
menu)
+        menu)
+    (when (symbolp menu)
+      (setq menu (symbol-value menu)))
+    ;; For each element in the menu
+    (setcdr menu
+            (mapcar (lambda (item)
+                      (let ((key (ergoemacs-shortcut-for-menu-item item)))
+                        (if key
+                            (append item (cons :keys (cons key nil)))
+                          item)))
+                    (cdr menu)))
+    ;; Recurse sub menu items
+    (dolist (x (cdr menu))
+      (when (and (consp x)
+                 (consp (cdr x))
+                 (consp (cdr (cdr x)))
+                 (consp (cdr (cdr (cdr x))))
+                 (eq (car (cdr x)) 'menu-item)
+                 (keymapp (car (cdr (cdr (cdr x))))))
                                         ;(message "Submenu: %s" (car (cdr (cdr 
x))))
-      (ergoemacs-preprocess-menu-keybindings (car (cdr (cdr (cdr x))))))))
+        (ergoemacs-preprocess-menu-keybindings (car (cdr (cdr (cdr x)))))))))
 
 (defvar ergoemacs-handle-ctl-c-or-ctl-x)
 (defvar ergoemacs-no-shortcut-keys)



reply via email to

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