# HG changeset patch # User Chong Yidong # Date 1225313823 0 # Node ID 00ad633e13eea67270f1ff802c11bc2406ced1d3 # Parent 5b9d32d911713ab570a298ddf8320cd9d00ab6c7 (tmm-get-keymap): Handle case where keyseq cache is omitted. diff -r 5b9d32d91171 -r 00ad633e13ee lisp/tmm.el --- a/lisp/tmm.el Wed Oct 29 20:56:53 2008 +0000 +++ b/lisp/tmm.el Wed Oct 29 20:57:03 2008 +0000 @@ -462,11 +462,11 @@ (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 @@ (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.