| Server IP : 217.160.0.135 / Your IP : 216.73.217.37 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/emacs-lisp/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(require 'seq)
#@2045 Ask user to select an entry from CHOICES, promting with PROMPT.
This function allows to ask the user a multiple-choice question.
CHOICES should be a list of the form (KEY NAME [DESCRIPTION]).
KEY is a character the user should type to select the entry.
NAME is a short name for the entry to be displayed while prompting
(if there's no room, it might be shortened).
DESCRIPTION is an optional longer description of the entry; it will
be displayed in a help buffer if the user requests more help. This
help description has a fixed format in columns. For greater
flexibility, instead of passing a DESCRIPTION, the caller can pass
the optional argument HELP-STRING. This argument is a string that
should contain a more detailed description of all of the possible
choices. `read-multiple-choice' will display that description in a
help buffer if the user requests that.
This function translates user input into responses by consulting
the bindings in `query-replace-map'; see the documentation of
that variable for more information. The relevant bindings for the
purposes of this function are `recenter', `scroll-up', `scroll-down',
and `edit'.
If the user types the `recenter', `scroll-up', or `scroll-down'
responses, the function performs the requested window recentering or
scrolling, and then asks the question again. If the user enters `edit',
the function starts a recursive edit. When the user exit the recursive
edit, the multiple-choice prompt gains focus again.
When `use-dialog-box' is t (the default), and the command using this
function was invoked via the mouse, this function pops up a GUI dialog
to collect the user input, but only if Emacs is capable of using GUI
dialogs. Otherwise, the function will always use text-mode dialogs.
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 &optional HELP-STRING)
(defalias 'read-multiple-choice #[770 "\306C\307\310\311\312\313\"\314\315\"\316##\306\211\211\211\317 \312\320\"\216\212\204\235\321\322\203- \323\202. \324#\210\325 \203R \203R :\203R \n\203R \326\327\330\331
\"B\"\202a \3321_ \327\333 )0\202a \210\306\262\334\f\335!\327#\262\336\267\202\341 \337 \210\327\202\342 \3401\205 \341 0\210\202\212 \210\202\212 \210\327\202\342 \3421\231 \343 0\210\202\236 \210\202\236 \210\327\202\342 \3441\255 \345 0\210\202\262 \210\202\262 \210\327\202\342 \3461\301 \347 0\210\202\306 \210\202\306 \210\327\202\342 \350 \312\351\"\216\212\321\352\353\354!\"\210\355 *\262\202\342 \262\327=\203\360 \306\262\306\262\203 \236\204 \356
D>?\262\306\262\203
\357 \210\360\361!\262;\203^@\306\211\223\210\362AB\363BBBA\364 C\365!\211D\306\211rq\210\nc)\262rq\210\366\306\"\262)\367\370!\203W\370\"\210)\266*\202 @\306\211\223\210\362AB\363BBBA\364 C\365!\211D\306\211rq\210\371 \210\372!\210\f\373\261\210\374 \375\245\376E\377`\211\205x\211@b\210\377U\204\350\201F \"\377U\203\276d\211\262b\210\202\350m\204\350\306\210\201G \201F \"E\201H \\_iZ\377]\201I \"c\210\201J y\210\202\276T\262\201K \201L \327\"r\211q\210\312\201M \"\216\307\201N @@\242\236A#c\210\201O ed\"\210\201P 8\2037`\201P 8c\210n\204/\201Q c\210\201O d\"\266\201R *\262b\210\201S \201Q \"\211\203o\211@\306\210n\203`\211\201Q \261\210\202c\211c\210\201J y\210A\266\202\202I\266A\266\202\202\232\262)\266\203)\262rq\210\366\306\"\262)\367\370!\203\226\370\"\210)\266*\202 *\210\201T !\203\255\201U !\210\236\207" [last-input-event last-nonmenu-event use-dialog-box cursor-in-echo-area query-replace-map help-char nil format "%s (%s): " mapconcat make-closure #[257 "\211A@\301@\"\211\204 \302\303@#\202C \304\305\306 \"\2030 \307!\262\310\211T\311\312%\210\202C \313O\314\211TO\226\315T\316O\260\300@B\300\242B\240\210\207" [V0 seq-position format "[%c] %s" display-supports-face-attributes-p (:underline t) window-frame copy-sequence put-text-property face read-multiple-choice-face 0 "[" "]" nil] 10 "\n\n(fn ELEM)"] append ((63 "?")) ", " current-window-configuration #[0 "\301\300!\207" [V0 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 vector #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (recenter 115 scroll-up 122 scroll-down 142 scroll-other-window 162 scroll-other-window-down 182 edit 202)) recenter (error) scroll-up-command (error) scroll-down-command (error) scroll-other-window (error) scroll-other-window-down match-data #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] "%s" substitute-command-keys "Recursive edit; type \\[exit-recursive-edit] to return to help screen" recursive-edit 63 ding get-buffer-create "*Multiple Choice Help*" help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup temp-buffer-window-show functionp help-window-setup erase-buffer pop-to-buffer "\n\n" window-width 25 21 0 help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame standard-output fill-column mod make-string 4 32 1 generate-new-buffer " *temp*" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] "%c: %s\n" fill-region 2 "\n" buffer-string split-string buffer-live-p kill-buffer] 24 (#$ . 101)])
(provide 'rmc)