1 ;; 15-supercite-sy.el --- Mail citing Settings -*- Emacs-Lisp -*-
3 ;; Copyright (C) 2007 - 2013 Steve Youngs
5 ;; Author: Steve Youngs <steve@sxemacs.org>
6 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
7 ;; Created: <2007-12-02>
8 ;; Time-stamp: <Saturday Aug 17, 2013 11:29:15 steve>
9 ;; Download: <http://bastard.steveyoungs.com/~steve/SXEmacs/inits/>
10 ;; HTMLised: <http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/15-supercite-sy.html>
11 ;; Git Repo: git clone http://git.sxemacs.org/syinit
12 ;; Keywords: init, compile
14 ;; This file is part of SYinit
16 ;; Redistribution and use in source and binary forms, with or without
17 ;; modification, are permitted provided that the following conditions
20 ;; 1. Redistributions of source code must retain the above copyright
21 ;; notice, this list of conditions and the following disclaimer.
23 ;; 2. Redistributions in binary form must reproduce the above copyright
24 ;; notice, this list of conditions and the following disclaimer in the
25 ;; documentation and/or other materials provided with the distribution.
27 ;; 3. Neither the name of the author nor the names of any contributors
28 ;; may be used to endorse or promote products derived from this
29 ;; software without specific prior written permission.
31 ;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
32 ;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
33 ;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34 ;; DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
35 ;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
36 ;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37 ;; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
38 ;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39 ;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
40 ;; OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
41 ;; IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 ;; Setting up citing in Gnus with Supercite.
50 ;; The HTML version of this file was created with Hrvoje Niksic's
51 ;; htmlize.el which is part of the XEmacs "text-modes" package.
62 ;; There is a screw-up in the Gnus autoloads that prevents this from
64 (defun time-to-seconds (time)
65 "Convert time value TIME to a floating point number."
66 (with-decoded-time-value ((high low micro pico type time))
69 (/ (+ (* micro 1e6) pico) 1e12))))
71 (defun sy-september-citation-line ()
73 (whofrom (sc-whofrom)))
75 (insert sc-reference-tag-string
79 (time-to-days (mail-header-parse-date
80 (sc-mail-field "date")))
81 (time-to-days (encode-time 0 0 0 01 09 1993))))
83 (sc-mail-field "sc-author")
86 (setq sc-rewrite-header-list
89 (sc-header-inarticle-writes)
90 (sc-header-regarding-adds)
91 (sc-header-attributed-writes)
92 (sc-header-author-writes)
94 (sc-no-blank-line-or-header)
95 (sc-header-author-email-writes)
96 (sy-september-citation-line)))
98 (setq sc-preferred-attribution-list
109 message-cite-function 'sc-cite-original
110 sc-confirm-always-p nil
111 sc-preferred-header-style 8
112 sc-auto-fill-region-p nil
113 sc-fixup-whitespace-p nil
114 sc-electric-references-p t
115 sc-cite-blank-lines-p nil
116 sc-nested-citation-p t
117 sc-citation-leader " "
118 sc-citation-separator " "
119 sc-reference-tag-string ""
120 sc-citation-delimiter "> "
121 sc-extract-address-components 'gnus-extract-address-components)
123 (defun sy-sc-remove-signature ()
124 "Removes the signature from the original message.
126 To use, hang it off the appropriate hook such as `sc-pre-hook' so
127 you're not citing useless stuff."
129 (let ((start (point))
131 (sig-sep gnus-signature-separator)
135 (when (re-search-backward (car sig-sep) start t)
137 (while (looking-at "[ \t]*$")
140 (setq mark (set-marker (make-marker) (point)))
141 (delete-region mark (mark t)))
142 (setq sig-sep (cdr sig-sep))))))
144 (add-hook 'sc-load-hook 'sc-setup-filladapt)
145 (add-hook 'sc-pre-hook 'sy-sc-remove-signature)
146 (add-hook 'mail-citation-hook 'sc-cite-original)
148 ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
149 (message "Supercite settings loaded successfully")