;;; ;;; tm-vm.el : tm-MUA for vm ;;; ;;; by MASUTANI Yasuhiro ;;; modified by SHIONO ;;; and Steinar Bang ;;; ;;; Plese insert (load "tm-vm") in .vm or .emacs. ;;; (provide 'tm-vm) (require 'tl-list) (require 'tm-view) (require 'vm) (defconst tm-vm/RCS-ID "$Id: tm-vm.el,v 3.0 1995/03/26 17:16:53 morioka Exp $") (defconst tm-vm/version (get-version-string tm-vm/RCS-ID)) (define-key vm-mode-map "Z" 'tm-vm/view-message) (set-alist 'mime-viewer/quitting-method-alist 'vm-mode 'tm-vm/quit-view-message) (set-alist 'mime-viewer/quitting-method-alist 'vm-virtual-mode 'tm-vm/quit-view-message) ;;; @ for MIME header ;;; ;; If you don't use tiny-mime patch for VM (by RIKITAKE Kenji ;; ), please use following definition: ;; (setq vm-summary-format "%n %*%a %-17.17F %-3.3m %2d %4l/%-5c, %I\"%UA\"\n") ;; (defun vm-summary-function-A (m) ;; (mime/decode-string (vm-su-subject m))) ;;; @ functions ;;; (defun tm-vm/quit-view-message() (mime-viewer/kill-buffer) (let ((w (get-buffer-window mime/output-buffer-name))) (if w (delete-window w))) (vm-display vm-summary-buffer t '(mime-viewer/kill-buffer) '(this-command)) (vm-widen-page) (goto-char (point-max)) (widen) (narrow-to-region (point) (vm-vheaders-of (car vm-message-pointer))) (goto-char (point-min)) (if vm-honor-page-delimiters (vm-narrow-to-page)) (if vm-summary-buffer (select-window (get-buffer-window vm-summary-buffer))) ) (defun tm-vm/view-message () "Decode and view MIME message for VM" (interactive) (vm-follow-summary-cursor) (vm-select-folder-buffer) (vm-check-for-killed-summary) (vm-error-if-folder-empty) (vm-display (current-buffer) t '(tm-vm/view-message) '(tm-vm/view-mesage reading-message)) (vm-widen-page) (goto-char (point-max)) (widen) (narrow-to-region (point) (vm-start-of (car vm-message-pointer))) (goto-char (point-min)) (select-window (vm-get-buffer-window (current-buffer))) (mime/viewer-mode) )