;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:46:46 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/mh-funcs.el ;;; emacs version 19.28.90.26. ;;; 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-funcs.el' was compiled for Emacs 19")) (byte-code "!!" [provide mh-funcs require mh-e] 2) #@296 Extra arguments to have \[mh-sort-folder] pass to the "sortm" command. The arguments are passed to sortm if \[mh-sort-folder] is given a prefix argument. Normally default arguments to sortm are specified in the MH profile. For example, '("-nolimit" "-textfield" "subject") is a useful setting. (defvar mh-sortm-args nil (#$ . 543)) #@65 String whose first character is used to notate copied messages. (defvar mh-note-copied "C" (#$ . 882)) #@66 String whose first character is used to notate printed messages. (defvar mh-note-printed "P" (#$ . 991)) #@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. (defalias 'mh-burst-digest #[nil "!\f!!!\f\n$ ̉ y`d|!+\n\"\" !)" [mh-get-msg-num t digest mh-process-or-undo-commands mh-current-folder mh-set-folder-modified-p message "Bursting digest..." mh-exec-cmd "burst" "-inplace" buffer-modified-p nil buffer-file-name buffer-read-only mh-folder-updating-mod-flag 0 mh-regenerate-headers format "%d-last" mh-goto-cur-msg "Bursting digest...done"] 5 (#$ . 1103) nil]) #@186 Copy the specified MESSAGE(s) to another FOLDER without deleting them. Default is the displayed message. If optional prefix argument is provided, then prompt for the message sequence. (defalias 'mh-copy-msg #[(msg-or-seq folder) "\n &\n\n #\n #" [mh-exec-cmd "refile" msg-or-seq "-link" "-src" mh-current-folder folder mh-notate mh-note-copied mh-cmd-note mh-notate-seq] 7 (#$ . 1747) (list (if current-prefix-arg (mh-read-seq-default "Copy" t) (mh-get-msg-num t)) (mh-prompt-for-folder "Copy to" "" t))]) #@28 Remove the current folder. (defalias 'mh-kill-folder #[nil " \f\"!I\f ! \" \"\"! \"!!D! !)!" [mh-do-not-confirm yes-or-no-p format "Remove folder %s? " mh-current-folder folder mh-folder-list mh-set-folder-list mh-set-folder-modified-p t mh-exec-cmd-daemon "rmf" delq assoc run-hooks mh-folder-list-change-hook message "Folder %s removed" nil get-buffer mh-show-buffer kill-buffer "Folder not removed"] 4 (#$ . 2282) nil]) #@20 List mail folders. (defalias 'mh-list-folders #[nil "! !ɂ#eb!)" [mh-temp-buffer switch-to-buffer erase-buffer message "Listing folders..." mh-exec-cmd-output "folders" t mh-recursive-folders "-recurse" "-norecurse" "Listing folders...done"] 5 (#$ . 2764) nil]) #@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. (defalias 'mh-pack-folder #[(range) " ! !" [mh-pack-folder-1 range mh-goto-cur-msg message "Packing folder...done"] 2 (#$ . 3061) (list (if current-prefix-arg (mh-read-msg-range "Range to scan after packing [all]? ") "all"))]) (defalias 'mh-pack-folder-1 #[(range) " !!! &)\f!" [mh-process-or-undo-commands mh-current-folder message "Packing folder..." mh-set-folder-modified-p t mh-exec-cmd-quiet "folder" "-pack" "-norecurse" "-fast" mh-regenerate-headers range] 7]) #@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. (defalias 'mh-pipe-msg #[(command include-headers) "!! !q !eb\n\"!\f`d$," [mh-msg-filename mh-get-msg-num t default-directory message-directory msg-file-to-pipe get-buffer-create mh-temp-buffer erase-buffer insert-file-contents include-headers search-forward "\n\n" shell-command-on-region command nil] 5 (#$ . 3816) (list (read-string "Shell command on message: ") current-prefix-arg)]) #@53 Advance displayed message to next digested message. (defalias 'mh-page-digest #[nil "  !\fp!Ǝ!\n#(#,!)#y!*" [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)) move-to-window-line 0 nil case-fold-search search-forward "\n\n" t re-search-forward "^From:" error "No more messages in digest" search-backward 2 mh-recenter] 4 (#$ . 4431) nil]) #@57 Back up displayed message to previous digested message. (defalias 'mh-page-digest-backwards #[nil "  !\fp!Ǝ!\ny#+#/!)#;y!*" [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)) move-to-window-line 0 nil case-fold-search search-backward "\n\n" t re-search-backward "^From:" error "No previous message in digest" 2 mh-recenter] 4 (#$ . 4939) nil]) #@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. (defalias 'mh-print-msg #[(msg-or-seq) "\f!!I\"!\n;-\n\". ?#D\"\"%#\"\n;c\n\"d! x#}\"\"&#܉&###!!)" [msg-or-seq message "Printing message..." "Printing sequence..." format "%s -nobell -clear %s %s | %s" expand-file-name "mhl" mh-lib mh-msg-filename mhl-formfile "-form %s" "" mh-lpr-command-format "%s/%d" mh-current-folder "Sequence from %s" "(scan -clear %s ; %s -nobell -clear %s %s) | %s" mapconcat #[(msg) "" [msg] 1] " " mh-msg-filenames print-command mh-print-background mh-exec-cmd-daemon shell-file-name "-c" call-process nil mh-notate mh-note-printed mh-cmd-note mh-notate-seq mh-add-msgs-to-seq printed t "Printing message...done" "Printing sequence...done"] 12 (#$ . 5456) (list (if current-prefix-arg (reverse (mh-seq-to-msgs (mh-read-seq-default "Print" t))) (mh-get-msg-num t)))]) (defalias 'mh-msg-filenames #[(msgs &optional folder) "\n#" [mapconcat #[(msg) " \n\"" [mh-msg-filename msg folder] 3] msgs " "] 4]) #@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. (defalias 'mh-sort-folder #[(&optional extra-args) " !!! \n #! \"" [mh-process-or-undo-commands mh-current-folder forward mh-next-direction mh-set-folder-modified-p t message "Sorting folder..." mh-exec-cmd "sortm" extra-args mh-sortm-args "Sorting folder...done" mh-scan-folder "all"] 4 (#$ . 6834) "P"]) #@57 Undo all pending deletes and refiles in current folder. (defalias 'mh-undo-folder #[(&rest ignore) "\n!, É\n \f!\f!+!!!" [mh-do-not-confirm yes-or-no-p "Undo all commands in folder? " nil mh-delete-list mh-refile-list mh-seq-list forward mh-next-direction buffer-modified-p buffer-file-name buffer-read-only mh-folder-updating-mod-flag mh-unmark-all-headers t mh-set-folder-modified-p message "Commands not undone." sit-for 2] 3 (#$ . 7364) nil]) #@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. (defalias 'mh-store-msg #[(directory) "!! !q ! !*" [mh-msg-filename mh-get-msg-num t msg-file-to-store get-buffer-create mh-temp-buffer erase-buffer insert-file-contents mh-store-buffer directory] 3 (#$ . 7855) (list (let ((udir (or mh-store-default-directory default-directory))) (read-file-name "Store message in directory: " udir udir nil)))]) #@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. (defalias 'mh-store-buffer #[(directory) " !eb##!yy!?#`)!Meb#L``{)q !l ر% ر ޱ)!\"!!#d&!)q!\")c-" [expand-file-name directory re-search-forward "^#![ ]*/bin/sh\\|^#\\|^: " nil t looking-at "^[^a-z0-9\"]*cut here\\b" 1 0 "^[#:]....+\n\\( ?\n\\)?end$" get-buffer-create "*Store Output*" "sh" "(unknown filename)" uudecode-filename command log-buffer sh-start store-directory "^begin [0-7]+ " erase-buffer file-directory-p "mkdir " "\n" call-process "mkdir" "cd " mh-store-default-directory "uudecode" " being uudecoded...\n" set-window-start display-buffer value file-name-as-directory default-directory call-process-region mh-handle-process-error "\n(mh-store finished)\n"] 7 (#$ . 8472) (list (let ((udir (or mh-store-default-directory default-directory))) (read-file-name "Store buffer in directory: " udir udir nil)))])