annotate miscellany/mhe/mh-send.ml @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 ; This autoloaded file implements the "m" command of mhe. We call "comp" to
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 ; compose the message into buffer "draft", and then when we are ready to
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 ; send it we call "send" to do the evil deed.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 (defun
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5 (&mh-send actn exfl sm
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 (save-window-excursion
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 (&mh-save-killbuffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 (message "Composing a message...") (sit-for 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 (error-occured
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 (unlink-file (concat mh-path "/draft")))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 (pop-to-buffer (concat "+" mh-folder))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 (setq sm mode-line-format)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 (delete-other-windows)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 (pop-to-buffer "draft") (erase-buffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 (if (file-exists
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 (concat mh-path "/components"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 (insert-file (concat mh-path "/components"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 (insert-file (concat mh-progs "/components"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 (write-named-file (concat mh-path "/draft"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 (local-bind-to-key "exit-emacs" "\\")
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 (mail-mode) (header-line-position)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 (sit-for 0) (setq exfl 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 (while (= exfl 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 (error-occured
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 (save-window-excursion
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 (pop-to-buffer (concat "+" mh-folder))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 (setq mode-line-format
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 "{%b} ^X^C exits to top level %M")
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 (pop-to-buffer "draft")
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 (setq mode-line-format
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 (concat "{%b} %[%p of "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 mh-path "/draft%] "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 "(^X^C to exit) %M"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 (&mh-restore-killbuffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 (recursive-edit)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 (&mh-save-killbuffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 (setq mode-line-format
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 (concat "{%b} %[%p of "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 mh-path "/draft%] %M"))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 (pop-to-buffer (concat "+" mh-folder))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 (setq mode-line-format " ")
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 (setq actn (get-response "Ready to send. Action? (m, q, e, or ?) " "mMqQeE\"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 "m: mail it, q: quit, e: resume editing, ?: this msg."))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 (if (= actn 'm')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 (progn (message "Sending...") (sit-for 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 (write-current-file)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 (setq buffer-is-modified 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 (send-to-shell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 (concat mh-progs "/send -noverbose "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 mh-path "/draft"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 ))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 (setq exfl 1)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 (= actn 'q')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 (progn
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 (&mh-restore-killbuffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 (pop-to-buffer (concat "+" mh-folder))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 (delete-other-windows)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62 (setq mode-line-format sm)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 (error-message "Message not sent; its text remains in buffer 'draft'")
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68 (&mh-restore-killbuffer)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 (pop-to-buffer (concat "+" mh-folder)) (delete-other-windows)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 (setq mode-line-format sm)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 (pop-to-buffer "draft") (previous-window)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 )
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 )