0
|
1 ; This file implements the autoloaded "exit" function (not a command) of mhe.
|
|
2 (defun
|
|
3 (&mh-exit ans retval
|
|
4 (temp-use-buffer "cmd-buffer")
|
|
5 (setq retval 0)
|
|
6 (setq ans (get-response "Preparing to exit. Action? [q, e, u, ?] "
|
|
7 "qQeEuU\"
|
|
8 "q: quit (don't process) e: exit (after processing) u: undo (don't exit)"))
|
|
9 (if (| (= ans 'q') (= ans '\'))
|
|
10 (progn
|
|
11 (temp-use-buffer "cmd-buffer") (setq ans 'y')
|
|
12 (if (> (buffer-size) 0)
|
|
13 (setq ans
|
|
14 (get-response "Really exit without processing? "
|
|
15 "yYnN\" "y for Yes or n for No")))
|
|
16 (if (| (= ans 'y') (= ans '\'))
|
|
17 (progn
|
|
18 (pop-to-buffer (concat "+" mh-folder))
|
|
19 (erase-buffer)
|
|
20 (setq retval 1)
|
|
21 )
|
|
22 )
|
|
23 )
|
|
24 (= ans 'e')
|
|
25 (progn
|
|
26 (temp-use-buffer "cmd-buffer")
|
|
27 (if (!= 0 (buffer-size))
|
|
28 (progn
|
|
29 (temp-use-buffer "cmd-buffer")
|
|
30 (message "Processing deletes and moves...")
|
|
31 (beginning-of-file)
|
|
32 (split-long-lines)
|
|
33 (beginning-of-file) (set-mark) (end-of-file)
|
|
34 (progn s
|
|
35 (setq s (region-to-string))
|
|
36 (send-to-shell s)
|
|
37 (setq buffer-is-modified 0)
|
|
38 (temp-use-buffer (concat "+" mh-folder))
|
|
39 (&mh-make-headers-current)
|
|
40 (setq buffer-is-modified 0)
|
|
41 (setq retval 1)
|
|
42 )
|
|
43 )
|
|
44 (setq retval 1)
|
|
45 )
|
|
46 )
|
|
47 )
|
|
48 (sit-for 10)
|
|
49 retval
|
|
50 )
|
|
51
|
|
52 (split-long-lines t s ; make sure no overlong lines in cmd-buffer
|
|
53 (beginning-of-file)
|
|
54 (while (! (eobp))
|
|
55 (next-line)
|
|
56 (while
|
|
57 (progn (beginning-of-line)
|
|
58 (setq t (dot)) (end-of-line) (> (dot) (+ t 200)))
|
|
59 (beginning-of-line) (set-mark)
|
|
60 (if (looking-at "rmm")
|
|
61 (progn (forward-word) (forward-word) (forward-word)
|
|
62 (backward-word))
|
|
63 (looking-at "filem")
|
|
64 (progn (forward-word) (forward-word)
|
|
65 (forward-word) (forward-word)
|
|
66 (forward-word) (backward-word))
|
|
67 )
|
|
68 (setq s (region-to-string)) (beginning-of-line)
|
|
69 (goto-character (+ (dot) 200)) (backward-word)
|
|
70 (delete-previous-character) (newline)
|
|
71 (insert-string s)
|
|
72 )
|
|
73 )
|
|
74 (setq buffer-is-modified 0)
|
|
75 )
|
|
76 )
|