summaryrefslogtreecommitdiff
path: root/lisp/map-ynp.el
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1993-03-31 22:20:33 +0000
committerRoland McGrath <roland@gnu.org>1993-03-31 22:20:33 +0000
commit7e237bc1be61a44001c9c9bfb4acb9ee226a0606 (patch)
tree3441f8402d4ef308be65c87d2b28f6c37c415f5f /lisp/map-ynp.el
parent9533867a64112e81c4d4bbaca5d61c26728a7e49 (diff)
downloademacs-7e237bc1be61a44001c9c9bfb4acb9ee226a0606.tar.gz
(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.
Diffstat (limited to 'lisp/map-ynp.el')
-rw-r--r--lisp/map-ynp.el12
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/map-ynp.el b/lisp/map-ynp.el
index c3cce3abc07..22e9973cb01 100644
--- a/lisp/map-ynp.el
+++ b/lisp/map-ynp.el
@@ -80,11 +80,11 @@ Returns the number of actions taken."
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 @@ the current %s and exit."
(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.