;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'seq) #@1286 Ask user a multiple choice question. PROMPT should be a string that will be displayed as the prompt. CHOICES is a list of (KEY NAME [DESCRIPTION]). KEY is a character to be entered. NAME is a short name for the entry to be displayed while prompting (if there's room, it might be shortened). DESCRIPTION is an optional longer explanation that will be displayed in a help buffer if the user requests more help. This function translates user input into responses by consulting the bindings in `query-replace-map'; see the documentation of that variable for more information. In this case, the useful bindings are `recenter', `scroll-up', and `scroll-down'. If the user enters `recenter', `scroll-up', or `scroll-down' responses, perform the requested window recentering or scrolling and ask again. When `use-dialog-box' is t (the default), this function can pop up a dialog window to collect the user input. That functionality requires `display-popup-menus-p' to return t. Otherwise, a text dialog will be used. The return value is the matching entry from the CHOICES list. Usage example: (read-multiple-choice "Continue connecting?" \='((?a "always") (?s "session only") (?n "no"))) (fn PROMPT CHOICES) (defalias 'read-multiple-choice #[514 "\306C\307\310\311\312\313\314\315\316 !\317\"\320\321%\322\323\"\324##\306\211\211\211\325 \312\326\327\315\316!\330\"\331$\216\212\204K\332\333\203<\334\202=\335#\210\336 \203a\203a :\203a\n\203a\337\340\n\341\342\f\"B\"\202p\3431n\340\344 )0\202p\210\306\262\345\f\316!\340#\262\346\267\202\325\347 \210\340\202\326\3501\223\351 0\202\227\210\202\230\210\340\202\326\3521\246\353 0\202\252\210\202\253\210\340\202\326\3541\271\355 0\202\275\210\202\276\210\340\202\326\3561\314\357 0\202\320\210\202\321\210\340\202\326\262\340=\203\344\306\262\306\262\306=\204.\236\204.\360>?\262\306\262\203\361 \210 \306\211\223\210\362@B\363ABA@\364 B\365\366!\211\262\367!\211C\306\211rq\210\370 \210\371!\210\f\372\261\210\373 \374\245\375D\326`\211\205\211@b\210\326U\204\212\376\"\326U\203dd\211\262b\210\202\212m\204\212\306\210\377\376\"D\201E\\_iZ\326]\201F\"c\210\201Gy\210\202dT\262\201H\201I!r\211q\210\312\326\201J\315\316!\201K\"\331$\216\307\201L@@\242\236A#c\210\201Med\"\210\3318\203\335`\3318c\210n\204\325\201Nc\210\201Md\"\266\201O *\262b\210\201P\201N\"\211\203\211@\306\210n\203\211\201N\261\210\202 \211c\210\201Gy\210A\266\202\202\357\266A\266\202\202B\262)\266\203)\262rq\210\201Q\306\"\262)\201R\201S!\203D\201S\"\210)\266*\202.*\210\201T!\203[\201U!\210\236\207" [last-input-event last-nonmenu-event use-dialog-box cursor-in-echo-area query-replace-map help-window-point-marker nil format "%s (%s): " mapconcat make-byte-code 257 "\211A@\301@\"\211\204\302\303@#\202G\304\305\306 \"\2030\307!\262\310\211T\311\312%\210\202G\313\314#\315\313\211T#\226\316\313T\"\260\300@B\300\242B\240\210\207" vconcat vector [seq-position format "[%c] %s" display-supports-face-attributes-p (:underline t) window-frame copy-sequence put-text-property face read-multiple-choice-face substring 0 "[" "]"] 10 "\n\n(fn ELEM)" append ((63 "?")) ", " current-window-configuration 0 "\301\300!\207" [set-window-configuration] 2 message "%s%s" "Invalid choice. " "" display-popup-menus-p x-popup-dialog t mapcar #[257 "\300A@!@B\207" [capitalize] 3 "\n\n(fn ELEM)"] (error) read-event lookup-key #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (recenter 130 scroll-up 137 scroll-down 156 scroll-other-window 175 scroll-other-window-down 194)) recenter (error) scroll-up-command (error) scroll-down-command (error) scroll-other-window (error) scroll-other-window-down (63 8) ding help-mode-setup help-mode-finish selected-frame get-buffer-create "*Multiple Choice Help*" temp-buffer-window-setup erase-buffer pop-to-buffer "\n\n" window-width 25 21 mod make-string temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output fill-column 4 32 1 generate-new-buffer " *temp*" "\301\300!\205 \302\300!\207" [buffer-name kill-buffer] "%c: %s\n" fill-region "\n" buffer-string split-string temp-buffer-window-show functionp help-window-setup buffer-live-p kill-buffer] 25 (#$ . 425)]) (provide 'rmc)