;;; smime.el --- S/MIME support library
;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007 Free Software Foundation, Inc.
+;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: SMIME X.509 PEM OpenSSL
;;; Code:
+;; For Emacs < 22.2.
+(eval-and-compile
+ (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
(require 'dig)
-(require 'password)
+
+(if (locate-library "password-cache")
+ (require 'password-cache)
+ (require 'password))
+
(eval-when-compile (require 'cl))
(eval-and-compile
temporary-file-directory))))))
;; Password dialog function
+(declare-function password-read-and-add "password-cache" (prompt &optional key))
(defun smime-ask-passphrase (&optional cache-key)
"Asks the passphrase to unlock the secret key.
(insert-buffer-substring smime-details-buffer)
nil))
-(eval-when-compile
- (defvar from))
+(defvar from)
(defun smime-decrypt-region (b e keyfile)
"Decrypt S/MIME message in region between B and E with key in KEYFILE.
(define-key smime-mode-map "q" 'smime-exit)
(define-key smime-mode-map "f" 'smime-certificate-info))
+(autoload 'gnus-run-mode-hooks "gnus-util")
+
(defun smime-mode ()
"Major mode for browsing, viewing and fetching certificates.