sc: Filling Cited Text

 
 6.2 Filling Cited Text
 ======================
 
 Supercite will automatically fill newly cited text from the original
 message unless the variable ‘sc-auto-fill-region-p’ has a ‘nil’ value.
 Supercite will also re-fill paragraphs when you manually cite or re-cite
 text.
 
    However, during normal editing, Supercite itself cannot be used to
 fill paragraphs.  This is a change from version 2.  There are other
 add-on lisp packages which do filling much better than Supercite ever
 did.  The two best known are “filladapt” and “gin-mode”.  Both work well
 with Supercite and both are available at the normal Emacs Lisp archive
 sites.  “gin-mode” works pretty well out of the box, but if you use
 “filladapt”, you may want to run the function ‘sc-setup-filladapt’ from
 your ‘sc-load-hook’.  This simply makes “filladapt” a little more
 Supercite savvy than its default setup.
 
    Also, Supercite will collapse leading whitespace between the citation
 string and the text on a line when the variable ‘sc-fixup-whitespace-p’
 is non-‘nil’.  The default value for this variable is ‘nil’.
 
    Its important to understand that Supercite’s automatic filling
 (during the initial citation of the reply) is very fragile.  That is
 because figuring out the ‘fill-prefix’ for a particular paragraph is a
 really hard thing to do automatically.  This is especially the case when
 the original message contains code or some other text where leading
 whitespace is important to preserve.  For this reason, many Supercite
 users typically run with ‘sc-auto-fill-region-p’ (and possibly also
 ‘sc-fixup-whitespace-p’) set to ‘nil’.  They then manually fill each
 cited paragraph in the reply buffer.
 
    I usually run with both these variables containing their default
 values.  When Supercite’s automatic filling breaks on a particular
 message, I will use Emacs’s undo feature to undo back before the
 citation was applied to the original message.  Then I’ll toggle the
 variables and manually cite those paragraphs that I don’t want to fill
 or collapse whitespace on.  SeeVariable Toggling Shortcuts.
 
    If you find that Supercite’s automatic filling is just too fragile
 for your tastes, you might consider one of these alternate approaches.
 Also, to make life easier, a shortcut function to toggle the state of
 both of these variables is provided on the key binding ‘C-c C-p C-p’
 (with the default value of ‘sc-mode-map-prefix’; SeePost-yank
 Formatting Commands).
 
    You will noticed that the minor mode string will show the state of
 these variables as qualifier characters.  When both variables are ‘nil’,
 the Supercite minor mode string will display ‘SC’.  When just
 ‘sc-auto-fill-region-p’ is non-‘nil’, the string will display ‘SC:f’,
 and when just ‘sc-fixup-whitespace-p’ is non-‘nil’, the string will
 display ‘SC:w’.  When both variables are non-‘nil’, the string will
 display ‘SC:fw’.  Note that the qualifiers chosen are mnemonics for the
 default bindings of the toggling function for each respective variable.
 SeeVariable Toggling Shortcuts.
 
    Why are these variables not set to ‘nil’ by default?  It is because
 many users won’t manually fill paragraphs that are Supercited, and there
 have been widespread complaints on the net about mail and news messages
 containing lines greater than about 72 characters.  So the default is to
 fill cited text.