Executing sc-cite-original
performs the following steps as it
initializes the reply buffer:
sc-pre-hook
.
This hook variable is run before sc-cite-original
does 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
the variable sc-mode-map-prefix
. By default, this variable is
set to C-c C-p
; a finger twister perhaps, but unfortunately the
best default due to the scarcity of available key bindings in many MUAs.
sc-mail-warn-if-non-rfc822-p
is
non-nil
, then Supercite will warn you if it finds a mail header
that does not conform to RFC 822 (or later).
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 'all
, you
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 'keep
.
If sc-nuke-mail-headers
is set to 'specified
or
'keep
, then the variable sc-nuke-mail-header-list
is
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-nil
,
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.
If 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.
The variable sc-cite-blank-lines-p
controls whether blank lines
in the original message should be cited or not. If this variable is
non-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-original
is finished. This hook is provided mostly
for completeness and backward compatibility. Perhaps it could be used to
reset certain variables set in sc-pre-hook
.