;; Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-;; Author: Roland McGrath <roland@gnu.ai.mit.edu>
+;; Author: Roland McGrath <roland@gnu.org>
+;; Maintainer: FSF
;; Keywords: lisp, extensions
;; This file is part of GNU Emacs.
;; map-y-or-n-p is a general-purpose question-asking function.
;; It asks a series of y/n questions (a la y-or-n-p), and decides to
-;; applies an action to each element of a list based on the answer.
+;; apply an action to each element of a list based on the answer.
;; The nice thing is that you also get some other possible answers
;; to use, reminiscent of query-replace: ! to answer y to all remaining
;; questions; ESC or q to answer n to all remaining questions; . to answer
(message "%s(y, n, !, ., q, %sor %s) "
prompt user-keys
(key-description (vector help-char)))
- (setq char (read-event))
+ (if minibuffer-auto-raise
+ (raise-frame (window-frame (minibuffer-window))))
+ (while (progn
+ (setq char (read-event))
+ ;; If we get -1, from end of keyboard
+ ;; macro, try again.
+ (equal char -1)))
;; Show the answer to the question.
(message "%s(y, n, !, ., q, %sor %s) %s"
prompt user-keys
(concat
(format "Type SPC or `y' to %s the current %s;
DEL or `n' to skip the current %s;
+RET or `q' to exit (skip all remaining %s);
! to %s all remaining %s;
ESC or `q' to exit;\n"
- action object object action objects)
+ action object object objects action
+ objects)
(mapconcat (function
(lambda (elt)
(format "%c to %s"