;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:47:45 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/mail/mh-e.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; 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 "`mh-e.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\301B\302\303\304!\210\305\306!\210\307\310\311\312\313\314%\210\307\315\311\316\317\320\313\310&\207" [current-load-list mh-e-RCS-id "$Id: mh-e.el,v 1.30 2001/09/23 17:38:22 eliz Exp $" provide mh-e require mh-utils custom-declare-group mh nil "Emacs interface to the MH mail system" :group mail mh-hook "Hooks to mh-e mode" :prefix "mh-"] 8)
#@44 Invoked in MH-Folder mode on a new folder.
(custom-declare-variable 'mh-folder-mode-hook 'nil '(#$ . 975) :type 'hook :group 'mh-hook)
#@92 Invoked by \<mh-folder-mode-map>`\[mh-inc-folder]' after incorporating mail into a folder.
(custom-declare-variable 'mh-inc-folder-hook 'nil '(#$ . 1116) :type 'hook :group 'mh-hook)
#@66 Invoked after \<mh-folder-mode-map>`\[mh-show]' shows a message.
(custom-declare-variable 'mh-show-hook 'nil '(#$ . 1305) :type 'hook :group 'mh-hook)
#@42 Invoked in MH-Show mode on each message.
(custom-declare-variable 'mh-show-mode-hook 'nil '(#$ . 1462) :type 'hook :group 'mh-hook)
#@50 Invoked after marking each message for deletion.
(custom-declare-variable 'mh-delete-msg-hook 'nil '(#$ . 1600) :type 'hook :group 'mh-hook)
#@50 Invoked after marking each message for refiling.
(custom-declare-variable 'mh-refile-msg-hook 'nil '(#$ . 1747) :type 'hook :group 'mh-hook)
#@93 Invoked by \<mh-folder-mode-map>`\[mh-quit]' before quitting mh-e.  See also  mh-quit-hook.
(custom-declare-variable 'mh-before-quit-hook 'nil '(#$ . 1894) :type 'hook :group 'mh-hook)
#@93 Invoked after \<mh-folder-mode-map>`\[mh-quit]' quits mh-e.  See also  mh-before-quit-hook.
(custom-declare-variable 'mh-quit-hook 'nil '(#$ . 2085) :type 'hook :group 'mh-hook)
#@283 *Format for Unix command that prints a message.
The string should be a Unix command line, with the string '%s' where
the job's name (folder and message number) should appear.  The formatted
message text is piped to this command when you type \<mh-folder-mode-map>`\[mh-print-msg]'.
(custom-declare-variable 'mh-lpr-command-format '"lpr -J '%s'" '(#$ . -2270) :type 'string :group 'mh)
#@275 *Program to run to generate one-line-per-message listing of a folder.
Normally "scan" or a file name linked to scan.  This file is searched
for relative to the mh-progs directory unless it is an absolute pathname.
Automatically becomes buffer-local when set in any fashion.
(custom-declare-variable 'mh-scan-prog '"scan" '(#$ . -2662) :type 'string :group 'mh)
(make-variable-buffer-local 'mh-scan-prog)
#@169 *Program to run to incorporate new mail into a folder.
Normally "inc".  This file is searched for relative to
the mh-progs directory unless it is an absolute pathname.
(custom-declare-variable 'mh-inc-prog '"inc" '(#$ . -3073) :type 'string :group 'mh)
#@152 *Print messages in the background if non-nil.
WARNING: do not delete the messages until printing is finished;
otherwise, your output may be truncated.
(custom-declare-variable 'mh-print-background 'nil '(#$ . -3333) :type 'boolean :group 'mh)
#@74 *Recenter summary window when the show window is toggled off if non-nil.
(custom-declare-variable 'mh-recenter-summary-p 'nil '(#$ . -3582) :type 'boolean :group 'mh)
#@154 *Non-nil means do not prompt for confirmation before some mh-e commands.
Affects non-recoverable commands such as `mh-kill-folder' and `mh-undo-folder'.
(custom-declare-variable 'mh-do-not-confirm 'nil '(#$ . -3756) :type 'boolean :group 'mh)
#@124 *Last directory used by \[mh-store-msg]; default for next store.
A directory name string, or nil to use current directory.
(custom-declare-variable 'mh-store-default-directory 'nil '(#$ . -4006) :type '(choice (const :tag "Current" nil) directory) :group 'mh)
#@60 Regexp specifying the scan lines that are 'good' messages.
(defvar mh-good-msg-regexp "^....[^D^]" (#$ . 4272))
#@49 Regexp matching scan lines of deleted messages.
(defvar mh-deleted-msg-regexp "^....D" (#$ . 4390))
#@49 Regexp matching scan lines of refiled messages.
(defvar mh-refiled-msg-regexp "^....\\^" (#$ . 4496))
#@63 Regexp matching scan lines for messages (not error messages).
(defvar mh-valid-scan-line "^ *[0-9]" (#$ . 4604))
#@48 Regexp matching scan line for the cur message.
(defvar mh-cur-scan-msg-regexp "^....\\+" (#$ . 4723))
#@66 String whose first character is used to notate deleted messages.
(defvar mh-note-deleted "D" (#$ . 4831))
#@66 String whose first character is used to notate refiled messages.
(defvar mh-note-refiled "^" (#$ . 4943))
#@69 String whose first character is used to notate the current message.
(defvar mh-note-cur "+" (#$ . 5055))
#@119 Annotation when displaying part of a folder.
The string is displayed after the folder's name.  NIL for no annotation.
(defvar mh-partial-folder-mode-line-annotation "select" (#$ . 5167))
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list mh-last-destination boundp nil] 2)
#@24 Keymap for MH folders.
(defvar mh-folder-mode-map (make-keymap) (#$ . 5464))
(byte-code "\301B\306\301!\204\f \307\302B\306\302!\204 \307\303B\306\303!\204$ \310\304B\306\304!\2040 \307\305B\306\305!\204< \307\311B\306\311!\204I \307	\312B\306\312!\204V \307\n\307\207" [current-load-list mh-delete-list mh-refile-list mh-next-direction mh-narrowed-to-seq mh-first-msg-num boundp nil forward mh-last-msg-num mh-mode-line-annotation] 2)
(defalias 'mh-mapc #[(func list) "\205 	@!\210A\211\204 \302\207" [list func nil] 3])
#@155 Inc(orporate) new mail with MH, or, with arg, scan an MH mail folder.
This function is an entry point to mh-e, the Emacs front end
to the MH mail system.
(defalias 'mh-rmail #[(&optional arg) "\301 \210\203 \302\303!\207\304 \207" [arg mh-find-path call-interactively mh-visit-folder mh-inc-folder] 2 (#$ . 6021) "P"])
#@132 Compose and send mail with the MH mail system.
This function is an entry point to mh-e, the Emacs front end
to the MH mail system.
(defalias 'mh-smail #[nil "\300 \210\301\302!\210\303\304!\207" [mh-find-path require mh-comp call-interactively mh-send] 2 (#$ . 6349) nil])
#@148 Compose and send mail in other window with the MH mail system.
This function is an entry point to mh-e, the Emacs front end
to the MH mail system.
(defalias 'mh-smail-other-window #[nil "\300 \210\301\302!\210\303\304!\207" [mh-find-path require mh-comp call-interactively mh-send-other-window] 2 (#$ . 6629) nil])
#@187 Mark the specified MESSAGE(s) for subsequent deletion and move to the next.
Default is the displayed message.  If optional prefix argument is
given then prompt for the message sequence.
(defalias 'mh-delete-msg #[(msg-or-seq) "\301!\210\302 \207" [msg-or-seq mh-delete-msg-no-motion mh-next-msg] 2 (#$ . 6951) (list (if current-prefix-arg (mh-read-seq-default "Delete" t) (mh-get-msg-num t)))])
#@170 Mark the specified MESSAGE(s) for subsequent deletion.
Default is the displayed message.  If optional prefix argument is
provided, then prompt for the message sequence.
(defalias 'mh-delete-msg-no-motion #[(msg-or-seq) "\247\203	 \301!\207\302\301\"\207" [msg-or-seq mh-delete-a-msg mh-map-to-seq-msgs] 3 (#$ . 7354) (list (if current-prefix-arg (mh-read-seq-default "Delete" t) (mh-get-msg-num t)))])
#@49 Process outstanding delete and refile requests.
(defalias 'mh-execute-commands #[nil "\203 \302 \210\303	!\210\304 \210\305 \210\306 \210\307\207" [mh-narrowed-to-seq mh-current-folder mh-widen mh-process-commands mh-set-scan-mode mh-goto-cur-msg mh-make-folder-mode-line t] 2 (#$ . 7765) nil])
#@28 Move to the first message.
(defalias 'mh-first-msg #[nil "eb\210m?\205 \301!?\205 \302y\210\202 \207" [mh-valid-scan-line looking-at 1] 2 (#$ . 8068) nil])
#@311 Show the current message with all its headers.
Displays headers that might have been suppressed by setting the
variables `mh-clean-message-header' or `mhl-formfile', or by the fallback
behavior of scrolling uninteresting headers off the top of the window.
Type "\[mh-show]" to show the message normally again.
(defalias 'mh-header-display #[nil "\204 	\204\f \n\203 \306 \210\307\211\310\307!\210\311 \312\f!\210\203& \313p!\210\314\216eb\210\315\316!\210*\317\211*\207" [mh-showing-with-headers mhl-formfile mh-clean-message-header mh-in-show-buffer-saved-window mh-show-buffer mh-bury-show-buffer mh-invalidate-show-buffer nil mh-show-msg selected-window switch-to-buffer-other-window bury-buffer ((select-window mh-in-show-buffer-saved-window)) mh-recenter 0 t] 2 (#$ . 8235) nil])
#@372 Inc(orporate)s new mail into the Inbox folder.
Optional prefix argument specifies an alternate maildrop from the default.
If the prefix argument is given, incorporates mail into the current
folder, otherwise uses the folder named by `mh-inbox'.
Runs `mh-inc-folder-hook' after incorporating new mail.
Do not call this function from outside mh-e; use \[mh-rmail] instead.
(defalias 'mh-inc-folder #[(&optional maildrop-name) "\304 	\204$ \305\n!\204 \306\n!\210\202$ p\305\n!=\204$ \307\n!\210)\310	!\210\311\312!\207" [config maildrop-name mh-inbox mh-previous-window-config current-window-configuration get-buffer mh-make-folder switch-to-buffer mh-get-new-mail run-hooks mh-inc-folder-hook] 3 (#$ . 9035) (list (if current-prefix-arg (expand-file-name (read-file-name "inc mail from file: " mh-user-path))))])
#@27 Move to the last message.
(defalias 'mh-last-msg #[nil "db\210o?\205 \300\301!\205 \302y\210\202 \207" [looking-at "^$" -1] 2 (#$ . 9859) nil])
#@51 Move to the NTH next undeleted message in window.
(defalias 'mh-next-undeleted-msg #[(&optional arg) "\304\305y\210\306	\307\310\n$\203 \311 \210\312 \207\313y\210\314!\205  \315!\207" [mh-next-direction mh-good-msg-regexp arg mh-show-buffer forward 1 re-search-forward nil 0 beginning-of-line mh-maybe-show -1 get-buffer delete-windows-on] 5 (#$ . 10012) "p"])
#@133 Refile MESSAGE(s) (default: displayed message) into FOLDER.
If optional prefix argument provided, then prompt for message sequence.
(defalias 'mh-refile-msg #[(msg-or-seq folder) "\303B\n\247\203 \304\n\"\210\202 \305\304\n#\210\306 \207" [folder mh-last-destination msg-or-seq refile mh-refile-a-msg mh-map-to-seq-msgs mh-next-msg] 4 (#$ . 10385) (list (if current-prefix-arg (mh-read-seq-default "Refile" t) (mh-get-msg-num t)) (intern (mh-prompt-for-folder "Destination" (or (and mh-default-folder-for-message-function (let ((refile-file (mh-msg-filename (mh-get-msg-num t)))) (save-excursion (set-buffer (get-buffer-create mh-temp-buffer)) (erase-buffer) (insert-file-contents refile-file) (let ((buffer-file-name refile-file)) (funcall mh-default-folder-for-message-function))))) (and (eq 'refile (car mh-last-destination)) (symbol-name (cdr mh-last-destination))) "") t)))])
#@171 Re-execute the last refile or write command on the given MESSAGE.
Default is the displayed message.  Use the same folder or file as the
previous refile or write command.
(defalias 'mh-refile-or-write-again #[(message) "\204 \302\303!\210@\304=\203 \305	A\"\210\301\306A\"\210\202+ \307\310	A#\210\301\311A\"\210\312 \207" [mh-last-destination message error "No previous refile or write" refile mh-refile-a-msg "Destination folder: %s" apply mh-write-msg-to-file "Destination: %s" mh-next-msg] 4 (#$ . 11279) (list (mh-get-msg-num t))])
#@161 Quit the current mh-e folder.
Start by running mh-before-quit-hook.  Restore the previous window
configuration, if one exists.  Finish by running mh-quit-hook.
(defalias 'mh-quit #[nil "\302\303!\210\304 \210\305 \210\306p!\210\307!\203 \306!\210	\203  \310	!\210\302\311!\207" [mh-show-buffer mh-previous-window-config run-hooks mh-before-quit-hook mh-update-sequences mh-invalidate-show-buffer bury-buffer get-buffer set-window-configuration mh-quit-hook] 2 (#$ . 11830) nil])
#@101 Page the displayed message forwards.
Scrolls ARG lines or a full screen if no argument is supplied.
(defalias 'mh-page-msg #[(&optional arg) "\301!\207" [arg scroll-other-window] 2 (#$ . 12319) "P"])
#@102 Page the displayed message backwards.
Scrolls ARG lines or a full screen if no argument is supplied.
(defalias 'mh-previous-page #[(&optional arg) "\304 \305	!\210\n\203 \306p!\210\307\216\310!*\207" [mh-in-show-buffer-saved-window mh-show-buffer mh-bury-show-buffer arg selected-window switch-to-buffer-other-window bury-buffer ((select-window mh-in-show-buffer-saved-window)) scroll-down] 2 (#$ . 12527) "P"])
#@55 Move to the NTH previous undeleted message in window.
(defalias 'mh-previous-undeleted-msg #[(&optional arg) "\304\305 \210\306	\307\310\n$\203 \311 \207\312!\205 \313!\207" [mh-next-direction mh-good-msg-regexp arg mh-show-buffer backward beginning-of-line re-search-backward nil 0 mh-maybe-show get-buffer delete-windows-on] 5 (#$ . 12948) "p"])
#@192 Rescan a folder after optionally processing the outstanding commands.
If optional prefix argument is provided, prompt for the range of
messages to display.  Otherwise show the entire folder.
(defalias 'mh-rescan-folder #[(&optional range) "\303\304	\n\206	 \305\"\207" [mh-next-direction mh-current-folder range forward mh-scan-folder "all"] 3 (#$ . 13308) (list (if current-prefix-arg (mh-read-msg-range "Range to scan [all]? ") nil))])
#@169 Append MESSAGE to the end of a FILE.
If NO-HEADERS (prefix argument) is provided, write only the message body.
Otherwise send the entire message including the headers.
(defalias 'mh-write-msg-to-file #[(msg file no-headers) "\306!\307	!\310	\f\205 \304E\212\311!q\210\312 \210\313!\210eb\210\f\203* \314\315!\210\316`d\n#+\207" [msg file output-file msg-file-to-output no-headers mh-last-destination mh-msg-filename mh-expand-file-name write get-buffer-create erase-buffer insert-file-contents search-forward "\n\n" append-to-file mh-temp-buffer] 4 (#$ . 13754) (list (mh-get-msg-num t) (let ((default-dir (if (eq 'write (car mh-last-destination)) (file-name-directory (car (cdr mh-last-destination))) default-directory))) (read-file-name (format "Save message%s in file: " (if current-prefix-arg " body" "")) default-dir (if (eq 'write (car mh-last-destination)) (car (cdr mh-last-destination)) (expand-file-name "mail.out" default-dir)))) current-prefix-arg)])
#@63 Toggle the scanning mode/showing mode of displaying messages.
(defalias 'mh-toggle-showing #[nil "\203 \301 \207\302 \207" [mh-showing mh-set-scan-mode mh-show] 1 (#$ . 14731) nil])
#@180 Undo the pending deletion or refile of the specified MESSAGE(s).
Default is the displayed message.  If optional prefix argument is
provided, then prompt for the message sequence.
(defalias 'mh-undo #[(msg-or-seq) "\247\203b `\306 \210\307\n!\204? \307!\204? \f\310=\203  o\204? \f\311=\203/ \212\312y\210m)\204? \f\310=\2039 \313\202: \314y\210\202\n \307\n!\204K \307!\203W \315\316\317!!\210\320 \210\202^ 	b\210\321\322!\210)\202g \323\315\"\210\324\325\"\210\326 ?\205u \327\312!\207" [msg-or-seq original-position mh-deleted-msg-regexp mh-refiled-msg-regexp mh-next-direction mh-refile-list beginning-of-line looking-at forward backward nil -1 1 mh-undo-msg mh-get-msg-num t mh-maybe-show error "Nothing to undo" mh-map-to-seq-msgs mh-mapc #[(elt) "\302!?\205 \303	\"\211\207" [elt mh-refile-list mh-seq-to-msgs delq] 3] mh-outstanding-commands-p mh-set-folder-modified-p] 3 (#$ . 14922) (list (if current-prefix-arg (mh-read-seq-default "Undo" t) (mh-get-msg-num t)))])
#@73 Display version information about mh-e and the MH mail handling system.
(defalias 'mh-version #[nil "\306 \210\307!q\210\310 \210\311	\312\n\313\314!\315\261\210\316\317\320\217\210\321\322\323\f\"\324\261\210`\325\326\327\217\210b\210\330\331\316\332#\210\333 \210`|\210eb\210)\334!\207" [mh-temp-buffer mh-e-RCS-id emacs-version system-type mh-progs help-start mh-find-progs get-buffer-create erase-buffer "  mh-e info:\n\nversion: " "\nEmacs: " " on " symbol-name " " nil (call-process "uname" nil t nil "-a") ((file-error)) "\n\n  MH info:\n\n" expand-file-name "inc" ":\n" err-data (mh-exec-cmd-output "inc" nil "-help") ((file-error (byte-code "\301\302A\303#c\207" [err-data mapconcat concat ": "] 4))) search-forward "version: " t beginning-of-line display-buffer] 7 (#$ . 15914) nil])
#@115 Visit FOLDER and display RANGE of messages.
Do not call this function from outside mh-e; see \[mh-rmail] instead.
(defalias 'mh-visit-folder #[(folder &optional range) "\304 \305	\n\206\n \306\"\210)\307\207" [config folder range mh-previous-window-config current-window-configuration mh-scan-folder "all" nil] 3 (#$ . 16724) (list (mh-prompt-for-folder "Visit" mh-inbox t) (mh-read-msg-range "Range [all]? "))])
#@67 The "b" key is obsolescent; will assume you want "\[mh-quit]" ...
(defalias 'mh-compat-quit #[nil "\301\302\303!\"\210\304\305!\210\306\307!\207" [this-command message "%s" documentation sit-for 1 call-interactively mh-quit] 4 (#$ . 17146) nil])
#@135 Update MH's Unseen sequence and current folder and message.
Flush mh-e's state out to MH.  The message at the cursor becomes current.
(defalias 'mh-update-sequences #[nil "\306 \307\310!\203/ \311\312!\313 \210\nC\241\210\314\312C\"\210\315 \210\316!\205+ \317\310\f#)\202< 	\206< \212\320\321\322\323$)*\207" [new-cur folder-set seq-entry mh-good-msg-regexp mh-note-cur mh-cmd-note mh-update-unseen mh-get-msg-num nil mh-find-seq cur mh-remove-cur-notation mh-define-sequence beginning-of-line looking-at mh-notate mh-exec-cmd-quiet t "folder" "-fast" mh-current-folder] 5 (#$ . 17400) nil])
(defalias 'mh-delete-a-msg #[(msg) "\212\306\307\310#\210\311	!\203 \312\313\"\210\311\n!?\2050 \314\310!\210B\315\316\310#\210\317\f#\210\320\321!)\207" [msg mh-refiled-msg-regexp mh-deleted-msg-regexp mh-delete-list mh-note-deleted mh-cmd-note mh-goto-msg nil t looking-at error "Message %d is refiled.  Undo refile before deleting" mh-set-folder-modified-p mh-add-msgs-to-seq deleted mh-notate run-hooks mh-delete-msg-hook] 4])
(defalias 'mh-refile-a-msg #[(msg destination) "\212\306\307\310#\210\311	!\203 \312\313\"\202a \311\n!\203: \314\315\316#!\2034 \317\320\321\310!\322\323\f\324!&\202a \325\326!\202a \327\310!\210>\204H B\330!>\204V \331\310#\210\332#\210\333\334!)\207" [msg mh-deleted-msg-regexp mh-refiled-msg-regexp destination mh-current-folder mh-refile-list mh-goto-msg nil t looking-at error "Message %d is deleted.  Undo delete before moving" y-or-n-p format "Message %d already refiled.  Copy to %s as well? " mh-exec-cmd "refile" mh-get-msg-num "-link" "-src" symbol-name message "Message not copied." mh-set-folder-modified-p mh-seq-to-msgs mh-add-msgs-to-seq mh-notate run-hooks mh-refile-msg-hook mh-note-refiled mh-cmd-note] 8])
(defalias 'mh-next-msg #[nil "\301=\203\n \302\303!\207\304\303!\207" [mh-next-direction forward mh-next-undeleted-msg 1 mh-previous-undeleted-msg] 2])
(defalias 'mh-set-scan-mode #[nil "\303!\203\n \304!\210\305\306 \210\n\205 \307\305!\207" [mh-show-buffer mh-showing mh-recenter-summary-p get-buffer delete-windows-on nil force-mode-line-update mh-recenter] 2])
(defalias 'mh-undo-msg #[(msg) "	>\203 \304	\"\305\306\307#\210\202 \310\311\n\"\210\312\313#\207" [msg mh-delete-list mh-refile-list mh-cmd-note delq mh-delete-msg-from-seq deleted t mh-mapc #[(dest) "\302	\303#\207" [msg dest mh-delete-msg-from-seq t] 4] mh-notate 32] 4])
(defalias 'mh-make-folder #[(name) "\304!\210\305\306 \210\307\310 \210\311\305!\210\n\312 \207" [name buffer-read-only mh-folder-filename buffer-file-name switch-to-buffer nil erase-buffer t mh-folder-mode mh-set-folder-modified-p mh-make-folder-mode-line] 2])
(put 'mh-folder-mode 'mode-class 'special)
#@3313 Major mh-e mode for "editing" an MH folder scan listing.\<mh-folder-mode-map>
You can show the message the cursor is pointing to, and step through the
messages.  Messages can be marked for deletion or refiling into another
folder; these commands are executed all at once with a separate command.

A prefix argument (\[universal-argument]) to delete, refile, list, or undo
applies the action to a message sequence.

Here is a list of the standard keys for mh-e commands, grouped by function.
This list is purposefully not customized; mh-e has a long history, and many
alternate key bindings as a result.  This list is to encourage users to use
standard keys so the other keys can perhaps someday be put to new uses.

t	toggle show or scan-only mode
RET	show message, or back to top if already showing

SPC	page message forward
DEL	page message back

n	next message
p	previous message
g	go to message by number

d	mark for deletion
o, ^	mark for output (refile) to another folder
?	show folder of pending refile
u	undo delete or refile marking

x	execute marked deletes and refiles
i	incorporate new mail

m	mail a new message
r	reply to a message
f	forward a message

q	quit mh-e

M-f	visit new folder
M-r	rescan this folder

Here are all the commands with their current binding, listed in key order:
\{mh-folder-mode-map}

Variables controlling mh-e operation are (defaults in parentheses):

 `mh-recursive-folders' (nil)
    Non-nil means commands which operate on folders do so recursively.

 `mh-bury-show-buffer' (t)
    Non-nil means that the buffer used to display message is buried.
    It will never be offered as the default other buffer.

 `mh-clean-message-header' (nil)
    Non-nil means remove header lines matching the regular expression
    specified in mh-invisible-headers from messages.

 `mh-visible-headers' (nil)
    If non-nil, it contains a regexp specifying the headers that are shown in
    a message if mh-clean-message-header is non-nil.  Setting this variable
    overrides `mh-invisible-headers'.

 `mh-do-not-confirm' (nil)
    Non-nil means do not prompt for confirmation before executing some
    non-recoverable commands such as `mh-kill-folder' and `mh-undo-folder'.

 `mhl-formfile' (nil)
    Name of format file to be used by mhl to show messages.
    A value of T means use the default format file.
    Nil means don't use mhl to format messages.

 `mh-lpr-command-format' ("lpr -p -J '%s'")
    Format for command used to print a message on a system printer.

 `mh-scan-prog' ("scan")
    Program to run to generate one-line-per-message listing of a folder.
    Normally "scan" or a file name linked to scan.  This file is searched
    for relative to the mh-progs directory unless it is an absolute pathname.
    Automatically becomes buffer-local when set in any fashion.

 `mh-print-background' (nil)
    Print messages in the background if non-nil.
    WARNING: do not delete the messages until printing is finished;
    otherwise, your output may be truncated.

 `mh-recenter-summary-p' (nil)
    If non-nil, then the scan listing is recentered when the window displaying
    a messages is toggled off.

 `mh-summary-height' (4)
    Number of lines in the summary window including the mode line.

The value of mh-folder-mode-hook is called when a new folder is set up.
(defalias 'mh-folder-mode #[nil "\306 \210\307!\210\310\311\312!\210\313\314\315 \316\317\320\315 \"\321\322\323\315 !!\324\325\326\325\327\325\330\325\331\325\332\333\334\325\335\325\336\325\337\325\340\325\341\325&\210\342\343\344!\210\342\345\304!\203L \346\202R \347\305!\210\350\347\351!\210\352)\324.\236\204f \353.B.\354\355!\207" [mh-folder-mode-map major-mode truncate-lines buffer-offer-save local-write-file-hooks write-file-hooks kill-all-local-variables use-local-map mh-folder-mode mh-set-mode-name "MH-Folder" mh-make-local-vars mh-current-folder buffer-name mh-show-buffer format "show-%s" mh-folder-filename file-name-as-directory mh-expand-file-name mh-showing nil mh-delete-list mh-refile-list mh-seq-list mh-seen-list mh-next-direction forward mh-narrowed-to-seq mh-first-msg-num mh-last-msg-num mh-msg-count mh-mode-line-annotation mh-previous-window-config t auto-save-mode -1 boundp (mh-execute-commands) make-local-variable (mh-execute-commands) revert-buffer-function mh-undo-folder (mh-showing " Show") run-hooks mh-folder-mode-hook minor-mode-alist] 31 (#$ . 20162)])
(defalias 'mh-make-local-vars #[(&rest pairs) "\205 \301@!A@L\210AA\211\204 \302\207" [pairs make-local-variable nil] 3])
(defalias 'mh-scan-folder #[(folder range) "\302!\204 \303!\210\202 \304!\210\305!\210\306	!\210\307\310 !\2038 	\311\232\203. \312\313\"\210\2024 \312\314	#\210\315\316!\210\317 \207" [folder range get-buffer mh-make-folder mh-process-or-undo-commands switch-to-buffer mh-regenerate-headers zerop buffer-size "all" message "Folder %s is empty" "No messages in %s, range %s" sit-for 5 mh-goto-cur-msg] 4])
(defalias 'mh-regenerate-headers #[(range &optional update) "\306\307\310\n\"\210\311 \306\211\203 db\210\202 \312 \210`\313\306\314\315\316\317 \n&\210	b\210\320\321!\203@ \322!\210\202K \320\323!\204K \322!\210\324\n\306\"\325 \210\204e \326\232?\205c  \327 \210\330!\210+\330\306!\210\307\331\n\"*\207" [mh-current-folder scan-start folder buffer-file-name buffer-read-only mh-folder-updating-mod-flag nil message "Scanning %s..." buffer-modified-p erase-buffer mh-exec-cmd-output "-noclear" "-noheader" "-width" window-width looking-at "scan: no messages in" keep-lines "scan: " mh-read-folder-sequences mh-notate-user-sequences "all" mh-make-folder-mode-line mh-set-folder-modified-p "Scanning %s...done" update mh-scan-prog range mh-valid-scan-line mh-seq-list mh-partial-folder-mode-line-annotation mh-mode-line-annotation] 9])
(defalias 'mh-get-new-mail #[(maildrop-name) "`\306\307 \306\211$%\203 \310\311\n%#\210\202\" \310\312\n\"\210\313&db\210`'%\203D \314(\306\n\315\316%!\317\320 \321&\210\202M \314(\306\317\320 $\210%\203\\ \310\322\n%#\210\202a \310\323\n\"\210'b\210\212\324\325\306\326#)\203\213 \310\327%\203z \330\202{ \331%\203\205 %\202\206 \331#\210\202\237 \324\332\306\326#\203\232 \333\334!\210\202\237 \335 \210\326\336)!\210\337\n\326\"*\340 \210	\203\271 \341 \210\342 \202\273 b)\343$!\210.\207" [mh-current-folder new-mail-p folder point-before-inc buffer-file-name buffer-read-only nil buffer-modified-p message "inc %s -file %s..." "inc %s..." forward mh-exec-cmd-output "-file" expand-file-name "-width" window-width "-truncate" "inc %s -file %s...done" "inc %s...done" re-search-forward "^inc: no mail" t "No new mail%s%s" " in " "" "^inc:" error "inc error" mh-remove-cur-notation keep-lines mh-read-folder-sequences mh-notate-user-sequences mh-make-folder-mode-line mh-goto-cur-msg mh-set-folder-modified-p mh-folder-updating-mod-flag maildrop-name mh-next-direction start-of-inc mh-inc-prog mh-valid-scan-line mh-seq-list] 9])
(defalias 'mh-make-folder-mode-line #[(&optional ignored) "\212\305 \210\306\307!\310 \210\306\307!\311ed\"\312\313\203! \312\314\"\202\" \315\n\316\n!\203- \317\202? \n\320V\203; \312\321	#\202? \312\322\"$C\211)\207" [mh-first-msg-num mh-last-msg-num mh-msg-count mh-mode-line-annotation mode-line-buffer-identification mh-first-msg mh-get-msg-num nil mh-last-msg count-lines format "{%%b%s} %d msg%s" "/%s" "" zerop "s" 1 "s (%d-%d)" " (%d)"] 8])
(defalias 'mh-unmark-all-headers #[(remove-all-flags) "\212\306dS\306\307 \210`	X\205X u\210g\f\203+ \310HU\2044 \f\310HU\2044 \310HU\203; \311\312!\210\313c\210\f\203R \312u\210g\310HU\203R \311\312!\210\313c\210\306y\210\202 ,\207" [char last-line case-fold-search mh-cmd-note remove-all-flags mh-note-deleted nil mh-first-msg 0 delete-char 1 " " mh-note-refiled mh-note-cur mh-note-seq] 3])
(defalias 'mh-remove-cur-notation #[nil "\303\304!@\212\205 \305\306\211#\205 \307	!\205 \310\311\312\n#*\207" [cur-msg mh-cur-scan-msg-regexp mh-cmd-note mh-seq-to-msgs cur mh-goto-msg t looking-at mh-notate nil 32] 4])
(defalias 'mh-goto-cur-msg #[nil "\303\304!@\211\203! \305\306\211#\203! \307\310	\n#\210\311\312!\210\313!\202' \314 \210\315\316!)\207" [cur-msg mh-note-cur mh-cmd-note mh-seq-to-msgs cur mh-goto-msg t mh-notate nil mh-recenter 0 mh-maybe-show mh-last-msg message "No current message"] 5])
(defalias 'mh-process-or-undo-commands #[(folder) "q\210\302 \203 	\204 \303\304!\203 \305!\210\202 \306 \210\307 \210\310 \207" [folder mh-do-not-confirm mh-outstanding-commands-p y-or-n-p "Process outstanding deletes and refiles (or lose them)? " mh-process-commands mh-undo-folder mh-update-unseen mh-invalidate-show-buffer] 2])
(defalias 'mh-process-commands #[(folder) "\306\307\"\210q\210\310 \311\211\312 \210\313\314\f\"\210\311\203, \315\316\317\320!$\210\321!\210\311\322 \323V\203? \324\325\326\311!\206< \327C\"\210\301\330!!!\203V \331\301\330!!!!\204V \332 \210\333\"\311\"#\334\335!\210\336 \210\306\337\"\340!\210+\340\311!\210\207" [folder buffer-file-name buffer-read-only mh-folder-updating-mod-flag mh-refile-list mh-delete-list message "Processing deletes and refiles for %s..." buffer-modified-p nil mh-update-unseen mh-mapc #[(dest) "\303!\211\205 \304\305\306\307\n\310!\311	!&\210\312	!)\207" [dest msgs folder mh-seq-to-msgs apply mh-exec-cmd "refile" "-src" symbol-name mh-coalesce-msg-list mh-delete-scan-msgs] 9] apply mh-exec-cmd "rmm" mh-coalesce-msg-list mh-delete-scan-msgs buffer-size 0 mh-define-sequence cur mh-get-msg-num "last" get-buffer file-exists-p mh-invalidate-show-buffer mh-read-folder-sequences mh-unmark-all-headers t mh-notate-user-sequences "Processing deletes and refiles for %s...done" mh-set-folder-modified-p mh-show-buffer mh-current-folder mh-seq-list] 6])
(defalias 'mh-update-unseen #[nil "\2051 \304	!\211A\211\203- \305	\"\210\203% \306@\"A\211\204 \n\241\210\307\2020 \310\211*\207" [mh-seen-list mh-unseen-seq unseen-seq unseen-msgs mh-find-seq mh-undefine-sequence delq t nil] 4])
(defalias 'mh-delete-scan-msgs #[(msgs) "\212\205 \301@\302\211#\203 \303\304!\210A\211\204 \305)\207" [msgs mh-goto-msg t mh-delete-line 1 nil] 5])
(defalias 'mh-outstanding-commands-p #[nil "\206 	\207" [mh-delete-list mh-refile-list] 1])
(defalias 'mh-coalesce-msg-list #[(messages) "\305\306!\307\"\310\311\310\n\203I \2039 \n\247\203\" \f@\nS\232\2049 \n=\203/ 	B\2027 \312\313\n#	B\310\204@ \f@\f@\fA\202 	,\207" [messages ranges prev range-high msgs sort copy-sequence mh-greaterp nil -1 format "%s-%s"] 4])
(defalias 'mh-greaterp #[(msg1 msg2) "\247\203 	\247\203 	V\207\302\207	\247?\205 	\231\207" [msg1 msg2 t] 2])
(defalias 'mh-delete-seq-locally #[(seq) "\303!\304	\n\"\211)\207" [seq entry mh-seq-list mh-find-seq delq] 3])
(defalias 'mh-read-folder-sequences #[(folder save-refiles) "\304	\203 \305\306\n\"\210\212\307\304\310\311$\312=\2033 \313\314\304\315#\203/ \316\312\224\312\225{!\317 BB\202 e`|\210))\207" [seqs save-refiles mh-seq-list folder nil mh-mapc #[(seq) "\302@!\205\f 	B\211\207" [seq seqs mh-folder-name-p] 2] mh-exec-cmd-quiet "mark" "-list" 0 re-search-forward "^[^: ]+" t intern mh-read-msg-list] 5])
(defalias 'mh-read-msg-list #[nil "\304\212\304\210`)\304\305\306	\307#\203` \310\311\224\311\225{!\312\313!\203S \314u\210\305\306	\307#\210\310\311\224\311\225{!\211W\203> \315\316#\210X\203O \nBT\211\202? )\202 \317!\204 \nB\202 \n+\207" [num end-of-line msgs num2 nil re-search-forward "[0-9]+" t string-to-int 0 looking-at "-" 1 error "Bad message range: %d-%d" zerop] 5])
(defalias 'mh-notate-user-sequences #[nil "\305\211\205! \n@@\306	!\204 \307	\fT#\210\nA\211\204 \305*\207" [mh-seq-list name seqs mh-note-seq mh-cmd-note nil mh-internal-seq mh-notate-seq] 5])
(defalias 'mh-internal-seq #[(name) "\303>\206 	=\206 \n=\206 \304!\207" [name mh-unseen-seq mh-previous-seq (answered cur deleted forwarded printed) mh-folder-name-p] 2])
#@161 Delete MESSAGE from SEQUENCE.  MESSAGE defaults to displayed message.
From Lisp, optional third arg INTERNAL-FLAG non-nil means do not
inform MH of the change.
(defalias 'mh-delete-msg-from-seq #[(message sequence &optional internal-flag) "\305!\211\205! \306\n\307T$\210\f\204 \310\nC\"\210	\311\n	A\"\241)\207" [sequence entry message mh-cmd-note internal-flag mh-find-seq mh-notate-if-in-one-seq 32 mh-undefine-sequence delq] 6 (#$ . 32193) (list (mh-get-msg-num t) (mh-read-seq-default "Delete from" t) nil)])
(defalias 'mh-undefine-sequence #[(seq msgs) "\303\304\305\306\307	!\310\n!&\207" [mh-current-folder seq msgs mh-exec-cmd "mark" "-delete" "-sequence" symbol-name mh-coalesce-msg-list] 8])
(defalias 'mh-define-sequence #[(seq msgs) "\205 \303	!?\205 \212\304\305\306\n\307\310\311\312	!\313!&)\207" [msgs seq mh-current-folder mh-folder-name-p mh-exec-cmd-error nil "mark" "-add" "-zero" "-sequence" symbol-name mh-coalesce-msg-list] 10])
(defalias 'mh-map-over-seqs #[(func seq-list) "\205 	@@@A\"\210A\211\204 \302\207" [seq-list func nil] 4])
(defalias 'mh-notate-if-in-one-seq #[(msg notation offset seq) "\305\306\"\n	@=\205 	A?\205 \307\f#)\207" [msg in-seqs seq notation offset mh-seq-containing-msg nil mh-notate] 4])
(defalias 'mh-seq-containing-msg #[(msg &optional include-internal-p) "\305\211\203) \n@A>\203\" \f\204 \306\n@@!\204\" \n@@	B\nA\211\204 	*\207" [mh-seq-list seqs l msg include-internal-p nil mh-internal-seq] 3])
(defalias 'mh-read-msg-range #[(prompt) "\306!\211G\307\310\nW\203# \311	\n#\211@\fBA)\202 \f\237,\207" [prompt buf buf-size start input next read-string 0 nil read-from-string] 5])
(byte-code "\301!\210\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\374#\210\302\376\377#\210\302\201@ \201A #\210\302\201B \201A #\210\302\201C \201D #\210\302\201E \201D #\210\302\201F \201G #\210\302\201H \201G #\210\302\201I \201J #\210\302\201K \201L #\210\302\201M \201N #\210\302\201O \201P #\210\302\201Q \201R #\210\302\201S \201R #\210\302\201T \201U #\210\302\201V \201W #\210\302\201X \201Y #\210\302\201Z \201[ #\210\302\201\\ \201] #\210\302\201^ \201_ #\210\302\201` \201a #\210\302\201b \201a #\210\302\201c \201d #\210\302\201e \201d #\210\302\201f \201g #\207" [mh-folder-mode-map suppress-keymap define-key "q" mh-quit "b" mh-compat-quit "?" mh-msg-is-in-seq "%" mh-put-msg-in-seq "|" mh-pipe-msg "a" mh-edit-again "%" mh-delete-msg-from-seq "#" mh-delete-seq "n" mh-narrow-to-seq "w" mh-widen "b" mh-burst-digest "u" mh-undo-folder " " mh-page-digest "" mh-page-digest-backwards "d" mh-redistribute "e" mh-extract-rejected-mail "f" mh-visit-folder "k" mh-kill-folder "l" mh-list-folders "n" mh-store-msg "p" mh-pack-folder "q" mh-list-sequences "s" mh-search-folder "r" mh-rescan-folder "l" mh-print-msg "t" mh-toggle-showing "c" mh-copy-msg "i" mh-inc-folder "x" mh-execute-commands "e" "f" mh-forward "m" mh-send "s" "r" mh-reply "a" "j" mh-goto-msg "g" "<" mh-first-msg ">" mh-last-msg "" mh-previous-page " " mh-page-msg "" mh-show "." "," mh-header-display "u" mh-undo "d" mh-delete-msg "" mh-delete-msg-no-motion "p" mh-previous-undeleted-msg "n" mh-next-undeleted-msg "o" mh-refile-msg "^" "" mh-write-msg-to-file ">" "!" mh-refile-or-write-again] 4)
#@202 Compose and send mail with the MH mail system.
This function is an entry point to mh-e, the Emacs front end
to the MH mail system.
See documentation of `\[mh-send]' for more details on composing mail.
(autoload 'mh-smail "mh-comp" '(#$ . 35996) t)
#@218 Compose and send mail in other window with the MH mail system.
This function is an entry point to mh-e, the Emacs front end
to the MH mail system.
See documentation of `\[mh-send]' for more details on composing mail.
(autoload 'mh-smail-other-window "mh-comp" '(#$ . 36251) t)
#@228 Clean-up a draft or a message previously sent and make it resendable.
Default is the current message.
The variable mh-new-draft-cleaned-headers specifies the headers to remove.
See also documentation for `\[mh-send]' function.
(autoload 'mh-edit-again "mh-comp" '(#$ . 36535) t)
#@251 Extract a letter returned by the mail system and make it resendable.
Default is the current message.  The variable mh-new-draft-cleaned-headers
gives the headers to clean out of the original message.
See also documentation for `\[mh-send]' function.
(autoload 'mh-extract-rejected-mail "mh-comp" '(#$ . 36821) t)
#@198 Forward a message or message sequence.  Defaults to displayed message.
If optional prefix argument provided, then prompt for the message sequence.
See also documentation for `\[mh-send]' function.
(autoload 'mh-forward "mh-comp" '(#$ . 37141) t)
#@171 Redistribute a letter.
Depending on how your copy of MH was compiled, you may need to change the
setting of the variable mh-redist-full-contents.  See its documentation.
(autoload 'mh-redistribute "mh-comp" '(#$ . 37394) t)
#@466 Reply to a MESSAGE (default: displayed message).
If optional prefix argument INCLUDEP provided, then include the message
in the reply using filter mhl.reply in your MH directory.
Prompts for type of addresses to reply to:
   from    sender only,
   to      sender and primary recipients,
   cc/all  sender and all recipients.
If the file named by `mh-repl-formfile' exists, it is used as a skeleton
for the reply.  See also documentation for `\[mh-send]' function.
(autoload 'mh-reply "mh-comp" '(#$ . 37625) t)
#@363 Compose and send a letter.
The file named by `mh-comp-formfile' will be used as the form.
Do not call this function from outside mh-e; use \[mh-smail] instead.
The letter is composed in mh-letter-mode; see its documentation for more
details.  If `mh-compose-letter-function' is defined, it is called on the
draft and passed three arguments: to, subject, and cc.
(autoload 'mh-send "mh-comp" '(#$ . 38144) t)
#@179 Compose and send a letter in another window.
Do not call this function from outside mh-e;
use \[mh-smail-other-window] instead.
See also documentation for `\[mh-send]' function.
(autoload 'mh-send-other-window "mh-comp" '(#$ . 38559) t)
#@102 Mode for composing letters in mh-e.
For more details, type \[describe-mode] while in MH-Letter mode.
(autoload 'mh-letter-mode "mh-comp" '(#$ . 38803) t)
#@191 Burst apart the current message, which should be a digest.
The message is replaced by its table of contents and the messages from the
digest are inserted into the folder after that message.
(autoload 'mh-burst-digest "mh-funcs" '(#$ . 38964) t)
#@186 Copy to another FOLDER the specified MESSAGE(s) without deleting them.
Default is the displayed message.  If optional prefix argument is
provided, then prompt for the message sequence.
(autoload 'mh-copy-msg "mh-funcs" '(#$ . 39216) t)
#@28 Remove the current folder.
(autoload 'mh-kill-folder "mh-funcs" '(#$ . 39458) t)
#@20 List mail folders.
(autoload 'mh-list-folders "mh-funcs" '(#$ . 39545) t)
#@253 Renumber the messages of a folder to be 1..n.
First, offer to execute any outstanding commands for the current folder.
If optional prefix argument provided, prompt for the range of messages
to display after packing.  Otherwise, show the entire folder.
(autoload 'mh-pack-folder "mh-funcs" '(#$ . 39626) t)
#@194 Pipe the current message through the given shell COMMAND.
If INCLUDE-HEADERS (prefix argument) is provided, send the entire message.
Otherwise just send the message's body without the headers.
(autoload 'mh-pipe-msg "mh-funcs" '(#$ . 39939) t)
#@53 Advance displayed message to next digested message.
(autoload 'mh-page-digest "mh-funcs" '(#$ . 40189) t)
#@57 Back up displayed message to previous digested message.
(autoload 'mh-page-digest-backwards "mh-funcs" '(#$ . 40301) t)
#@276 Print MESSAGE(s) (default: displayed message) on printer.
If optional prefix argument provided, then prompt for the message sequence.
The variable mh-lpr-command-format is used to generate the print command.
The messages are formatted by mhl.  See the variable mhl-formfile.
(autoload 'mh-print-msg "mh-funcs" '(#$ . 40428) t)
#@195 Sort the messages in the current folder by date.
Calls the MH program sortm to do the work.
The arguments in the list  mh-sortm-args  are passed to sortm
if this function is passed an argument.
(autoload 'mh-sort-folder "mh-funcs" '(#$ . 40762) t)
#@38 Undo all commands in current folder.
(autoload 'mh-undo-folder "mh-funcs" '(#$ . 41016) t)
#@249 Store the file(s) contained in the current message into DIRECTORY.
The message can contain a shar file or uuencoded file.
Default directory is the last directory used, or initially the value of
mh-store-default-directory  or the current directory.
(autoload 'mh-store-msg "mh-funcs" '(#$ . 41114) t)
#@248 Store the file(s) contained in the current buffer into DIRECTORY.
The buffer can contain a shar file or uuencoded file.
Default directory is the last directory used, or initially the value of
`mh-store-default-directory' or the current directory.
(autoload 'mh-store-buffer "mh-funcs" '(#$ . 41421) t)
#@103 Search FOLDER for messages matching a pattern.
Add the messages found to the sequence named `search'.
(autoload 'mh-search-folder "mh-pick" '(#$ . 41730) t)
#@22 Delete the SEQUENCE.
(autoload 'mh-delete-seq "mh-seq" '(#$ . 41893) t)
#@39 List the sequences defined in FOLDER.
(autoload 'mh-list-sequences "mh-seq" '(#$ . 41971) t)
#@74 Display the sequences that contain MESSAGE (default: displayed message).
(autoload 'mh-msg-is-in-seq "mh-seq" '(#$ . 42070) t)
#@100 Restrict display of this folder to just messages in SEQUENCE
Use \[mh-widen] to undo this command.
(autoload 'mh-narrow-to-seq "mh-seq" '(#$ . 42204) t)
#@134 Add MESSAGE(s) (default: displayed message) to SEQUENCE.
If optional prefix argument provided, then prompt for the message sequence.
(autoload 'mh-put-msg-in-seq "mh-seq" '(#$ . 42364) t)
#@72 Remove restrictions from current folder, thereby showing all messages.
(autoload 'mh-widen "mh-seq" '(#$ . 42558) t)
#@35 Rename SEQUENCE to have NEW-NAME.
(autoload 'mh-rename-seq "mh-seq" '(#$ . 42681) t)
(byte-code "\302\303\211\203 	@\304\305\"\210	A\211\204 *\303\207" [mess #:--dolist-temp--97269 ("^Cursor not pointing to message$" "^There is no other window$") nil add-to-list debug-ignored-errors] 4)
