changeset 2442:f692546797f9

(map-y-or-n-p): Make bindings of user-defined keys be each a vector containing the user's binding, rather than 'user. Check (vectorp DEF) and call the vector's elt, rather than checking (eq 'user DEF) and calling something completely random.
author Roland McGrath <roland@gnu.org>
date Wed, 31 Mar 1993 22:20:33 +0000
parents 78098404b263
children fa26210d3028
files lisp/map-ynp.el
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/map-ynp.el	Wed Mar 31 21:25:06 1993 +0000
+++ b/lisp/map-ynp.el	Wed Mar 31 22:20:33 1993 +0000
@@ -80,11 +80,11 @@
 					   action-alist ", ")
 				" ")
 		      ""))
-	 ;; Make a map that defines all the user keys as `user'.
+	 ;; Make a map that defines each user key as a vector containing
+	 ;; its definition.
 	 (map (cons 'keymap
-		    (append (mapcar (function
-				     (lambda (elt)
-				       (cons (car elt) 'user)))
+		    (append (mapcar (lambda (elt)
+				      (cons (car elt) (vector (nth 1 elt))))
 				    action-alist)
 			    query-replace-map)))
 	 (actions 0)
@@ -175,9 +175,9 @@
 		   (setq next (` (lambda ()
 				   (setq next '(, next))
 				   '(, elt)))))
-		  ((eq def 'user)
+		  ((vectorp def)
 		   ;; A user-defined key.
-		   (if (funcall (nth 1 tail) elt) ;Call its function.
+		   (if (funcall (aref def 0) elt) ;Call its function.
 		       ;; The function has eaten this object.
 		       (setq actions (1+ actions))
 		     ;; Regurgitated; try again.