;;; supercite.el --- minor mode for citing mail and news replies
-;; Copyright (C) 1993, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-;; 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1997, 2001-2014 Free Software Foundation, Inc.
;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
-;; Maintainer: Glenn Morris <rgm@gnu.org>
-;; Created: February 1993
+;; Maintainer: emacs-devel@gnu.org
+;; Created: February 1993
;; Keywords: mail, news
;; This file is part of GNU Emacs.
\f
(require 'regi)
-(require 'sendmail) ;; For mail-header-end.
;; start user configuration variables
;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;; end user configuration variables
\f
-(define-obsolete-variable-alias 'sc-version 'emacs-version "23.1")
-
(defvar sc-mail-info nil
"Alist of mail header information gleaned from reply buffer.")
(defvar sc-attributions nil
(define-key map "r" 'sc-recite-region)
(define-key map "\C-p" 'sc-raw-mode-toggle)
(define-key map "u" 'sc-uncite-region)
- (define-key map "v" 'sc-version)
(define-key map "w" 'sc-insert-reference)
(define-key map "\C-t" sc-T-keymap)
- (define-key map "\C-b" 'sc-submit-bug-report)
(define-key map "?" 'sc-describe)
map)
"Keymap for Supercite quasi-mode.")
"Does nothing. Use this instead of nil to get a blank header."
())
-(defun sc-no-blank-line-or-header()
+(declare-function mh-in-header-p "mh-utils" ())
+
+(defun sc-no-blank-line-or-header ()
"Similar to `sc-no-header' except it removes the preceding blank line."
- (if (not (bobp))
- (if (and (eolp)
- (progn (forward-line -1)
- (or (= (point) (mail-header-end))
- (and (eq major-mode 'mh-letter-mode)
- (with-no-warnings
- (mh-in-header-p))))))
- (progn (forward-line)
- (let ((kill-lines-magic t))
- (kill-line))))))
+ (and (not (bobp))
+ (eolp)
+ (progn (forward-line -1)
+ (or (= (point)
+ (save-excursion
+ (rfc822-goto-eoh)
+ (line-beginning-position 2)))
+ (and (eq major-mode 'mh-letter-mode)
+ (mh-in-header-p))))
+ (progn
+ (forward-line)
+ (kill-line))))
(defun sc-header-on-said ()
"\"On <date>, <from> said:\" unless:
(cadr err) sc-eref-style)
(beep))))))
-(defun sc-electric-mode (&optional arg)
- "
-Mode for viewing Supercite reference headers. Commands are:
+(defun sc-electric-mode (&optional style)
+ "Mode for viewing Supercite reference headers. Commands are:
\n\\{sc-electric-mode-map}
`sc-electric-mode' is not intended to be run interactively, but rather
accessed through Supercite's electric reference feature. See
-`sc-insert-reference' for more details. Optional ARG is the initial
+`sc-insert-reference' for more details. Optional STYLE is the initial
header style to use, unless not supplied or invalid, in which case
`sc-preferred-header-style' is used."
(let ((info sc-mail-info))
(setq sc-eref-style
- (or (sc-valid-index-p arg)
+ (or (sc-valid-index-p style)
(sc-valid-index-p sc-preferred-header-style)
0))
;; ======================================================================
;; published interface to mail and news readers
-(define-minor-mode sc-minor-mode
- "Supercite minor mode."
+(define-minor-mode sc-minor-mode nil
:group 'supercite
:lighter (" SC" (sc-auto-fill-region-p
(":f" (sc-fixup-whitespace-p "w"))
(insert (sc-mail-field "sc-citation"))
(error "Line is already cited"))))
-;; The argument logic here is crazy.
-(defun sc-version (message)
- "Return the current Supercite version.
-If MESSAGE is non-nil (interactively, with no prefix argument),
-echoes the version in the minibuffer. Otherwise, inserts the
-version at point."
- (interactive (list (not current-prefix-arg)))
- (let ((verstr (format "Using Supercite.el %s" emacs-version)))
- (if message
- (message verstr)
- (insert "`sc-version' says: " verstr))))
-
-(make-obsolete 'sc-version 'emacs-version "23.1")
-
(defun sc-describe ()
"Read the Supercite info node."
(interactive)
(info "(SC)top"))
-(make-obsolete 'sc-describe "read the SC manual using `info'." "23.1")
-
-(define-obsolete-function-alias 'sc-submit-bug-report 'report-emacs-bug "23.1")
-
\f
;; useful stuff
(provide 'supercite)
(run-hooks 'sc-load-hook)
-;; arch-tag: a5d5bfa6-3bd5-4414-8c65-0afc83e45cd3
;;; supercite.el ends here