;;;
-;;; signature.el --- signature utility for GNU Emacs
+;;; signature.el --- a signature utility for GNU Emacs
;;;
;;; Copyright (C) 1995 Free Software Foundation, Inc.
-;;; Copyright (C) 1994,1995 MORIOKA Tomohiko
+;;; Copyright (C) 1994 .. 1996 MORIOKA Tomohiko
;;; Copyright (C) 1994 OKABE Yasuo
+;;; Copyright (C) 1996 Artur Pioro
;;;
;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;;; OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp> (1994/08/01)
+;;; OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
+;;; Artur Pioro <artur@flugor.if.uj.edu.pl>
+;;; Created: 1994/7/11
;;; Version:
-;;; $Id: signature.el,v 7.1 1995/12/14 06:22:20 morioka Exp $
+;;; $Id: signature.el,v 7.7 1996/03/14 13:39:57 morioka Exp $
;;; Keywords: mail, news, signature
;;;
;;; This file is part of tm (Tools for MIME).
;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with This program. If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
(require 'tl-822)
(defvar signature-insert-at-eof nil
- "*Insert signature at the end of file if non-nil.")
+ "*Insert signature at the end of file if non-nil. [signature.el]")
+
+(defvar signature-delete-blank-lines-at-eof nil
+ "*Signature-insert-at-eof deletes blank lines at the end of file
+if non-nil. [signature.el]")
(defvar signature-file-name "~/.signature"
- "*Name of file containing the user's signature.")
+ "*Name of file containing the user's signature. [signature.el]")
(defvar signature-file-alist nil)
+(defvar signature-file-prefix nil
+ "*String containing optional prefix for the signature file names")
+
;;;
;;; Example:
;;;
;;; (setq signature-file-alist
-;;; '((("Newsgroups" . "zxr") . "~/.signature-sun")
+;;; '((("To" . signature-check-in-bbdb) . nil)
+;;; (("Newsgroups" . "zxr") . "~/.signature-sun")
;;; (("To" . "uramimi") . "~/.signature-sun")
;;; (("Newsgroups" . "jokes") . "~/.signature-jokes")
;;; (("To" . "tea") . "~/.signature-jokes")
;;; (("To" . ("sim" "oku")) . "~/.signature-formal")
;;; ))
+(autoload 'signature-check-in-bbdb "tm-bbdb")
+
(defun signature/get-signature-file-name ()
(catch 'tag
(let ((r signature-file-alist) cell b f)
(let ((r (cdr b)))
(while r
(if (string-match (car r) f)
- (throw 'tag (cdr cell))
+ (throw 'tag
+ (concat
+ signature-file-prefix (cdr cell)))
)
(setq r (cdr r))
))
)
((stringp (cdr b))
(if (string-match (cdr b) f)
- (throw 'tag (cdr cell))
+ (throw 'tag
+ (concat
+ signature-file-prefix (cdr cell)))
))
+ ((functionp (cdr b))
+ (let ((name (apply (cdr b) f (cdr cell))))
+ (if name
+ (throw 'tag
+ (concat signature-file-prefix name))
+ )))
))
(setq r (cdr r))
))
(goto-char (point-max))
(if (not (bolp))
(insert "\n"))
- ;;(delete-blank-lines)
+ (if signature-delete-blank-lines-at-eof (delete-blank-lines))
(insert-file-contents signature)
(set-buffer-modified-p (buffer-modified-p))
; force mode line update
;;;
(provide 'signature)
+
+;;; signature.el ends here