Gnus extends the standard Emacs interactive
specification
slightly to allow easy use of the symbolic prefix (see Symbolic Prefixes). Here’s an example of how this is used:
(defun gnus-summary-increase-score (&optional score symp) (interactive (gnus-interactive "P\ny")) ... )
The best thing to do would have been to implement
gnus-interactive
as a macro which would have returned an
interactive
form, but this isn’t possible since Emacs checks
whether a function is interactive or not by simply doing an assq
on the lambda form. So, instead we have gnus-interactive
function that takes a string and returns values that are usable to
interactive
.
This function accepts (almost) all normal interactive
specs, but
adds a few more.
The current symbolic prefix—the gnus-current-prefix-symbol
variable.
A list of the current symbolic prefixes—the
gnus-current-prefix-symbol
variable.
The current article number—the gnus-summary-article-number
function.
The current article header—the gnus-summary-article-header
function.
The current group name—the gnus-group-group-name
function.