Mercurial > hg > Applications > mh
diff miscellany/mhe/mh-forw.ml @ 0:bce86c4163a3
Initial revision
author | kono |
---|---|
date | Mon, 18 Apr 2005 23:46:02 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/miscellany/mhe/mh-forw.ml Mon Apr 18 23:46:02 2005 +0900 @@ -0,0 +1,80 @@ +; This autoloaded file implements the "f" command of mhe +(defun + (&mh-forw actn exfl sm annotate fn + (save-window-excursion + (progn + (message "Forwarding message " (&mh-get-msgnum) "...") + (sit-for 0) + (&mh-save-killbuffer) + (pop-to-buffer (concat "+" mh-folder)) + (setq sm mode-line-format) + (delete-other-windows) + (setq annotate mh-annotate) + (setq fn (&mh-get-fname)) + (pop-to-buffer "draft") + (erase-buffer) + (insert-string "One moment, please...") + (unlink-file (concat mh-path "/draft")) + (send-to-shell + (concat mh-progs "/forw -build +" mh-folder " " + (&mh-get-msgnum)) + ) + (show-shell-errors) + (read-file (concat mh-path "/draft")) + (local-bind-to-key "exit-emacs" "\\") + (mail-mode) (header-line-position) + (sit-for 0) (setq exfl 0) + (while (= exfl 0) + (error-occured + (save-window-excursion + (pop-to-buffer (concat "+" mh-folder)) + (setq mode-line-format + "{%b} ^X^C exits to top level") + (pop-to-buffer "draft") + (setq mode-line-format + (concat "{%b} %[%p of " + mh-path "/draft%] " + "^X^C exits to top level")) + (&mh-restore-killbuffer) + (recursive-edit) + (setq mode-line-format + (concat "{%b} %[%p of " + mh-path "/draft%]")) + (pop-to-buffer (concat "+" mh-folder)) + (setq mode-line-format " ") + ) + ) + (setq actn (get-response "Ready to send. Action? (m, q, e, or ?) " "mMqQeE\" + "m: mail it, q: quit, e: resume editing, ?: this msg.")) + (if (= actn 'm') + (progn (message "Sending...") (sit-for 0) + (write-current-file) + (send-to-shell + (concat mh-progs "/send -noverbose " + mh-path "/draft" + )) + (if annotate + (progn + (temp-use-buffer "message") + (read-file fn) + (annotate "Replied" "Forwarded") + ) + ) + (setq exfl 1)) + (= actn 'q') + (progn + (&mh-restore-killbuffer) + (pop-to-buffer (concat "+" mh-folder)) + (delete-other-windows) + (setq mode-line-format sm) + (error-message "Message not sent; its text remains in buffer 'draft'") + ) + ) + ) + ) + ) + (pop-to-buffer (concat "+" mh-folder)) (delete-other-windows) + (setq mode-line-format sm) + (pop-to-buffer "draft") (previous-window) + ) +)