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
commit03329370c2fc00d94e446858d598c368df284284 (patch)
tree08b1e74fdc0faa45de967e2788d2de37f10a8368 /lisp/map-ynp.el
parent6c416012fee343ed2454beb5803df157e3b66984 (diff)
downloademacs-03329370c2fc00d94e446858d598c368df284284.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.