;;; emh.el --- MIME extender for mh-e
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc.
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Author: MORIOKA Tomohiko <tomo@m17n.org>
;; OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
-;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Maintainer: MORIOKA Tomohiko <tomo@m17n.org>
;; Created: 1993/11/21
;; Renamed: 1993/11/27 from mh-e-mime.el
;; Renamed: 1997/02/21 from tm-mh-e.el
;;; @ version
;;;
-(defconst emh-version "1.10.0")
+(defconst emh-version "1.14.1")
;;; @ variable
:group 'emh
:type 'boolean)
+(defcustom emh-icon-directory (if (fboundp 'locate-data-directory)
+ (locate-data-directory "emh")
+ (let ((icons (expand-file-name
+ "emh/icons/"
+ data-directory)))
+ (if (file-directory-p icons)
+ icons)))
+ "*Directory to load the icon files from, or nil if none."
+ :group 'emh
+ :type '(choice (const :tag "none" nil)
+ string))
;;; @ functions
;;;
+(defsubst emh-raw-buffer (folder-buffer)
+ (concat "article-" (if (bufferp folder-buffer)
+ (buffer-name folder-buffer)
+ folder-buffer)))
+
(defun mh-display-msg (msg-num folder &optional show-buffer mode)
"Display message number MSG-NUM of FOLDER.
This function uses `mime-view-mode' if MODE is not nil. If MODE is
(setq buffer-read-only nil)
(erase-buffer)
(if mode
- (let* ((aname (concat "article-" folder))
+ (let* ((aname (emh-raw-buffer folder))
(abuf (get-buffer aname)))
(if abuf
(progn
(set-buffer abuf)
(setq buffer-read-only nil)
- (erase-buffer)
- )
+ (erase-buffer))
(setq abuf (get-buffer-create aname))
(set-buffer abuf)
- (set-buffer-multibyte nil)
- )
- (insert-file-contents-as-raw-text msg-filename)
+ (set-buffer-multibyte nil))
+ (8bit-insert-encoded-file msg-filename)
(set-buffer-modified-p nil)
(setq buffer-read-only t)
(setq buffer-file-name msg-filename)
(mh-show-mode)
(mime-display-message (mime-open-entity 'buffer aname)
(concat "show-" folder))
- (goto-char (point-min))
- )
+ (goto-char (point-min)))
(let ((clean-message-header mh-clean-message-header)
(invisible-headers mh-invisible-headers)
(visible-headers mh-visible-headers))
(t
(mh-start-of-uncleaned-message)))
(if emh-decode-encoded-word
- (eword-decode-header)
- )
+ (mime-decode-header-in-buffer))
(set-buffer-modified-p nil)
(setq buffer-read-only t)
(setq buffer-file-name msg-filename)
(if (null arg)
(not emh-automatic-mime-preview)
arg))
- (save-excursion
- (set-buffer mh-show-buffer)
- (if (null emh-automatic-mime-preview)
- (if (and mime-raw-buffer
- (get-buffer mime-raw-buffer))
- (kill-buffer mime-raw-buffer)
- )))
+ (let ((raw-buffer (emh-raw-buffer (current-buffer))))
+ (if (get-buffer raw-buffer)
+ (kill-buffer raw-buffer)
+ ))
(mh-invalidate-show-buffer)
(mh-show (mh-get-msg-num t))
)
(defun emh-request-partial-message ()
(let ((msg-filename (mh-msg-filename (mh-get-msg-num t)))
- (show-buffer mh-show-buffer))
+ (show-buffer mh-show-buffer)
+ (coding-system-for-read 'raw-text))
(set-buffer (get-buffer-create " *Partial Article*"))
(erase-buffer)
(setq mime-preview-buffer show-buffer)
- (insert-file-contents-as-raw-text msg-filename)
+ (insert-file-contents msg-filename)
(mime-parse-buffer)
))
(eval-after-load "bbdb" '(require 'mime-bbdb))
+;;; @ Toolbar
+
+(if (and (not (featurep 'xemacs))
+ (boundp 'emacs-major-version)
+ (>= emacs-major-version 21))
+ (require 'emh-e21))
;;; @ end
;;;