sc-cite-original performs the following steps as it
initializes the reply buffer:
sc-pre-hook. This hook variable is run before
sc-cite-originaldoes any other work. You could conceivably use this hook to set certain Supercite variables based on the reply buffer's mode or name (i.e., to do something different based on whether you are replying or following up to an article).
You can control what key Supercite uses as its keymap prefix by changing
sc-mode-map-prefix. By default, this variable is
C-c C-p; a finger twister perhaps, but unfortunately the
best default due to the scarcity of available key bindings in many MUAs.
nil, then Supercite will warn you if it finds a mail header that does not conform to RFC822. This is rare and indicates a problem either with your MUA or the original author's MUA, or some MTA (mail transport agent) along the way.
Once the info keys have been extracted from the mail headers, the headers are nuked from the reply buffer. You can control exactly which headers are removed or kept, but by default, all headers are removed.
There are two variables which control mail header nuking. The variable
sc-nuke-mail-headers controls the overall behavior of the header
nuking routines. By setting this variable to
automatically nuke all mail headers. Likewise, setting this variable to
'none inhibits nuking of any mail headers. In between these
extremes, you can tell Supercite to nuke only a specified list of mail
headers by setting this variable to
'specified, or to keep only a
specified list of headers by setting it to
sc-nuke-mail-headers is set to
'keep, then the variable
consulted for the list of headers to nuke or keep. This variable
contains a list of regular expressions. If the mail header line matches
a regular expression in this list, the header will be nuked or kept.
The line is matched against the regexp using
looking-at rooted at
the beginning of the line.
If the variable
sc-blank-lines-after-headers is non-
it contains the number of blank lines remaining in the buffer after mail
headers are nuked. By default, only one blank line is left in the buffer.
sc-cite-region-limit. If this variable contains an integer, messages with more lines that this will not be cited at all, and a warning message will be displayed. Supercite has performed everything necessary, though, for you to manually cite only the small portion of the original message that you want to use.
sc-cite-region-limit contains a non-
nil value, the
original message will always be cited, regardless of its size. If the
variable contains the value
nil, the region will never be cited
automatically. Use this if you always want to be able to edit and cite
the message manually.
sc-cite-blank-lines-p controls whether blank lines
in the original message should be cited or not. If this variable is
nil, blank lines will be cited just like non-blank lines.
Otherwise, blank lines will be treated as paragraph separators.
Citing of the original message is highly configurable. Supercite's default setup does a pretty good job of citing many common forms of previously cited messages. But there are as many citation styles out there as people on the net, or just about! It would be impossible for Supercite to anticipate every style in existence, and you probably wouldn't encounter them all anyway. But you can configure Supercite to recognize those styles you see often. See Configuring the Citation Engine, for details.
sc-post-hook. This variable is very similar to
sc-pre-hook, except that it runs after
sc-cite-originalis finished. This hook is provided mostly for completeness and backward compatibility. Perhaps it could be used to reset certain variables set in