]> code.delx.au - gnu-emacs/blobdiff - lisp/map-ynp.el
(mark): Doc fix.
[gnu-emacs] / lisp / map-ynp.el
index c3cce3abc0772efd483b50380c7b1a939584fd82..c64b1c78ae15efa13746d6bb780fa2c88f2d6117 100644 (file)
@@ -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)
@@ -118,6 +118,11 @@ Returns the number of actions taken."
                       prompt user-keys
                       (key-description (char-to-string help-char)))
              (setq char (read-event)))
+           ;; Show the answer to the question.
+           (message "%s(y, n, !, ., q, %sor %s) %s"
+                    prompt user-keys
+                    (key-description (char-to-string help-char))
+                    (single-key-description char))
            (setq def (lookup-key map (vector char)))
            (cond ((eq def 'exit)
                   (setq next (function (lambda () nil))))
@@ -175,9 +180,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.