# HG changeset patch # User Roland McGrath # Date 733616433 0 # Node ID f692546797f94ab1a0bfbea4be73e0697b0fab07 # Parent 78098404b26304406ab81e9e3ce72b3b00d0159b (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. diff -r 78098404b263 -r f692546797f9 lisp/map-ynp.el --- 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.