summaryrefslogtreecommitdiff
path: root/lisp/tmm.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-01-23 06:25:22 +0000
committerRichard M. Stallman <rms@gnu.org>1997-01-23 06:25:22 +0000
commit1146fab338b968eec37f14acb0ea6a7f790895af (patch)
tree38f5898a162264308a5e7e9a551d25bf33c2dcc5 /lisp/tmm.el
parent8896e42c9cae66512afe61a35774b3af4b113303 (diff)
downloademacs-1146fab338b968eec37f14acb0ea6a7f790895af.tar.gz
(tmm-get-keymap): Recognize explicit lambda expressions as valid.
Diffstat (limited to 'lisp/tmm.el')
-rw-r--r--lisp/tmm.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/tmm.el b/lisp/tmm.el
index b016e8231bf..d294f41d4d2 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -392,16 +392,18 @@ It uses the free variable `tmm-table-undef' to keep undefined keys."
(or
(assoc event tmm-table-undef)
(and (if (listp elt)
- (keymapp elt)
+ (or (keymapp elt) (eq (car elt) 'lambda))
(fboundp elt))
(setq km elt))
(and (if (listp (cdr-safe elt))
- (keymapp (cdr-safe elt))
+ (or (keymapp (cdr-safe elt))
+ (eq (car (cdr-safe elt)) 'lambda))
(fboundp (cdr-safe elt)))
(setq km (cdr elt))
(and (stringp (car elt)) (setq str (car elt))))
(and (if (listp (cdr-safe (cdr-safe elt)))
- (keymapp (cdr-safe (cdr-safe elt)))
+ (or (keymapp (cdr-safe (cdr-safe elt)))
+ (eq (car (cdr-safe (cdr-safe elt))) 'lambda))
(fboundp (cdr-safe (cdr-safe elt))))
(setq km (cdr (cdr elt)))
(and (stringp (car elt)) (setq str (car elt)))
@@ -410,7 +412,8 @@ It uses the free variable `tmm-table-undef' to keep undefined keys."
(setq cache (cdr (car (cdr elt))))
cache (setq str (concat str cache))) str))
(and (if (listp (cdr-safe (cdr-safe (cdr-safe elt))))
- (keymapp (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))
(fboundp (cdr-safe (cdr-safe (cdr-safe elt)))))
; New style of easy-menu
(setq km (cdr (cdr (cdr elt))))