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'
(Note: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.
`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 (Note: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 (Note:Point). No I/O.
`D'
A directory name. The default is the current default directory of
the current buffer, `default-directory' (Note:System
Environment). Existing, Completion, Default, Prompt.
`e'
The first or next mouse 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. Note:Input Events. No I/O.
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 Nth `e' provides the Nth 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 (Note:File Names). The default
directory is `default-directory'. Existing, Completion, Default,
Prompt.
`F'
A file name. The file need not exist. Completion, Default,
Prompt.
`i'
An irrelevant argument. This code always supplies `nil' as the
argument's value. No I/O.
`k'
A key sequence (Note:Keymap Terminology). 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.
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 (*note Input Methods:
(emacs)Input Methods.). Prompt.
`n'
A number read with the minibuffer. If the input is not a number,
the user is asked to try again. The prefix argument, if any, is
not used. Prompt.
`N'
The numeric prefix argument; but if there is no prefix argument,
read a number as with `n'. Requires a number. Note: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. No I/O.
`s'
Arbitrary text, read in the minibuffer and returned as a string
(Note: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. Any
whitespace character terminates the input. (Use `C-q' to include
whitespace in the string.) Other characters that normally
terminate a symbol (e.g., parentheses and brackets) do not do so
here. Prompt.
`v'
A variable declared to be a user option (i.e., satisfying the
predicate `user-variable-p'). Note:High-Level Completion.
Existing, Completion, Prompt.
`x'
A Lisp object, specified with its read syntax, terminated with a
`C-j' or <RET>. The object is not evaluated. Note:Object from
Minibuffer. Prompt.
`X'
A Lisp form is read as with `x', but then evaluated 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'. Note: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.