diff lisp/tmm.el @ 21688:855aedeb0742

(tmm-get-keymap): Handle new format menu item w/o cache. (tmm-prompt): If reach an empty menu, get an error.
author Richard M. Stallman <rms@gnu.org>
date Tue, 21 Apr 1998 04:51:23 +0000
parents 8a45c0e518fa
children e71c5e32d385
line wrap: on
line diff
--- a/lisp/tmm.el	Tue Apr 21 04:03:16 1998 +0000
+++ b/lisp/tmm.el	Tue Apr 21 04:51:23 1998 +0000
@@ -176,6 +176,8 @@
 	;; This way we only ask the user one question,
 	;; for which element of that pane.
 	(setq choice (cdr (car tmm-km-list)))
+      (unless tmm-km-list
+	(error "Empty menu reached"))
       (and tmm-km-list
 	   (let ((index-of-default 0))
 	     (if tmm-mid-prompt
@@ -220,7 +222,7 @@
 	   (string= (substring out 0 (length tmm-c-prompt)) tmm-c-prompt)
 	   (setq out (substring out (length tmm-c-prompt))
 		 choice (cdr (assoc out tmm-km-list))))
-      (and (null choice)
+      (and (null choice) out
 	   (setq out (try-completion out tmm-km-list)
 		 choice (cdr (assoc  out tmm-km-list)))))
     ;; CHOICE is now (STRING . MEANING).  Separate the two parts.
@@ -426,6 +428,7 @@
 	       (setq km (nth 2 elt))
 	       (setq str (nth 1 elt))
 	       (and str
+		    (consp (nth 3 elt))
 		    (stringp (cdr (car (nth 3 elt)))) ; keyseq cache
 		    (setq cache (cdr (car (nth 3 elt))))
 		    cache