;ELC   
;;; Compiled by rms@psilocin.gnu.org on Sun Mar  8 18:44:25 1998
;;; from file /gd/gnu/emacs/lisp/map-ynp.el
;;; in Emacs version 20.2.89.6
;;; with bytecomp version 2.38
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`map-ynp.el' was compiled for Emacs 19.29 or later"))


#@1922 Ask a series of boolean questions.
Takes args PROMPTER ACTOR LIST, and optional args HELP and ACTION-ALIST.

LIST is a list of objects, or a function of no arguments to return the next
object or nil.

If PROMPTER is a string, the prompt is (format PROMPTER OBJECT).  If not
a string, PROMPTER is a function of one arg (an object from LIST), which
returns a string to be used as the prompt for that object.  If the return
value is not a string, it may be nil to ignore the object or non-nil to act
on the object without asking the user.

ACTOR is a function of one arg (an object from LIST),
which gets called with each object that the user answers `yes' for.

If HELP is given, it is a list (OBJECT OBJECTS ACTION),
where OBJECT is a string giving the singular noun for an elt of LIST;
OBJECTS is the plural noun for elts of LIST, and ACTION is a transitive
verb describing ACTOR.  The default is ("object" "objects" "act on").

At the prompts, the user may enter y, Y, or SPC to act on that object;
n, N, or DEL to skip that object; ! to act on all following objects;
ESC or q to exit (skip all following objects); . (period) to act on the
current object and then exit; or \[help-command] to get help.

If ACTION-ALIST is given, it is an alist (KEY FUNCTION HELP) of extra keys
that will be accepted.  KEY is a character; FUNCTION is a function of one
arg (an object from LIST); HELP is a string.  When the user hits KEY,
FUNCTION is called.  If it returns non-nil, the object is considered
"acted upon", and the next object from LIST is processed.  If it returns
nil, the prompt is repeated for the same object.

Final optional argument NO-CURSOR-IN-ECHO-AREA non-nil says not to set
`cursor-in-echo-area' while prompting.

This function uses `query-replace-map' to define the standard responses,
but not all of the responses which `query-replace' understands
are meaningful here.

Returns the number of actions taken.
(defalias 'map-y-or-n-p #[(prompter actor list &optional help action-alist no-cursor-in-echo-area) "\306\307\307\307\307\307\307@\307A\307B\307C\307DE\203& E9\204B \310E!\204B \311E!\204B E:\203F E@\312=\203F \313\202G \314;F<\203\241 \315=@!\315=A@!\315\316=8!GHI\317\320\321=\203x G\322I\323R\202y \324\325B=\203\211 G\326HQ\202\212 \327\330B\331\332J\"BBBBB\333CF+\202\277 J\203\261 \334\335J\336#\322P\202\262 \337\340\341\331\342J\"K\"B\343\216L;\203\322 \312\344\345L\346BBEL; \203\351L@!\211;\203\331\307MC\203\377 \347\n\206\362 C\fB\"\206\372 \350B\202:N?\307OP\351\352\f	\353\354Q!!$\210R\203\355\356\357 !!\210\360 \351\361\f	\353\354Q!!\362!%\210*\363\354!\"BB\364=\203H\365\211;\202\324 B\366=\203[S@!\210T\202\322 B\367=\204\322 B\325=\203yS@!\210T\370\211;\202\324 B\350=\204\207B\371=\203\236\333M\312\307\372\373\374;DE\374@DF\211;\202\324 B\330=\203\320L@!\203\266S@!\210T; \203\322 L@!\203\266S@!\210T\202\266B\375=\203Z\376\220\377=\203\345=@\202\350\201U =\203\364=A@\202\367\201V =\203\316=8\202\201W GHI\345\201X GI\211GH&\334\201Y J\201Z #J\205-\201Z \345\201[ GI#R+!\210\212Tq\210\201\\  )\221\210\312\307\372\373\374;DE\374@DF\211;\202\324 \201] B!\203\207B\306H@!\203sT\202\322 \312\307\372\373\374;DE\374@DF\211;\202\324 :\203\254@\201^ =\203\254D\312\307\372\373\374;DE\374@DF\211;\202\324 \351\201_ \353\354Q!!\"\210\201`  \210\201a \201b !\210\312\307\372\373\374;DE\374@DF\211;\202\324 \f\203\322 S@!\210T\202\322 )\307O\351\337!\210).\f\207" [actions user-keys mouse-event map prompt char 0 nil subrp byte-code-function-p lambda #[nil " \211\207" [list elt] 2] #[nil "\205 @A\302\207" [list elt t] 1] capitalize 2 ("Yes" . act) ("No" . skip) ("Quit" . exit) " " " And Quit" "Do it and Quit" act-and-exit " All " "Do All" automatic mapcar #[(elt) "\301\3028!\303A@!B\207" [elt capitalize 2 vector] 3] t mapconcat #[(elt) "\301\302@!!\207" [elt key-description char-to-string] 3] ", " "" keymap append #[(elt) "@\301A@!B\207" [elt vector] 3] ((byte-code "\203 	B\302\207" [delayed-switch-frame unread-command-events nil] 2)) (object) format (object) x-popup-dialog quit message "%s(y, n, !, ., q, %sor %s) " key-description vector raise-frame window-frame minibuffer-window read-event "%s(y, n, !, ., q, %sor %s) %s" single-key-description lookup-key exit #[nil "\300\207" [nil] 1] act skip #[nil "\300\207" [nil] 1] exit-prefix setq next quote help "*Help*" princ elt tail def use-menus delayed-switch-frame list last-nonmenu-event action objects object action-alist query-replace-map prompter quit-flag no-cursor-in-echo-area message-log-max cursor-in-echo-area help-char minibuffer-auto-raise actor standard-output "object" "objects" "act on" "Type SPC or `y' to %s the current %s;\nDEL or `n' to skip the current %s;\n! to %s all remaining %s;\nESC or `q' to exit;\n" #[(elt) "\301\302@\3038#\207" [elt format "%c to %s" 2] 5] ";\n" "or . (period) to %s the current %s and exit." help-mode vectorp switch-frame "Type %s for help." beep sit-for 1] 10 (#$ . 531)])
