Mercurial > hg > Applications > mh
comparison miscellany/mhe/mh-repl.ml @ 0:bce86c4163a3
Initial revision
author | kono |
---|---|
date | Mon, 18 Apr 2005 23:46:02 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bce86c4163a3 |
---|---|
1 ; This autoloaded file implements the "r" command of mhe | |
2 (defun | |
3 (&mh-repl actn exfl sm fn annotate ft | |
4 (save-window-excursion | |
5 (error-occured | |
6 (&mh-save-killbuffer) | |
7 (temp-use-buffer (concat "+" mh-folder)) | |
8 (setq fn (&mh-get-fname)) | |
9 (setq annotate mh-annotate) | |
10 (setq ft mh-folder-title) | |
11 (temp-use-buffer "message") | |
12 (setq mode-string "mhe") | |
13 (setq sm mode-line-format) | |
14 (message "Replying to message " (&mh-get-msgnum) "...") | |
15 (sit-for 0) | |
16 (pop-to-buffer "message") | |
17 (if (error-occured (read-file fn)) | |
18 (error-message "Message " fn " does not exist!")) | |
19 (pop-to-buffer "reply") (erase-buffer) | |
20 (insert-string "One moment, please....") | |
21 (unlink-file (concat mh-path "/reply")) | |
22 (error-occured | |
23 (send-to-shell | |
24 (concat mh-progs "/repl -build +" ft " " | |
25 (&mh-get-msgnum)) | |
26 )) | |
27 (show-shell-errors) | |
28 ) | |
29 (if (file-exists (concat mh-path "/reply")) | |
30 (read-file (concat mh-path "/reply")) | |
31 (error-message "Reply failed: cannot construct header" | |
32 " (file " mh-path "/reply)") | |
33 ) | |
34 (pop-to-buffer "reply") | |
35 (local-bind-to-key "exit-emacs" "\\") | |
36 (mail-mode) (end-of-file) | |
37 (setq exfl 0) | |
38 (while (= exfl 0) | |
39 (error-occured | |
40 (pop-to-buffer "message") | |
41 (setq mode-line-format | |
42 "{%b} %[^X^C exits to top level%] %M") | |
43 (pop-to-buffer "reply") | |
44 (setq mode-line-format | |
45 (concat "{%b}" | |
46 "%[%p of " mh-path "/reply" | |
47 "%] (^X^C exits to top level) %M")) | |
48 (&mh-restore-killbuffer) | |
49 (recursive-edit) | |
50 (setq mode-line-format | |
51 (concat "%[%p of " mh-path "/reply%] %M")) | |
52 (pop-to-buffer "message") | |
53 (setq mode-line-format sm) | |
54 (sit-for 0) | |
55 ) | |
56 (setq actn (get-response "Ready to send. Action? (m, q, e, or ?) " "mMqQeE\" | |
57 "m: mail it, q: quit, e: resume editing, ?: this msg.")) | |
58 (if (= actn 'm') | |
59 (progn (message "Sending...") (sit-for 0) | |
60 (pop-to-buffer "reply") | |
61 (write-current-file) | |
62 (send-to-shell | |
63 (concat mh-progs "/send -noverbose " | |
64 mh-path "/reply" | |
65 )) | |
66 (pop-to-buffer "message") | |
67 (if annotate | |
68 (annotate "Replied") | |
69 ) | |
70 (setq exfl 1)) | |
71 (= actn 'q') | |
72 (progn | |
73 (&mh-restore-killbuffer) | |
74 (pop-to-buffer (concat "+" mh-folder)) | |
75 (delete-other-windows) | |
76 (setq mode-line-format sm) | |
77 (error-message "Message not sent; its text remains in buffer 'reply'") | |
78 ) | |
79 ) | |
80 ) | |
81 ) | |
82 (pop-to-buffer (concat "+" mh-folder)) (delete-other-windows) | |
83 (pop-to-buffer "message") | |
84 (setq mode-line-format sm) (previous-window) | |
85 ) | |
86 ) |