gnus: Extended Interactive
11.7.7 Extended Interactive
---------------------------
Gnus extends the standard Emacs ‘interactive’ specification slightly to
allow easy use of the symbolic prefix (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.
‘y’
The current symbolic prefix—the ‘gnus-current-prefix-symbol’
variable.
‘Y’
A list of the current symbolic prefixes—the
‘gnus-current-prefix-symbol’ variable.
‘A’
The current article number—the ‘gnus-summary-article-number’
function.
‘H’
The current article header—the ‘gnus-summary-article-header’
function.
‘g’
The current group name—the ‘gnus-group-group-name’ function.