;; GNU Emacs 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
+;; by the Free Software Foundation; either version 3, or (at your
;; option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful, but
;;; Code:
+;; For Emacs < 22.2.
+(eval-and-compile
+ (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
+
(eval-when-compile (require 'cl))
(require 'mm-decode)
(require 'mm-util)
(defvar mc-pgp-always-sign)
+(declare-function epg-check-configuration "ext:epg-config"
+ (config &optional minimum-version))
+(declare-function epg-configuration "ext:epg-config" ())
+
(defvar mml2015-use (or
(condition-case nil
(progn
(autoload 'mc-cleanup-recipient-headers "mc-toplev")
(autoload 'mc-sign-generic "mc-toplev"))
-(eval-when-compile
- (defvar mc-default-scheme)
- (defvar mc-schemes))
+(defvar mc-default-scheme)
+(defvar mc-schemes)
(defvar mml2015-decrypt-function 'mailcrypt-decrypt)
(defvar mml2015-verify-function 'mailcrypt-verify)
(insert (format "--%s--\n" boundary))
(goto-char (point-max))))
+;; We require mm-decode, which requires mm-bodies, which autoloads
+;; message-options-get (!).
+(declare-function message-options-set "message" (symbol value))
+
(defun mml2015-mailcrypt-encrypt (cont &optional sign)
(let ((mc-pgp-always-sign
(or mc-pgp-always-sign
;;; pgg wrapper
-(eval-when-compile
- (defvar pgg-default-user-id)
- (defvar pgg-errors-buffer)
- (defvar pgg-output-buffer))
+(defvar pgg-default-user-id)
+(defvar pgg-errors-buffer)
+(defvar pgg-output-buffer)
(eval-and-compile
(autoload 'pgg-decrypt-region "pgg")
;;; epg wrapper
-(eval-and-compile
- (autoload 'epg-make-context "epg"))
+(defvar epg-user-id-alist)
+(defvar epg-digest-algorithm-alist)
+(defvar inhibit-redisplay)
-(eval-when-compile
- (defvar epg-user-id-alist)
- (defvar epg-digest-algorithm-alist)
- (defvar inhibit-redisplay)
+(eval-and-compile
+ (autoload 'epg-make-context "epg")
(autoload 'epg-context-set-armor "epg")
(autoload 'epg-context-set-textmode "epg")
(autoload 'epg-context-set-signers "epg")
(autoload 'epg-expand-group "epg-config")
(autoload 'epa-select-keys "epa"))
-(eval-when-compile
- (defvar password-cache-expiry)
- (autoload 'password-read "password")
- (autoload 'password-cache-add "password")
- (autoload 'password-cache-remove "password"))
+(defvar password-cache-expiry)
(defvar mml2015-epg-secret-key-id-list nil)
;;; General wrapper
+(autoload 'gnus-buffer-live-p "gnus-util")
+(autoload 'gnus-get-buffer-create "gnus")
+
(defun mml2015-clean-buffer ()
(if (gnus-buffer-live-p mml2015-result-buffer)
(with-current-buffer mml2015-result-buffer