;ELC   
;;; Compiled by nelhage@localhost.localdomain on Tue Dec 13 12:30:40 2005
;;; from file /home/nelhage/Desktop/mailcrypt-3.5.8/mailcrypt.el
;;; in Emacs version 22.0.50.7
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`mailcrypt.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\302\303!\210\302\304!\210\302\305!\210\306\307\310\217\210\311\312!\204 \306\313\314\217\210\315\316!\204& \316\317M\210\320B\321\322\323	\"!\210\324\325\326\306\327$\210\324\330\331\306\327$\210\324\332\333\306\327$\210\324\334\335\306\327$\210\324\336\337\306\327$\210\324\340\341\306\327$\210\324\342\343\306\327$\210\324\344\345\306\327$\210\324\346\347\306\327$\210\324\350\351\306\327$\210\324\352\353\306\327$\207" [current-load-list emacs-version require easymenu comint rfc822 nil (byte-code "\300\301!\207" [require itimer] 2) ((error)) featurep itimer (byte-code "\300\301!\207" [require timer] 2) ((error)) fboundp buffer-substring-no-properties buffer-substring mc-xemacs-p (lambda (#1=#:defconst-tmp-var) (defconst mc-xemacs-p #1#)) string-match "XEmacs" autoload mc-decrypt "mc-toplev" t mc-verify "mc-toplev" mc-snarf "mc-toplev" mc-pgp-fetch-key "mc-pgp" mc-encrypt "mc-toplev" mc-sign "mc-toplev" mc-insert-public-key "mc-toplev" mc-remailer-encrypt-for-chain "mc-remail" mc-remailer-insert-response-block "mc-remail" mc-remailer-insert-pseudonym "mc-remail" mc-setversion "mc-setversion"] 5)
#@69 *If t, always sign encrypted PGP messages, or never sign if 'never.
(defvar mc-pgp-always-sign nil (#$ . -1727))
#@63 Non-nil means Mailcrypt read mode key bindings are available.
(defvar mc-read-mode nil (#$ . 1846))
#@64 Non-nil means Mailcrypt write mode key bindings are available.
(defvar mc-write-mode nil (#$ . 1952))
(byte-code "\300\301!\210\300\302!\207" [make-variable-buffer-local mc-read-mode mc-write-mode] 2)
#@65 *String to put in mode line when Mailcrypt read mode is active.
(defvar mc-read-mode-string " MC-r" (#$ . -2159))
#@66 *String to put in mode line when Mailcrypt write mode is active.
(defvar mc-write-mode-string " MC-w" (#$ . -2279))
#@42 Keymap for Mailcrypt read mode bindings.
(defvar mc-read-mode-map nil (#$ . 2401))
#@43 Keymap for Mailcrypt write mode bindings.
(defvar mc-write-mode-map nil (#$ . 2490))
(byte-code "\204% \302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210	\204\\ \302 \303	\316\305#\210\303	\317\320#\210\303	\321\322#\210\303	\323\324#\210\303	\325\315#\210\303	\326\327#\210\303	\330\331#\210\303	\332\333#\210\302\207" [mc-read-mode-map mc-write-mode-map make-sparse-keymap define-key "/f" mc-deactivate-passwd "/d" mc-decrypt "/v" mc-verify "/a" mc-snarf "/k" mc-pgp-fetch-key "/f" "/e" mc-encrypt "/s" mc-sign "/x" mc-insert-public-key "/k" "/r" mc-remailer-encrypt-for-chain "/b" mc-remailer-insert-response-block "/p" mc-remailer-insert-pseudonym] 4)
#@27 Mailcrypt read mode menu.
(defvar mc-read-mode-menu nil (#$ . 3213))
(byte-code "\302\303?\205	 	C\304\305$\207" [mc-xemacs-p mc-read-mode-map easy-menu-do-define mc-read-mode-menu "Mailcrypt read mode menu." ("Mailcrypt" ["Decrypt Message" mc-decrypt t] ["Verify Signature" mc-verify t] ["Snarf Keys" mc-snarf t] ["Fetch Key" mc-pgp-fetch-key t] ["Forget Passphrase(s)" mc-deactivate-passwd t])] 5)
#@28 Mailcrypt write mode menu.
(defvar mc-write-mode-menu nil (#$ . 3620))
(byte-code "\305\306?\205	 	C\307\310$\210\311\n\236\204 \311B\nB\312\n\236\204% \312	B\nB\311\f\236\204/ \313\fB\312\f\236\2049 \314\fB\305\207" [mc-xemacs-p mc-write-mode-map minor-mode-map-alist mc-read-mode-map minor-mode-alist easy-menu-do-define mc-write-mode-menu "Mailcrypt write mode menu." ("Mailcrypt" ["Encrypt Message" mc-encrypt t] ["Sign Message" mc-sign t] ["Insert Public Key" mc-insert-public-key t] ["Fetch Key" mc-pgp-fetch-key t] ["Encrypt for Remailer(s)" mc-remailer-encrypt-for-chain t] ["Insert Pseudonym" mc-remailer-insert-pseudonym t] ["Insert Response Block" mc-remailer-insert-response-block t] ["Forget Passphrase(s)" mc-deactivate-passwd t]) mc-read-mode mc-write-mode (mc-read-mode mc-read-mode-string) (mc-write-mode mc-write-mode-string)] 5)
#@324 
Minor mode for interfacing with cryptographic functions.
\<mc-read-mode-map>
\[mc-decrypt]		Decrypt an encrypted message
\[mc-verify]		Verify signature on a clearsigned message
\[mc-snarf]		Add public key(s) to keyring
\[mc-pgp-fetch-key]		Fetch a PGP key via finger or HTTP
\[mc-deactivate-passwd]		Forget passphrase(s)

(defalias 'mc-read-mode #[(&optional arg) "\204	 	?\202 \304!\305V\211\203 \n\203 \302\306!\210	\203# \307!\207\310!\207" [arg mc-read-mode mc-write-mode mc-read-mode-menu prefix-numeric-value 0 nil easy-menu-add easy-menu-remove] 3 (#$ . 4482) nil])
#@557 
Minor mode for interfacing with cryptographic functions.
\<mc-write-mode-map>
\[mc-encrypt]		Encrypt (and optionally sign) message
\[mc-sign]		Clearsign message
\[mc-insert-public-key]		Extract public key from keyring and insert into message
\[mc-pgp-fetch-key]		Fetch a PGP key via finger or HTTP
\[mc-remailer-encrypt-for-chain]		Encrypt message for remailing
\[mc-remailer-insert-pseudonym]		Insert a pseudonym (for remailing)
\[mc-remailer-insert-response-block]		Insert a response block (for remailing)
\[mc-deactivate-passwd]		Forget passphrase(s)

(defalias 'mc-write-mode #[(&optional arg) "\204	 	?\202 \304!\305V\211\203 \n\203 \302\306!\210	\203# \307!\207\310!\207" [arg mc-write-mode mc-read-mode mc-write-mode-menu prefix-numeric-value 0 nil easy-menu-add easy-menu-remove] 3 (#$ . 5071) nil])
(defalias 'mc-install-read-mode #[nil "\300\301!\207" [mc-read-mode 1] 2 nil nil])
(defalias 'mc-install-write-mode #[nil "\300\301!\207" [mc-write-mode 1] 2 nil nil])
(byte-code "\301B\302\303!\207" [current-load-list mc-version (lambda (#1=#:defconst-tmp-var) (defconst mc-version #1#)) "3.5.8"] 2)
#@50 *Default temp directory to be used by Mailcrypt.
(defvar mc-temp-directory (byte-code "\301\302!\203	 \302 \207\303\300!\203 \207\304\207" [temporary-file-directory fboundp temp-directory boundp "/tmp/"] 2) (#$ . -6197))
#@36 *Default encryption scheme to use.
(defvar mc-default-scheme 'mc-scheme-pgp (#$ . -6426))
#@197 *Time to deactivate password in seconds after a use.
nil or 0 means deactivate immediately.  If the only timer package available
is the 'timer' package, then this can be a string in timer format.
(defvar mc-passwd-timeout 60 (#$ . -6523))
(byte-code "\301B\302\301!\204 \303\301\304\305!\206 \306 \206 \307\"\210\301\207" [current-load-list mc-ripem-user-id default-boundp set-default getenv "RIPEM_USER_NAME" user-full-name "*Your RIPEM user ID."] 4)
#@112 *If t, decrypt mail messages in place without prompting.

If 'never, always use a viewer instead of replacing.
(defvar mc-always-replace nil (#$ . -6987))
#@97 *Assume that the message should
  be encoded for everyone listed in the To, Cc, and Bcc fields.
(defvar mc-use-default-recipients nil (#$ . -7148))
#@58 *Encrypt all outgoing messages with
  user's public key.
(defvar mc-encrypt-for-me nil (#$ . -7302))
#@60 *List of hook functions to run immediately before signing.
(defvar mc-pre-signature-hook nil (#$ . -7409))
#@59 *List of hook functions to run immediately after signing.
(defvar mc-post-signature-hook nil (#$ . -7522))
#@63 *List of hook functions to run immediately before encrypting.
(defvar mc-pre-encryption-hook nil (#$ . -7635))
#@50 *List of hook functions to run after encrypting.
(defvar mc-post-encryption-hook nil (#$ . -7752))
#@63 *List of hook functions to run immediately before decrypting.
(defvar mc-pre-decryption-hook nil (#$ . -7857))
#@50 *List of hook functions to run after decrypting.
(defvar mc-post-decryption-hook nil (#$ . -7974))
#@40 Name of temporary buffer for mailcrypt
(defconst mc-buffer-name "*MailCrypt*" (#$ . 8079))
#@128 Association list (indexed by major mode) of association lists
(indexed by operation) of functions to call for each major mode.
(defvar mc-modes-alist '((rmail-mode (decrypt . mc-rmail-decrypt-message) (verify . mc-rmail-verify-signature)) (rmail-summary-mode (decrypt . mc-rmail-summary-decrypt-message) (verify . mc-rmail-summary-verify-signature) (snarf . mc-rmail-summary-snarf-keys)) (mew-draft-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message)) (mew-message-mode (decrypt . mc-mew-decrypt-message)) (mew-summary-mode (decrypt . mc-mew-summary-decrypt-message) (verify . mc-mew-summary-verify-signature) (snarf . mc-mew-summary-snarf-keys)) (vm-mode (decrypt . mc-vm-decrypt-message) (verify . mc-vm-verify-signature) (snarf . mc-vm-snarf-keys)) (vm-virtual-mode (decrypt . mc-vm-decrypt-message) (verify . mc-vm-verify-signature) (snarf . mc-vm-snarf-keys)) (vm-summary-mode (decrypt . mc-vm-decrypt-message) (verify . mc-vm-verify-signature) (snarf . mc-vm-snarf-keys)) (mh-folder-mode (decrypt . mc-mh-decrypt-message) (verify . mc-mh-verify-signature) (snarf . mc-mh-snarf-keys)) (message-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message)) (gnus-summary-mode (decrypt . mc-gnus-decrypt-message) (verify . mc-gnus-verify-signature) (snarf . mc-gnus-snarf-keys)) (gnus-article-mode (decrypt . mc-gnus-decrypt-message) (verify . mc-gnus-verify-signature) (snarf . mc-gnus-snarf-keys)) (mail-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message)) (vm-mail-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message)) (mh-letter-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message)) (news-reply-mode (encrypt . mc-encrypt-message) (sign . mc-sign-message))) (#$ . 8177))
#@41 Timer object for password deactivation.
(defvar mc-timer nil (#$ . 9895))
#@24 Cache for passphrases.
(defvar mc-passwd-cache nil (#$ . 9975))
(byte-code "\301B\302\301!\204 \303\301\304\"\210\301\207" [current-load-list mc-schemes default-boundp set-default (("pgp50" . mc-scheme-pgp50) ("pgp" . mc-scheme-pgp) ("gpg" . mc-scheme-gpg))] 3)
(defalias 'mc-message-delimiter-positions #[(start-re end-re &optional begin) "\206 e\304\212b\210\305\n\304\306#\205& \307\224\211\205& \305\304\306#\205& 	`B*\207" [begin start start-re end-re nil re-search-forward t 0] 4])
#@111 Splits STR into a list of elements which were separated by REGEXP,
stripping initial and trailing whitespace.
(defalias 'mc-split #[(regexp str) "\306 \307\211\211\310\216\311\312\f\"\210\313\225\311\314\f\"\311\f	#\203. \f	\313\224O\nB\313\225\202 \fG	U\204< \f	O\nB\n\237-\207" [end beg retval data str regexp match-data nil ((store-match-data data)) string-match "[ 	\n]*" 0 "[ 	\n]*\\'"] 4 (#$ . 10480)])
(byte-code "\301B\302\303\304\305!\306\304\307!\304\310!\311\304\312!\313\260!\210\314B\315\316!\207" [current-load-list mc-field-name-regexp (lambda (#1=#:defconst-tmp-var) (defconst mc-field-name-regexp #1#)) "^\\([" char-to-string 33 "-" 57 59 "-" 126 "]*\\)" mc-field-body-regexp (lambda (#2=#:defconst-tmp-var) (defconst mc-field-body-regexp #2#)) "\\(.*\\(\n[ 	].*\\)*\n\\)"] 9)
#@303 Get all header fields within BOUNDS.  Return as an
alist ((FIELD-NAME . FIELD-BODY) (FIELD-NAME . FIELD-BODY) ...).

Argument MATCHING, if present, is a regexp which each FIELD-NAME
must match exactly.  Matching is case-insensitive.

Optional arg NUKE, if non-nil, means eliminate all fields returned.
(defalias 'mc-get-fields #[(&optional matching bounds nuke) "\212\214\306\307	Q\310\211\211\211\211\203\" \311\312Q\203/ @A}\210db\210\313\310\314#\203p \315\224\315\225\316\317\224\317\225\"\316\320\224\320\225\"\203\\ \321\"\2032 \fBB\2032 \n|\210\2022 .	\207" [mc-field-name-regexp mc-field-body-regexp field-end field-start body name t ":" nil "^\\(" "\\)$" re-search-backward move 0 buffer-substring-no-properties 1 2 string-match ret header-field-regexp case-fold-search matching bounds nuke] 7 (#$ . 11298)])
#@60 Strip everything from ADDR except the basic Email address.
(defalias 'mc-strip-address #[(addr) "\301!@\207" [addr rfc822-addresses] 2 (#$ . 12166)])
(put 'mc-strip-address 'byte-optimizer 'byte-compile-inline-expand)
#@138 Strip everything from the addresses in ADDR-LIST except the basic
Email address.  ADDR-LIST may be a single string or a list of strings.
(defalias 'mc-strip-addresses #[(addr-list) "<\204 C\301\302\"\303\304\"\305\306\307#\207" [addr-list mapcar #[(s) "\301!\207" [s rfc822-addresses] 2] apply append mapconcat mc-strip-address ", "] 4 (#$ . 12392)])
#@60 Like display-buffer, but always display top of the buffer.
(defalias 'mc-display-buffer #[(buffer) "\212q\210eb\210\301!)\207" [buffer display-buffer] 2 (#$ . 12759)])
(defalias 'mc-message #[(msg &optional buffer default) "\304	\203# \212	q\210eb\210\305\n\306\304#\203 \307\310\224\310\225\"\202! \306)\n\203, \311\312\n\"\210)\207" [retval buffer msg default t re-search-forward nil buffer-substring-no-properties 0 message-or-box "%s"] 4])
#@75 Emit a signature status line. If ATTENTION is non-nil, be noisy about it.
(defalias 'mc-message-sigstatus #[(msg &optional attention) "\203 \302 \210\303\304	\"\207" [attention msg ding message-or-box "%s"] 3 (#$ . 13217)])
(defalias 'mc-process-region #[(beg end passwd program args parser &optional buffer) "p\306\211\211\211\211\307\216%\206 \310\311!\211q\210\312 \210q\210\313!\210\314\315\316&'%(\203D \317(\320P\"\210)\204D \321\322!\210\323*+#\210\324!\210\325!\326=\203` \327\330\"\210\202P \331!\332!\210q\210db\210\333\334\306\322#\203| \335\224\335\225|\210eb\210\336\337\306\322#\203\216 \340\341!\210\202 \n;\203\235 \342\343&\n#\210\202\305 ,\n!\211:\203\305 q\210*+|\210*b\210\344	@	A#\210q\210	@	A|\210	\205\312 \n.\207" [proc rgn result mybuf process-connection-type obuf nil ((byte-code "\203 \304!\305=\203 \306!\210	q\210\n\204 \203 \307!\210\304\207" [proc obuf buffer mybuf process-status run interrupt-process kill-buffer] 2)) generate-new-buffer " *mailcrypt temp" erase-buffer buffer-disable-undo apply start-process "*PGP*" process-send-string "\n" mc-deactivate-passwd t process-send-region process-send-eof process-status run accept-process-output 5 process-exit-status delete-process re-search-backward "\nProcess \\*PGP.*\n\\'" 0 search-forward "\n" replace-match "\n" error "%s exited abnormally: '%s'" insert-buffer-substring buffer program args passwd mc-passwd-timeout beg end parser] 7])
#@136 Activate the passphrase matching ID, using PROMPT for a prompt.
Return the passphrase.  If PROMPT is nil, only return value if cached.
(defalias 'mc-activate-passwd #[(id &optional prompt) "\306\307!\203 \203 \310!\210	\205 \311\312\313	#\202B \306\314!\203B 	\250\203- \315\316	\"\202. 	\2037 \317!\210\n\205@ \320\n\321\313#)\322\f\"\321\211\243\211\204[ \203[ \323!\203h \241\210\202n B\fB*\207" [mc-timer mc-passwd-timeout string-time id mc-passwd-cache passwd featurep itimer delete-itimer start-itimer "mc-itimer" mc-deactivate-passwd timer format "%d sec" cancel-timer run-at-time nil assoc comint-read-noecho cell prompt] 5 (#$ . 14700)])
#@35 *Deactivate the passphrase cache.
(defalias 'mc-deactivate-passwd #[(&optional inhibit-message) "\203 \303\304!\203 \305!\210\202 \303\306!\203 \307!\210\310\311	\"\210\n\2068 t?\2068 \312\313	G\314V\2036 \315\2027 \316\"\207" [mc-timer mc-passwd-cache inhibit-message featurep itimer delete-itimer timer cancel-timer mapcar #[(cell) "\243;\203\f \301A\302\"\210\303\241\207" [cell fillarray 0 nil] 3] message "Passphrase%s deactivated" 1 "s" ""] 4 (#$ . -15382) nil])
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-encrypt mc-encrypt] 3)
1
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-decrypt mc-decrypt] 3)
1
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-sign mc-sign] 3)
1
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-verify mc-verify] 3)
1
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-insert-public-key mc-insert-public-key] 3)
1
(byte-code "\300\301\302\"\300\207" [defalias mailcrypt-snarf mc-snarf] 3)
1
(provide 'mailcrypt)
