branch: externals/ergoemacs-mode
commit 131b3fb409c79b66d6715608a71be884a0bde82f
Author: Walter Landry <wlan...@caltech.edu>
Commit: Walter Landry <wlan...@caltech.edu>

    Fix command-loop errors
    
    The problem was that mapkeymap was looking for a prefix in a keymap
    and assuming that the result was a list.  This will fail when invoking
    'term', because it has a keymap with a lot of elements specified as
    
      #^^[3 0 term-send-raw-meta term-send-raw-meta ...
    
    We now check explicitly for whether the result is a list.
---
 ergoemacs-mapkeymap.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/ergoemacs-mapkeymap.el b/ergoemacs-mapkeymap.el
index cb08017..199329e 100644
--- a/ergoemacs-mapkeymap.el
+++ b/ergoemacs-mapkeymap.el
@@ -194,7 +194,9 @@ them to be masked when mapping over the keymap."
              (cond
               ((consp event)
                (ergoemacs-map-set-char-table-range
-                (or (and prefix (lookup-key flat-keymap prefix))
+                (or (and prefix
+                         (let ((prefix-lookup (lookup-key flat-keymap prefix)))
+                           (if (listp prefix-lookup) prefix-lookup)))
                     flat-keymap) event item))
               (t
                (define-key flat-keymap key item)

Reply via email to