;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Tue Apr 25 19:10:36 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/mh-e.el ;;; emacs version 19.28.90.40. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/mh-e.el' was compiled for Emacs 19")) (byte-code "\nB" ["Time-stamp: <95/04/11 15:43:42 gildea>" mh-e-time-stamp current-load-list] 2) #@42 Version numbers of this version of mh-e. (defconst mh-e-version "5.0.1" (#$ . 580)) (byte-code "\nB!!" ["$Id: mh-e.el,v 1.8 1995/04/25 22:28:04 kwzh Exp $" mh-e-RCS-id current-load-list provide mh-e require mh-utils] 2) #@44 Invoked in MH-Folder mode on a new folder. (defvar mh-folder-mode-hook nil (#$ . 816)) #@92 Invoked by \`\[mh-inc-folder]' after incorporating mail into a folder. (defvar mh-inc-folder-hook nil (#$ . 909)) #@66 Invoked after \`\[mh-show]' shows a message. (defvar mh-show-hook nil (#$ . 1049)) #@42 Invoked in MH-Show mode on each message. (defvar mh-show-mode-hook nil (#$ . 1158)) #@50 Invoked after marking each message for deletion. (defvar mh-delete-msg-hook nil (#$ . 1248)) #@50 Invoked after marking each message for refiling. (defvar mh-refile-msg-hook nil (#$ . 1347)) #@93 Invoked by \`\[mh-quit]' before quitting mh-e. See also mh-quit-hook. (defvar mh-before-quit-hook nil (#$ . 1446)) #@93 Invoked after \`\[mh-quit]' quits mh-e. See also mh-before-quit-hook. (defvar mh-quit-hook nil (#$ . 1589)) #@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-print-msg]'. (defvar mh-lpr-command-format "lpr -J '%s'" (#$ . -1726)) #@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. (defvar mh-scan-prog "scan" (#$ . -2073)) (make-variable-buffer-local (quote 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. (defvar mh-inc-prog "inc" (#$ . -2446)) #@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. (defvar mh-print-background nil (#$ . -2661)) #@74 *Recenter summary window when the show window is toggled off if non-nil. (defvar mh-recenter-summary-p nil (#$ . -2864)) #@150 *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. (defvar mh-do-not-confirm nil (#$ . -2992)) #@124 *Last directory used by \[mh-store-msg]; default for next store. A directory name string, or nil to use current directory. (defvar mh-store-default-directory nil (#$ . -3192)) #@61 Regexp specifiying the scan lines that are 'good' messages. (defvar mh-good-msg-regexp "^....[^D^]" (#$ . 3374)) #@49 Regexp matching scan lines of deleted messages. (defvar mh-deleted-msg-regexp "^....D" (#$ . 3493)) #@49 Regexp matching scan lines of refiled messages. (defvar mh-refiled-msg-regexp "^....\\^" (#$ . 3599)) #@63 Regexp matching scan lines for messages (not error messages). (defvar mh-valid-scan-line "^ *[0-9]" (#$ . 3707)) #@48 Regexp matching scan line for the cur message. (defvar mh-cur-scan-msg-regexp "^....\\+" (#$ . 3826)) #@66 String whose first character is used to notate deleted messages. (defvar mh-note-deleted "D" (#$ . 3934)) #@66 String whose first character is used to notate refiled messages. (defvar mh-note-refiled "^" (#$ . 4046)) #@69 String whose first character is used to notate the current message. (defvar mh-note-cur "+" (#$ . 4158)) #@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" (#$ . 4270)) (byte-code "! B‡" [boundp mh-last-destination nil current-load-list] 2) #@24 Keymap for MH folders. (defvar mh-folder-mode-map (make-keymap) (#$ . 4545)) (byte-code "! B! B!  B!- B!: B!G B!T\n B‡" [boundp mh-delete-list nil current-load-list mh-refile-list mh-next-direction forward mh-narrowed-to-seq mh-first-msg-num mh-last-msg-num mh-mode-line-annotation] 2) (defalias 'mh-mapc #[(func list) " @!A‡" [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) " ! " [mh-find-path arg call-interactively mh-visit-folder mh-inc-folder] 2 (#$ . 4974) "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 " !!" [mh-find-path require mh-comp call-interactively mh-send] 2 (#$ . 5278) 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 " !!" [mh-find-path require mh-comp call-interactively mh-send-other-window] 2 (#$ . 5534) 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) " ! " [mh-delete-msg-no-motion msg-or-seq mh-next-msg] 2 (#$ . 5832) (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) " !\"" [msg-or-seq mh-delete-a-msg mh-map-to-seq-msgs] 3 (#$ . 6223) (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 " ! LJ" [mh-narrowed-to-seq mh-widen mh-process-commands mh-current-folder mh-set-scan-mode mh-goto-cur-msg mh-make-folder-mode-line t] 2 (#$ . 6613) nil]) #@28 Move to the first message. (defalias 'mh-first-msg #[nil "ebm? !?y" [looking-at mh-valid-scan-line 1] 2 (#$ . 6877) 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 " \f\n ĉ!  !\n)p!̎eb!*ω*" [mh-showing-with-headers mhl-formfile mh-clean-message-header mh-invalidate-show-buffer nil mh-show-msg selected-window mh-in-show-buffer-saved-window switch-to-buffer-other-window mh-show-buffer mh-bury-show-buffer bury-buffer ((select-window mh-in-show-buffer-saved-window)) mh-recenter 0 t] 2 (#$ . 7020) 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) " \n&\f!\f! &p\f!=&\f! )\n!!" [current-window-configuration config maildrop-name get-buffer mh-inbox mh-make-folder mh-previous-window-config switch-to-buffer mh-get-new-mail run-hooks mh-inc-folder-hook] 3 (#$ . 7748) (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 "dbo?!y" [looking-at "^$" -1] 2 (#$ . 8528) nil]) #@51 Move to the NTH next undeleted message in window. (defalias 'mh-next-undeleted-msg #[(&optional arg) "y\f$y y !# !" [forward mh-next-direction 1 re-search-forward mh-good-msg-regexp nil 0 arg mh-maybe-show -1 get-buffer mh-show-buffer delete-windows-on] 5 (#$ . 8654) "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) " B  \" # " [refile folder mh-last-destination msg-or-seq mh-refile-a-msg mh-map-to-seq-msgs mh-next-msg] 4 (#$ . 8960) (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 (quote 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) "!@= A\"A\"+ A#A\" " [mh-last-destination error "No previous refile or write" refile mh-refile-a-msg message "Destination folder: %s" apply mh-write-msg-to-file "Destination: %s" mh-next-msg] 4 (#$ . 9824) (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 "! p!!!$!!" [run-hooks mh-before-quit-hook mh-update-sequences mh-invalidate-show-buffer bury-buffer get-buffer mh-show-buffer mh-previous-window-config set-window-configuration mh-quit-hook] 2 (#$ . 10314) 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) " !" [scroll-other-window arg] 2 (#$ . 10750) "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) "  !\fp!Ǝ!*" [selected-window mh-in-show-buffer-saved-window switch-to-buffer-other-window mh-show-buffer mh-bury-show-buffer bury-buffer ((select-window mh-in-show-buffer-saved-window)) scroll-down arg] 2 (#$ . 10952) "P"]) #@55 Move to the NTH previous undeleted message in window. (defalias 'mh-previous-undeleted-msg #[(&optional arg) "y\f$  ! !" [backward mh-next-direction 0 re-search-backward mh-good-msg-regexp nil arg mh-maybe-show get-buffer mh-show-buffer delete-windows-on] 5 (#$ . 11344) "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) " \f \"" [forward mh-next-direction mh-scan-folder mh-current-folder range "all"] 3 (#$ . 11650) (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) " ! ! E\n!q !eb-!`d\f#+" [mh-msg-filename msg mh-expand-file-name file output-file msg-file-to-output write no-headers mh-last-destination get-buffer-create mh-temp-buffer erase-buffer insert-file-contents search-forward "\n\n" append-to-file] 4 (#$ . 12081) (list (mh-get-msg-num t) (let ((default-dir (if (eq (quote 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 (quote 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 " " [mh-showing mh-set-scan-mode mh-show] 1 (#$ . 13017) 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) "e`y\f!B !B=!oB=1ym)B=<ʂ=y\n\f!N !Z!! a b!)j\"\" ?y!" [msg-or-seq original-position 0 looking-at mh-deleted-msg-regexp mh-refiled-msg-regexp mh-next-direction 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) " !? \"" [mh-seq-to-msgs elt delq mh-refile-list] 3] mh-refile-list mh-outstanding-commands-p mh-set-folder-modified-p] 3 (#$ . 13193) (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 " \n!q  \f!ͱ Џ\"ձ`ُb#y`|eb)\n!" [mh-find-progs get-buffer-create mh-temp-buffer erase-buffer " mh-e info:\n\nversion: " mh-e-version "\n" mh-e-time-stamp "\nEmacs: " emacs-version " on " symbol-name system-type " " nil (call-process "uname" nil t nil "-a") ((file-error)) "\n\n MH info:\n\n" expand-file-name "inc" mh-progs ":\n" help-start err-data (mh-exec-cmd-output "inc" nil "-help") ((file-error (byte-code "\nA#c" [mapconcat concat err-data ": "] 4))) search-forward "version: " t 0 display-buffer] 9 (#$ . 14002) 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) "  \f\n\" )LJ" [current-window-configuration config mh-scan-folder folder range "all" mh-previous-window-config nil] 3 (#$ . 14694) (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 " !\"!!" [message "%s" documentation this-command sit-for 1 call-interactively mh-quit] 4 (#$ . 15096) 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 " ! 4!  C C\"y\f!0#)A\fA$)*" [mh-update-unseen mh-get-msg-num nil new-cur folder-set mh-find-seq cur seq-entry mh-remove-cur-notation mh-define-sequence 0 looking-at mh-good-msg-regexp mh-notate mh-note-cur mh-cmd-note mh-exec-cmd-quiet t "folder" mh-current-folder "-fast"] 5 (#$ . 15320) nil]) (defalias 'mh-delete-a-msg #[(msg) " # ! \"!?5! \nB\n # #!)" [mh-goto-msg msg nil t looking-at mh-refiled-msg-regexp error "Message %d is refiled. Undo refile before deleting." mh-deleted-msg-regexp mh-set-folder-modified-p mh-delete-list mh-add-msgs-to-seq deleted mh-notate mh-note-deleted mh-cmd-note run-hooks mh-delete-msg-hook] 4]) (defalias 'mh-refile-a-msg #[(msg destination) " # ! \"l!> \f#!8!\f!&l!l!\f>Q\fB \f!>a \f# #!)" [mh-goto-msg msg nil t looking-at mh-deleted-msg-regexp error "Message %d is deleted. Undo delete before moving." mh-refiled-msg-regexp y-or-n-p format "Message %d already refiled. Copy to %s as well? " destination mh-exec-cmd "refile" mh-get-msg-num "-link" "-src" mh-current-folder symbol-name message "Message not copied." mh-set-folder-modified-p mh-refile-list mh-seq-to-msgs mh-add-msgs-to-seq mh-notate mh-note-refiled mh-cmd-note run-hooks mh-refile-msg-hook] 8]) (defalias 'mh-next-msg #[nil "=\n!!" [mh-next-direction forward mh-next-undeleted-msg 1 mh-previous-undeleted-msg] 2]) (defalias 'mh-set-scan-mode #[nil " !\n ! !" [get-buffer mh-show-buffer delete-windows-on nil mh-showing force-mode-line-update mh-recenter-summary-p mh-recenter] 2]) (defalias 'mh-undo-msg #[(msg) " > \"#\" #" [msg mh-delete-list delq mh-delete-msg-from-seq deleted t mh-mapc #[(dest) " \n#" [mh-delete-msg-from-seq msg dest t] 4] mh-refile-list mh-notate 32 mh-cmd-note] 4]) (defalias 'mh-make-folder #[(name) " !  ! " [switch-to-buffer name nil buffer-read-only erase-buffer t mh-folder-mode mh-set-folder-modified-p mh-folder-filename buffer-file-name mh-make-folder-mode-line] 2]) (put (quote mh-folder-mode) (quote mode-class) (quote special)) #@3285 Major mh-e mode for "editing" an MH folder scan listing.\ 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 " \n!! \" !!&!!!M#T!&!(*h*B*!" [kill-all-local-variables use-local-map mh-folder-mode-map mh-folder-mode major-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-mode-line-annotation mh-previous-window-config t truncate-lines auto-save-mode -1 buffer-offer-save boundp local-write-file-hooks (mh-execute-commands) make-local-variable write-file-hooks (mh-execute-commands) revert-buffer-function mh-undo-folder minor-mode-alist (mh-showing " Show") run-hooks mh-folder-mode-hook] 29 (#$ . 17697)]) (defalias 'mh-make-local-vars #[(&rest pairs) "@!@A@LAA‡" [pairs make-variable-buffer-local nil] 3]) (defalias 'mh-scan-folder #[(folder range) " ! ! ! !! U;ɚ0 \"7 #! " [get-buffer folder mh-make-folder mh-process-or-undo-commands switch-to-buffer mh-regenerate-headers range buffer-size 0 "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) " \"  \ndb! ` &\nb!C!N!N! \" \nhۚ?f  !+! \"*" [mh-current-folder nil scan-start folder message "Scanning %s..." buffer-modified-p buffer-file-name buffer-read-only mh-folder-updating-mod-flag update erase-buffer mh-exec-cmd-output mh-scan-prog "-noclear" "-noheader" "-width" window-width range looking-at "scan: no messages in" keep-lines mh-valid-scan-line "scan: " mh-read-folder-sequences mh-seq-list mh-notate-user-sequences "all" mh-partial-folder-mode-line-annotation mh-mode-line-annotation mh-make-folder-mode-line mh-set-folder-modified-p "Scanning %s...done"] 9]) (defalias 'mh-get-new-mail #[(maildrop-name) "` \n \n## \"!db`\nG \n! &P $\n_ \n#c \"!b#)\n~ނ\n\n##! %! \"' \n \fb)!." [mh-current-folder nil new-mail-p folder point-before-inc buffer-modified-p buffer-file-name buffer-read-only mh-folder-updating-mod-flag message maildrop-name format "inc %s -file %s..." "inc %s..." forward mh-next-direction start-of-inc mh-exec-cmd-output mh-inc-prog "-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-valid-scan-line mh-read-folder-sequences mh-seq-list mh-notate-user-sequences mh-goto-cur-msg mh-make-folder-mode-line mh-set-folder-modified-p] 9]) (defalias 'mh-make-folder-mode-line #[(&optional ignored) " ! !ed\"\n$\n\"%U1΂DV@ #D \"$C*" [mh-first-msg mh-get-msg-num nil mh-first-msg-num mh-last-msg mh-last-msg-num count-lines lines format "{%%b%s} %d msg%s" mh-mode-line-annotation "/%s" "" 0 "s" 1 "s (%d-%d)" " (%d)" mode-line-buffer-identification] 8]) (defalias 'mh-unmark-all-headers #[(remove-all-flags) "dS `\nX[ ug- H=6  H=6 \nH==!cUugH=U!cy ," [nil char last-line case-fold-search mh-first-msg mh-cmd-note remove-all-flags mh-note-deleted 0 mh-note-refiled mh-note-cur delete-char 1 " " mh-note-seq] 3]) (defalias 'mh-remove-cur-notation #[nil "!@\n\nĉ#!\n#*" [mh-seq-to-msgs cur cur-msg mh-goto-msg t looking-at mh-cur-scan-msg-regexp mh-notate nil 32 mh-cmd-note] 4]) (defalias 'mh-goto-cur-msg #[nil "!@#\nĉ###!\n!) !)" [mh-seq-to-msgs cur cur-msg mh-goto-msg t mh-notate nil mh-note-cur mh-cmd-note mh-recenter 0 mh-maybe-show mh-last-msg message "No current message"] 5]) (defalias 'mh-process-or-undo-commands #[(folder) "q \n!! " [folder mh-outstanding-commands-p mh-do-not-confirm 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) "\n\"\nq ĉ  \" \f4\n\f!$\f!\f VG!DC\"!!^!!!^ \"! \n\"!+!" [message "Processing deletes and refiles for %s..." folder buffer-modified-p nil buffer-file-name buffer-read-only mh-folder-updating-mod-flag mh-update-unseen mh-mapc #[(dest) " ! !\n!&\n!)" [mh-seq-to-msgs dest msgs apply mh-exec-cmd "refile" "-src" folder symbol-name mh-coalesce-msg-list mh-delete-scan-msgs] 9] mh-refile-list mh-delete-list 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 mh-show-buffer file-exists-p mh-invalidate-show-buffer mh-read-folder-sequences mh-current-folder mh-seq-list mh-unmark-all-headers t mh-notate-user-sequences "Processing deletes and refiles for %s...done" mh-set-folder-modified-p] 6]) (defalias 'mh-update-unseen #[nil "1\n!A-\n\"%@\f\"A \fǂ0ȉ*" [mh-seen-list mh-find-seq mh-unseen-seq unseen-seq unseen-msgs mh-undefine-sequence delq t nil] 4]) (defalias 'mh-delete-scan-msgs #[(msgs) " \" 2`dW2! @,`y`)| A\ny )" [sort msgs < mh-first-msg mh-get-msg-num nil] 4]) (defalias 'mh-outstanding-commands-p #[nil " " [mh-delete-list mh-refile-list] 1]) (defalias 'mh-coalesce-msg-list #[(messages) "\n!\" cL+ @S=L==BI#BV @ @ A ," [sort copy-sequence messages mh-greaterp nil -1 ranges prev range-high msgs format "%s-%s"] 4]) (defalias 'mh-greaterp #[(msg1 msg2) "  V‡ ? " [msg1 msg2 t] 2]) (defalias 'mh-delete-seq-locally #[(seq) " !\n\f\")" [mh-find-seq seq entry delq mh-seq-list] 3]) (defalias 'mh-read-folder-sequences #[(folder save-refiles) "\n \"$=4#0ʔʕ{! B Be`|) )" [nil seqs save-refiles mh-mapc #[(seq) " @!\f \nB" [mh-folder-name-p seq seqs] 2] mh-seq-list mh-exec-cmd-quiet "mark" folder "-list" 0 re-search-forward "^[^: ]+" t intern mh-read-msg-list] 5]) (defalias 'mh-read-msg-list #[nil "`)\n#cȔȕ{!!Vu\n#Ȕȕ{!\f W@ \f# \fXR B TA) U B +" [nil num end-of-line msgs re-search-forward "[0-9]+" t string-to-int 0 looking-at "-" 1 num2 error "Bad message range: %d-%d"] 5]) (defalias 'mh-notate-user-sequences #[nil "# @@\n!\nT# A*" [mh-seq-list nil name seqs mh-internal-seq mh-notate-seq mh-note-seq mh-cmd-note] 5]) (defalias 'mh-internal-seq #[(name) ">\n= =!" [name (answered cur deleted forwarded printed) mh-unseen-seq mh-previous-seq 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) " !#\fT $ \fC\"\n\f\nA\")" [mh-find-seq sequence entry mh-notate-if-in-one-seq message 32 mh-cmd-note internal-flag mh-undefine-sequence delq] 6 (#$ . 28047) (list (mh-get-msg-num t) (mh-read-seq-default "Delete from" t) nil)]) (defalias 'mh-undefine-sequence #[(seq msgs) "\n!!&" [mh-exec-cmd "mark" mh-current-folder "-delete" "-sequence" symbol-name seq mh-coalesce-msg-list msgs] 8]) (defalias 'mh-define-sequence #[(seq msgs) "\n!?\n!!&)" [msgs mh-folder-name-p seq mh-exec-cmd-error nil "mark" mh-current-folder "-add" "-zero" "-sequence" symbol-name mh-coalesce-msg-list] 10]) (defalias 'mh-map-over-seqs #[(func seq-list) " @@@A\"A‡" [seq-list func nil] 4]) (defalias 'mh-notate-if-in-one-seq #[(msg notation offset seq) " \"\f @= A? #)" [mh-seq-containing-msg msg nil in-seqs seq mh-notate notation offset] 4]) (defalias 'mh-seq-containing-msg #[(msg &optional include-internal-p) ")\f @A>\"  @@!\" @@\nB A\n*" [mh-seq-list nil seqs l msg include-internal-p mh-internal-seq] 3]) (defalias 'mh-read-msg-range #[(prompt) " !G W(\n # @B A)\f," [read-string prompt buf buf-size 0 start nil input read-from-string next] 5]) (byte-code " ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @A# BA# CD# ED# FG# HG# IJ# KL# MN# OP# QR# SR# TU# VW# XY# Z[# \\]# ^_# `a# ba# cd# ed# fg#" [suppress-keymap mh-folder-mode-map 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 (quote mh-smail) "mh-comp" '(#$ . 31014) 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 (quote mh-smail-other-window) "mh-comp" '(#$ . 31276) 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 (quote mh-edit-again) "mh-comp" '(#$ . 31567) 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 (quote mh-extract-rejected-mail) "mh-comp" '(#$ . 31860) 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 (quote mh-forward) "mh-comp" '(#$ . 32187) 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 (quote mh-redistribute) "mh-comp" '(#$ . 32447) 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 (quote mh-reply) "mh-comp" '(#$ . 32685) 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 (quote mh-send) "mh-comp" '(#$ . 33211) 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 (quote mh-send-other-window) "mh-comp" '(#$ . 33633) t) #@102 Mode for composing letters in mh-e. For more details, type \[describe-mode] while in MH-Letter mode. (autoload (quote mh-letter-mode) "mh-comp" '(#$ . 33884) 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 (quote mh-burst-digest) "mh-funcs" '(#$ . 34052) 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 (quote mh-copy-msg) "mh-funcs" '(#$ . 34311) t) #@28 Remove the current folder. (autoload (quote mh-kill-folder) "mh-funcs" '(#$ . 34560) t) #@20 List mail folders. (autoload (quote mh-list-folders) "mh-funcs" '(#$ . 34654) 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 (quote mh-pack-folder) "mh-funcs" '(#$ . 34742) 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 (quote mh-pipe-msg) "mh-funcs" '(#$ . 35062) t) #@53 Advance displayed message to next digested message. (autoload (quote mh-page-digest) "mh-funcs" '(#$ . 35319) t) #@57 Back up displayed message to previous digested message. (autoload (quote mh-page-digest-backwards) "mh-funcs" '(#$ . 35438) 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 (quote mh-print-msg) "mh-funcs" '(#$ . 35572) 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 (quote mh-sort-folder) "mh-funcs" '(#$ . 35913) t) #@38 Undo all commands in current folder. (autoload (quote mh-undo-folder) "mh-funcs" '(#$ . 36174) 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 (quote mh-store-msg) "mh-funcs" '(#$ . 36279) 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 (quote mh-store-buffer) "mh-funcs" '(#$ . 36593) t) #@103 Search FOLDER for messages matching a pattern. Add the messages found to the sequence named `search'. (autoload (quote mh-search-folder) "mh-pick" '(#$ . 36909) t) #@22 Delete the SEQUENCE. (autoload (quote mh-delete-seq) "mh-seq" '(#$ . 37079) t) #@39 List the sequences defined in FOLDER. (autoload (quote mh-list-sequences) "mh-seq" '(#$ . 37164) t) #@74 Display the sequences that contain MESSAGE (default: displayed message). (autoload (quote mh-msg-is-in-seq) "mh-seq" '(#$ . 37270) t) #@100 Restrict display of this folder to just messages in SEQUENCE Use \[mh-widen] to undo this command. (autoload (quote mh-narrow-to-seq) "mh-seq" '(#$ . 37411) t) #@134 Add MESSAGE(s) (default: displayed message) to SEQUENCE. If optional prefix argument provided, then prompt for the message sequence. (autoload (quote mh-put-msg-in-seq) "mh-seq" '(#$ . 37578) t) #@72 Remove restrictions from current folder, thereby showing all messages. (autoload (quote mh-widen) "mh-seq" '(#$ . 37779) t) #@35 Rename SEQUENCE to have NEW-NAME. (autoload (quote mh-rename-seq) "mh-seq" '(#$ . 37909) t)