Next: Thanks and History, Previous: Post-yank Formatting Commands, Up: Top [Contents][Index]
In June of 1989, some discussion was held between the various MUA authors, the Supercite author, and other Supercite users. These discussions centered around the need for a standard interface between MUAs and Supercite (or any future Supercite-like packages). This interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in a mail message to the Supercite mailing list:
Martin> Each news/mail-reader should provide a form of
Martin> mail-yank-original that
Martin> 1: inserts the original message incl. header into the
Martin> reply buffer; no indentation/prefixing is done, the header
Martin> tends to be a "full blown" version rather than to be
Martin> stripped down.
Martin> 2: 'point' is at the start of the header, 'mark' at the
Martin> end of the message body.
Martin> 3: (run-hooks 'mail-yank-hooks)
Martin> [Supercite] should be run as such a hook and merely
Martin> rewrite the message. This way it isn't anymore
Martin> [Supercite]'s job to gather the original from obscure
Martin> sources. […]
This specification was adopted, but underwent a slight modification with
the release of Emacs 19. Instead of the variable
mail-yank-hooks, the hook variable that the MUA should provide is
mail-citation-hook. Richard Stallman suggests that the MUAs
should defvar mail-citation-hook to nil and perform
some default citing when that is the case.
If you are writing a new MUA package, or maintaining an existing MUA package, you should make it conform to this interface so that your users will be able to link Supercite easily and seamlessly. To do this, when setting up a reply or forward buffer, your MUA should follow these steps:
mail-header-separator line and one copy below, however
there will probably be more headers below this line.
mail-citation-hook. You will probably want to
provide some kind of default citation functions in cases where the user
does not have Supercite installed. By default, your MUA should
defvar mail-citation-hook to nil, and in your
yanking function, check its value. If it finds
mail-citation-hook to be nil, it should perform some
default citing behavior. User who want to connect to Supercite then
need only add sc-cite-original to this list of hooks using
add-hook.
If you do all this your MUA will join the ranks of those that conform to this interface “out of the box.”
Next: Thanks and History, Previous: Post-yank Formatting Commands, Up: Top [Contents][Index]