emacs-diffs
[Top][All Lists]
Advanced

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

master 872ca0f: Fix tmm-get-keymap under native-compile


From: Lars Ingebrigtsen
Subject: master 872ca0f: Fix tmm-get-keymap under native-compile
Date: Mon, 9 Aug 2021 09:19:53 -0400 (EDT)

branch: master
commit 872ca0ff8e0a6f61dc9399fa65788d87c83c8ef6
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix tmm-get-keymap under native-compile
    
    * lisp/tmm.el (tmm-get-keymap): Make this work under
    natively-compiled Emacsen (and with lexical binding, too) (bug#49953).
---
 lisp/tmm.el | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/lisp/tmm.el b/lisp/tmm.el
index 71082bd..0d8c22d 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -410,23 +410,15 @@ It uses the free variable `tmm-table-undef' to keep 
undefined keys."
     (if (eq elt 'undefined)
        (setq tmm-table-undef (cons (cons event nil) tmm-table-undef))
       (unless (assoc event tmm-table-undef)
-       (cond ((if (listp elt)
-                  (or (keymapp elt) (eq (car elt) 'lambda))
-                (and (symbolp elt) (fboundp elt)))
+       (cond ((or (functionp elt) (keymapp elt))
               (setq km elt))
 
-             ((if (listp (cdr-safe elt))
-                  (or (keymapp (cdr-safe elt))
-                      (eq (car (cdr-safe elt)) 'lambda))
-                (and (symbolp (cdr-safe elt)) (fboundp (cdr-safe elt))))
+             ((or (keymapp (cdr-safe elt)) (functionp (cdr-safe elt)))
               (setq km (cdr elt))
               (and (stringp (car elt)) (setq str (car elt))))
 
-             ((if (listp (cdr-safe (cdr-safe elt)))
-                  (or (keymapp (cdr-safe (cdr-safe elt)))
-                      (eq (car (cdr-safe (cdr-safe elt))) 'lambda))
-                (and (symbolp (cdr-safe (cdr-safe elt)))
-                      (fboundp (cdr-safe (cdr-safe elt)))))
+             ((or (keymapp (cdr-safe (cdr-safe elt)))
+                  (functionp (cdr-safe (cdr-safe elt))))
               (setq km (cddr elt))
               (and (stringp (car elt)) (setq str (car elt))))
 
@@ -447,11 +439,8 @@ It uses the free variable `tmm-table-undef' to keep 
undefined keys."
               (if enable
                    (setq km (if (eval enable) km 'ignore))))
 
-             ((if (listp (cdr-safe (cdr-safe (cdr-safe elt))))
-                  (or (keymapp (cdr-safe (cdr-safe (cdr-safe elt))))
-                      (eq (car (cdr-safe (cdr-safe (cdr-safe elt)))) 'lambda))
-                (and (symbolp (cdr-safe (cdr-safe (cdr-safe elt))))
-                     (fboundp (cdr-safe (cdr-safe (cdr-safe elt))))))
+             ((or (keymapp (cdr-safe (cdr-safe (cdr-safe elt))))
+                  (functionp (cdr-safe (cdr-safe (cdr-safe elt)))))
                                         ; New style of easy-menu
               (setq km (cdr (cddr elt)))
               (and (stringp (car elt)) (setq str (car elt))))



reply via email to

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