From e9bed1ef689d89df03c4f65bbd1e510b43c5a24d Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 29 Oct 2008 20:57:03 +0000 Subject: [PATCH] (tmm-get-keymap): Handle case where keyseq cache is omitted. --- lisp/tmm.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lisp/tmm.el b/lisp/tmm.el index a7ca2047162..42531854e09 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -462,11 +462,11 @@ It uses the free variable `tmm-table-undef' to keep undefined keys." (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))) + (setq km (cddr elt)) (and (stringp (car elt)) (setq str (car elt))) (and str - (stringp (cdr (car (cdr elt)))) ; keyseq cache - (setq cache (cdr (car (cdr elt)))) + (stringp (cdr-safe (cadr elt))) ; keyseq cache + (setq cache (cdr (cadr elt))) cache (setq str (concat str cache)))) ((eq (car-safe elt) 'menu-item) @@ -497,18 +497,17 @@ It uses the free variable `tmm-table-undef' to keep undefined keys." (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)))) + (setq km (cdr (cddr elt))) (and (stringp (car elt)) (setq str (car elt))) (and str - (stringp (cdr (car (cdr (cdr elt))))) ; keyseq cache + (stringp (cdr-safe (car (cddr elt)))) ; keyseq cache (setq cache (cdr (car (cdr (cdr elt))))) cache (setq str (concat str cache)))) ((stringp event) ; x-popup or x-popup element (if (or in-x-menu (stringp (car-safe elt))) (setq str event event nil km elt) - (setq str event event nil km (cons 'keymap elt)) - )))) + (setq str event event nil km (cons 'keymap elt)))))) (and km (stringp km) (setq str km)) ;; Verify that the command is enabled; ;; if not, don't mention it. -- 2.39.2