12.6.7 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.