21.2.2 Code Characters for interactive
The code character descriptions below contain a number of key words, defined here as follows:
Completionβ
Provide completion. TAB
, SPC
, and RET
perform name completion because the argument is read using completing-read
(see Completion). ?
displays a list of possible completions.
Existingβ
Require the name of an existing object. An invalid name is not accepted; the commands to exit the minibuffer do not exit if the current input is not valid.
Defaultβ
A default value of some sort is used if the user enters no text in the minibuffer. The default depends on the code character.
No I/Oβ
This code letter computes an argument without reading any input. Therefore, it does not use a prompt string, and any prompt string you supply is ignored.
Even though the code letter doesnβt use a prompt string, you must follow it with a newline if it is not the last code character in the string.
Promptβ
A prompt immediately follows the code character. The prompt ends either with the end of the string or with a newline.
Specialβ
This code character is meaningful only at the beginning of the interactive string, and it does not look for a prompt or a newline. It is a single, isolated character.
Here are the code character descriptions for use with interactive
:
β*
β
Signal an error if the current buffer is read-only. Special.
β@
ββ
Select the window mentioned in the first mouse event in the key sequence that invoked this command. Special.
β^
ββ
If the command was invoked through shift-translation, set the mark and activate the region temporarily, or extend an already active region, before the command is run. If the command was invoked without shift-translation, and the region is temporarily active, deactivate the region before the command is run. Special.
βa
ββ
A function name (i.e., a symbol satisfying fboundp
). Existing, Completion, Prompt.
βb
ββ
The name of an existing buffer. By default, uses the name of the current buffer (see Buffers). Existing, Completion, Default, Prompt.
βB
ββ
A buffer name. The buffer need not exist. By default, uses the name of a recently used buffer other than the current buffer. Completion, Default, Prompt.
βc
ββ
A character. The cursor does not move into the echo area. Prompt.
βC
ββ
A command name (i.e., a symbol satisfying commandp
). Existing, Completion, Prompt.
βd
ββ
The position of point, as an integer (see Point). No I/O.
βD
ββ
A directory. The default is the current default directory of the current buffer, default-directory
(see File Name Expansion). Existing, Completion, Default, Prompt.
βe
ββ
The first or next non-keyboard event in the key sequence that invoked the command. More precisely, βe
β gets events that are lists, so you can look at the data in the lists. See Input Events. No I/O.
You use βe
β for mouse events and for special system events (see Misc Events). The event list that the command receives depends on the event. See Input Events, which describes the forms of the list for each event in the corresponding subsections.
You can use βe
β more than once in a single commandβs interactive specification. If the key sequence that invoked the command has n
events that are lists, the n
th βe
β provides the n
th such event. Events that are not lists, such as function keys and ASCII characters, do not count where βe
β is concerned.
βf
ββ
A file name of an existing file (see File Names). The default directory is default-directory
. Existing, Completion, Default, Prompt.
βF
ββ
A file name. The file need not exist. Completion, Default, Prompt.
βG
ββ
A file name. The file need not exist. If the user enters just a directory name, then the value is just that directory name, with no file name within the directory added. Completion, Default, Prompt.
βi
ββ
An irrelevant argument. This code always supplies nil
as the argumentβs value. No I/O.
βk
ββ
A key sequence (see Key Sequences). This keeps reading events until a command (or undefined command) is found in the current key maps. The key sequence argument is represented as a string or vector. The cursor does not move into the echo area. Prompt.
If βk
β reads a key sequence that ends with a down-event, it also reads and discards the following up-event. You can get access to that up-event with the βU
β code character.
This kind of input is used by commands such as describe-key
and global-set-key
.
βK
ββ
A key sequence, whose definition you intend to change. This works like βk
β, except that it suppresses, for the last input event in the key sequence, the conversions that are normally used (when necessary) to convert an undefined key into a defined one.
βm
ββ
The position of the mark, as an integer. No I/O.
βM
ββ
Arbitrary text, read in the minibuffer using the current bufferβs input method, and returned as a string (see Input Methods in The GNU Emacs Manual). Prompt.
βn
ββ
A number, read with the minibuffer. If the input is not a number, the user has to try again. βn
β never uses the prefix argument. Prompt.
βN
ββ
The numeric prefix argument; but if there is no prefix argument, read a number as with n
. The value is always a number. See Prefix Command Arguments. Prompt.
βp
ββ
The numeric prefix argument. (Note that this βp
β is lower case.) No I/O.
βP
ββ
The raw prefix argument. (Note that this βP
β is upper case.) No I/O.
βr
ββ
Point and the mark, as two numeric arguments, smallest first. This is the only code letter that specifies two successive arguments rather than one. This will signal an error if the mark is not set in the buffer which is current when the command is invoked. If Transient Mark mode is turned on (see The Mark) β as it is by default β and user option mark-even-if-inactive
is nil
, Emacs will signal an error even if the mark is set, but is inactive. No I/O.
βs
ββ
Arbitrary text, read in the minibuffer and returned as a string (see Text from Minibuffer). Terminate the input with either C-j
or RET
. (C-q
may be used to include either of these characters in the input.) Prompt.
βS
ββ
An interned symbol whose name is read in the minibuffer. Terminate the input with either C-j
or RET
. Other characters that normally terminate a symbol (e.g., whitespace, parentheses and brackets) do not do so here. Prompt.
βU
ββ
A key sequence or nil
. Can be used after a βk
β or βK
β argument to get the up-event that was discarded (if any) after βk
β or βK
β read a down-event. If no up-event has been discarded, βU
β provides nil
as the argument. No I/O.
βv
ββ
A variable declared to be a user option (i.e., satisfying the predicate custom-variable-p
). This reads the variable using read-variable
. See Definition of read-variable. Existing, Completion, Prompt.
βx
ββ
A Lisp object, specified with its read syntax, terminated with a C-j
or RET
. The object is not evaluated. See Object from Minibuffer. Prompt.
βX
ββ
A Lisp formβs value. βX
β reads as βx
β does, then evaluates the form so that its value becomes the argument for the command. Prompt.
βz
ββ
A coding system name (a symbol). If the user enters null input, the argument value is nil
. See Coding Systems. Completion, Existing, Prompt.
βZ
ββ
A coding system name (a symbol)βbut only if this command has a prefix argument. With no prefix argument, βZ
β provides nil
as the argument value. Completion, Existing, Prompt.