tm 6.11
[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 ;;; modified by SHIONO <jun@p5.nm.fujitsu.co.jp>
6 ;;;   and Steinar Bang <steinarb@falch.no>
7 ;;;
8 ;;; Plese insert (load "tm-vm") in .vm or .emacs.
9 ;;;
10
11 (provide 'tm-vm)
12
13 (require 'tl-list)
14 (require 'tm-view)
15 (require 'vm)
16
17 (defconst tm-vm/RCS-ID
18   "$Id: tm-vm.el,v 3.0 1995/03/26 17:16:53 morioka Exp $")
19 (defconst tm-vm/version (get-version-string tm-vm/RCS-ID))
20
21 (define-key vm-mode-map "Z" 'tm-vm/view-message)
22
23 (set-alist 'mime-viewer/quitting-method-alist
24            'vm-mode
25            'tm-vm/quit-view-message)
26
27 (set-alist 'mime-viewer/quitting-method-alist
28            'vm-virtual-mode
29            'tm-vm/quit-view-message)
30
31
32 ;;; @ for MIME header
33 ;;;
34 ;; If you don't use tiny-mime patch for VM (by RIKITAKE Kenji
35 ;; <kenji@reseau.toyonaka.osaka.jp>), please use following definition:
36
37 ;; (setq vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c, %I\"%UA\"\n")
38 ;; (defun vm-summary-function-A (m)
39 ;;   (mime/decode-string (vm-su-subject m)))
40
41
42 ;;; @ functions
43 ;;;
44
45 (defun tm-vm/quit-view-message()
46   (mime-viewer/kill-buffer)
47   (let ((w (get-buffer-window mime/output-buffer-name)))
48     (if w (delete-window w)))
49   (vm-display vm-summary-buffer t
50               '(mime-viewer/kill-buffer)
51               '(this-command))
52   (vm-widen-page)
53   (goto-char (point-max))
54   (widen)
55   (narrow-to-region (point)
56                     (vm-vheaders-of
57                      (car vm-message-pointer)))
58   (goto-char (point-min))
59   (if vm-honor-page-delimiters
60       (vm-narrow-to-page))
61   (if vm-summary-buffer
62       (select-window (get-buffer-window vm-summary-buffer)))
63   )
64
65 (defun tm-vm/view-message ()
66   "Decode and view MIME message for VM"
67   (interactive)
68   (vm-follow-summary-cursor)
69   (vm-select-folder-buffer)
70   (vm-check-for-killed-summary)
71   (vm-error-if-folder-empty)
72   (vm-display (current-buffer) t '(tm-vm/view-message)
73               '(tm-vm/view-mesage reading-message))
74   (vm-widen-page)
75   (goto-char (point-max))
76   (widen)
77   (narrow-to-region (point) (vm-start-of (car vm-message-pointer)))
78   (goto-char (point-min))
79   (select-window (vm-get-buffer-window (current-buffer)))
80   (mime/viewer-mode)
81   )