;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:09:18 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/epa-mail.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\302\303!\210\302\304!\210\305B\306\305!\204c\307\305\310 \311	\312\313#\210\311	\314\315#\210\311	\316\317#\210\311	\320\321#\210\311	\322\323#\210\311	\324\325#\210\311	\326\313#\210\311	\327\315#\210\311	\330\317#\210\311	\331\321#\210\311	\332\323#\210\311	\333\325#\210	)\"\210\334B\306\334!\204r\307\334\335\"\210\336B\306\336!\204\201\307\336\335\"\210\337B\306\337!\204\220\307\337\335\"\210\335\207" [current-load-list keymap require epa mail-utils epa-mail-mode-map default-boundp set-default make-sparse-keymap define-key "d" epa-mail-decrypt "v" epa-mail-verify "s" epa-mail-sign "e" epa-mail-encrypt "i" epa-mail-import-keys "o" epa-insert-keys "" "" "" "" "	" "" epa-mail-mode-hook nil epa-mail-mode-on-hook epa-mail-mode-off-hook] 6)
#@95 Non-nil if epa-mail mode is enabled.
Use the command `epa-mail-mode' to change this variable.
(defvar epa-mail-mode nil (#$ . 1345))
(make-variable-buffer-local 'epa-mail-mode)
#@57 A minor-mode for composing encrypted/clearsigned mails.
(defalias 'epa-mail-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\307\310\n\203\311\202\312\"\210\313\314!\203@\303 \2033\303 \232\203@\315\316\n\203=\317\202>\320\"\210)\321 \210\n\207" [#1=#:last-message arg epa-mail-mode current-message toggle prefix-numeric-value 0 run-hooks epa-mail-mode-hook epa-mail-mode-on-hook epa-mail-mode-off-hook called-interactively-p any message "epa-mail mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 1528) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\211%\207" [epa-mail-mode-map add-minor-mode epa-mail-mode " epa-mail" nil] 6)
#@40 Find a usable key from KEYS for USAGE.
(defalias 'epa-mail--find-usable-key #[(keys usage) "\300\301\215\207" [found (byte-code "\2055\303@!\211\203,\n\304	@!>\203%\305	@!\306>\204%\307\310@\"\210	A\211\204
)A\211\204\311\207" [keys pointer usage epg-key-sub-key-list epg-sub-key-capability epg-sub-key-validity (revoked expired) throw found nil] 4)] 2 (#$ . 2219)])
#@139 Decrypt OpenPGP armors in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!
(defalias 'epa-mail-decrypt #[nil "\300ed\"\207" [epa-decrypt-armor-in-region] 3 (#$ . 2607) nil])
#@157 Verify OpenPGP cleartext signed messages in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!
(defalias 'epa-mail-verify #[nil "\300ed\"\207" [epa-verify-cleartext-in-region] 3 (#$ . 2851) nil])
#@118 Sign the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!
(defalias 'epa-mail-sign #[(start end signers mode) "\304	\n$\207" [start end signers mode epa-sign-region] 5 (#$ . 3115) (save-excursion (goto-char (point-min)) (if (search-forward mail-header-separator nil t) (forward-line)) (setq epa-last-coding-system-specified (or coding-system-for-write (epa--select-safe-coding-system (point) (point-max)))) (let ((verbose current-prefix-arg)) (list (point) (point-max) (if verbose (epa-select-keys (epg-make-context epa-protocol) "Select keys for signing.\nIf no one is selected, default secret key is used.  " nil t)) (if verbose (epa--read-signature-type) 'clear))))])
#@121 Encrypt the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!
(defalias 'epa-mail-encrypt #[(start end recipients sign signers) "\305	\n\f%\207" [start end recipients sign signers epa-encrypt-region] 6 (#$ . 3854) (save-excursion (let ((verbose current-prefix-arg) (context (epg-make-context epa-protocol)) recipients-string recipients recipient-key) (goto-char (point-min)) (save-restriction (narrow-to-region (point) (if (search-forward mail-header-separator nil 0) (match-beginning 0) (point))) (setq recipients-string (mapconcat #'identity (nconc (mail-fetch-field "to" nil nil t) (mail-fetch-field "cc" nil nil t) (mail-fetch-field "bcc" nil nil t)) ",")) (setq recipients (mail-strip-quoted-names (with-temp-buffer (insert "to: " recipients-string "\n") (expand-mail-aliases (point-min) (point-max)) (car (mail-fetch-field "to" nil nil t)))))) (if recipients (setq recipients (delete "" (split-string recipients "[ 	\n]*,[ 	\n]*")))) (goto-char (point-min)) (if (search-forward mail-header-separator nil t) (forward-line)) (setq epa-last-coding-system-specified (or coding-system-for-write (epa--select-safe-coding-system (point) (point-max)))) (list (point) (point-max) (if verbose (epa-select-keys context "Select recipients for encryption.\nIf no one is selected, symmetric encryption will be performed.  " recipients) (if recipients (mapcar (lambda (recipient) (setq recipient-key (epa-mail--find-usable-key (epg-list-keys (epg-make-context epa-protocol) (if (string-match "@" recipient) (concat "<" recipient ">") recipient)) 'encrypt)) (unless (or recipient-key (y-or-n-p (format "No public key for %s; skip it? " recipient))) (error "No public key for %s" recipient)) recipient-key) recipients))) (setq sign (if verbose (y-or-n-p "Sign? "))) (if sign (epa-select-keys context "Select keys for signing.  ")))))])
#@156 Import keys in the OpenPGP armor format in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!
(defalias 'epa-mail-import-keys #[nil "\300ed\"\207" [epa-import-armor-in-region] 3 (#$ . 5746) nil])
#@281 Non-nil if Epa-Global-Mail mode is enabled.
See the command `epa-global-mail-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `epa-global-mail-mode'.
(custom-declare-variable 'epa-global-mail-mode 'nil '(#$ . 6010) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'epa-mail :type 'boolean :version "23.1")
#@43 Minor mode to hook EasyPG into Mail mode.
(defalias 'epa-global-mail-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\307\310\311\"\210\n\203\"\312\310\311\"\210\313\314\n\203,\315\202-\316\"\210\317\320!\203R\321\302!\210\303 \203E\303 \232\203R\322\323\n\203O\324\202P\325\"\210)\326 \210\n\207" [#1=#:last-message arg epa-global-mail-mode current-message toggle prefix-numeric-value 0 remove-hook mail-mode-hook epa-mail-mode add-hook run-hooks epa-global-mail-mode-hook epa-global-mail-mode-on-hook epa-global-mail-mode-off-hook called-interactively-p any customize-mark-as-set message "Epa-Global-Mail mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 6477) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\303\211%\210\305\306!\207" [epa-global-mail-mode-map add-minor-mode epa-global-mail-mode nil boundp provide epa-mail] 6)
