changeset 99230:00ad633e13ee

(tmm-get-keymap): Handle case where keyseq cache is omitted.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 29 Oct 2008 20:57:03 +0000
parents 5b9d32d91171
children 9fb471c6cd8f
files lisp/tmm.el
diffstat 1 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- 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.