Supercite Version 3.1 User's Manual. Node: Overloading for Non-conforming MUAs

PREV GNEWS with any Emacsen UP Getting Connected NEXT Replying and Yanking

5.6: Overloading for Non-conforming MUAs

As mentioned elsewhere, some MUAs do not provide the necessary hooks to connect with Supercite. Supercite version 3.1 provides an unsupported mechanism, called overloading which redefines certain key functions in the MUA, so that it will call the mail-citation-hook variable instead of the MUA's default hard-coded citing routines. Since most newer versions of the known MUAs support the mail-citation-hook variable, it is recommended that you upgrade if at all possible. But if you can't upgrade, at least you're not out of luck! Once you set up overloading properly, you should follow the directions for connecting Supercite to the Emacs 19 MUAs. See Emacs 19 MUAs.

Users of Bob Weiner's Hyperbole package take note. Hyperbole provides the necessary overloads (and a whole lot more!) and you can potentially clobber it if you were to load Supercite's overloading after Hyperbole's. For this reason, Supercite will not perform any overloading if it finds the variable hyperb:version is boundp (i.e. it exists because Hyperbole has been loaded into your Emacs session). If this is the case, Supercite will display a warning message in the minibuffer. You should consult the Hyperbole manual for further details.

Overloading involves the re-definition of the citing function with the new, mail-citation-hook savvy version. The function in `sc-oloads.el' that does this is sc-perform-overloads. This function is smart enough to only overload the MUA functions when it is absolutely necessary, based on the version numbers it can figure out. Also, sc-perform-overloads will only install the new functions once. It is also smart enough to do nothing if the MUA is not yet loaded.

The tricky part is finding the right time and place to perform the overloading. It must be done after the MUA has been loaded into your Emacs session, but before the first time you try to yank in a message. Fortunately, this has been figured out for you.

If you must overload, you should put the following lisp code in your `.emacs' file, to make sure the `sc-oloads.el' file gets loaded at the right time:

(autoload 'sc-perform-overloads "sc-oloads" "Supercite 3.1" t)

Then you must make sure that the function sc-perform-overloads gets run at the right time. For GNUS, put this in your `.emacs' file:

(setq news-reply-mode-hook 'sc-perform-overloads)
(setq mail-setup-hook 'sc-perform-overloads)

If you are using RNEWS, put this in your `.emacs' file:

(setq news-reply-mode-hook 'sc-perform-overloads)

If you are using RMAIL or PCMAIL, put this in your `.emacs' file:

(setq mail-setup-hook 'sc-perform-overloads)

If you are using GNEWS, put this in your `.emacs' file:

(setq news-reply-mode-hook 'sc-perform-overloads)
(setq gnews-ready-hook 'sc-perform-overloads)

Now go back and follow the directions for getting the Emacs 19 MUAs connected to Supercite. Be sure to see Emacs 18 MUAs on substitutes for Emacs 19's add-hook function.

PREV GNEWS with any Emacsen UP Getting Connected NEXT Replying and Yanking