Mercurial > emacs
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.