Extended Interactive
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.
‘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.