tm 5.9
[elisp/tm.git] / tm-vm.el
1 ;;;
2 ;;; tm-vm.el : tm-MUA for vm
3 ;;;
4 ;;; by MASUTANI Yasuhiro <masutani@me.es.osaka-u.ac.jp>
5 ;;;
6 ;;; Plese insert (load "tm-vm") in .vm or .emacs.
7 ;;;
8
9 (define-key vm-mode-map "Z" 'tm-vm/view-message)
10
11 (require 'tl-list)
12 (require 'tm-view)
13
14 (setq mime/go-to-top-node-method-alist
15       (put-alist 'vm-mode
16                  (function
17                   (lambda ()
18                     (mime/exit-view-mode)
19                     (let ((w (get-buffer-window mime/output-buffer-name)))
20                       (if w (delete-window w)))
21                     (vm-display vm-summary-buffer t
22                                 '(mime/exit-view-mode)
23                                 '(this-command))
24                     (vm-widen-page)
25                     (goto-char (point-max))
26                     (widen)
27                     (narrow-to-region (point)
28                                       (vm-vheaders-of
29                                        (car vm-message-pointer)))
30                     (goto-char (point-min))
31                     (if vm-honor-page-delimiters
32                         (vm-narrow-to-page))
33                     (select-window (get-buffer-window vm-summary-buffer))
34                     ))
35                  mime/go-to-top-node-method-alist))
36
37 (defun tm-vm/view-message ()
38   "Decode and view MIME message for VM"
39   (interactive)
40   (vm-follow-summary-cursor)
41   (vm-select-folder-buffer)
42   (vm-check-for-killed-summary)
43   (vm-error-if-folder-empty)
44   (vm-display (current-buffer) t '(tm-vm/view-message)
45               '(tm-vm/view-mesage reading-message))
46   (vm-widen-page)
47   (goto-char (point-max))
48   (widen)
49   (narrow-to-region (point) (vm-start-of (car vm-message-pointer)))
50   (goto-char (point-min))
51   (select-window (vm-get-buffer-window (current-buffer)))
52   (mime/viewer-mode))