release.
[elisp/emh.git] / emh.el
diff --git a/emh.el b/emh.el
index 7229b2e..2da4435 100644 (file)
--- a/emh.el
+++ b/emh.el
@@ -1,10 +1,10 @@
 ;;; 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
 (require 'mh-e)
 (require 'alist)
 (require 'mime-view)
-(eval-when-compile (require 'mime-text))
 
 
 ;;; @ version
 ;;;
 
-(defconst emh-version "1.9.0")
+(defconst emh-version "1.14.1")
 
 
 ;;; @ variable
 ;;; @ 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
@@ -88,27 +92,24 @@ nil, `emh-automatic-mime-preview' is used as default value."
           (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))
@@ -131,8 +132,7 @@ nil, `emh-automatic-mime-preview' is used as default value."
                     (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)
@@ -174,13 +174,10 @@ With arg, turn MIME processing on if arg is positive."
        (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))
   )
@@ -232,9 +229,9 @@ digest are inserted into the folder after that message."
 (autoload 'emh-highlight-header "emh-face")
 
 (defun emh-header-presentation-method (entity situation)
-  (mime-insert-decoded-header entity
-                             mime-view-ignored-field-list
-                             mime-view-visible-field-list)
+  (mime-insert-header entity
+                     mime-view-ignored-field-list
+                     mime-view-visible-field-list)
   (run-hooks 'emh-display-header-hook)
   )
 
@@ -286,7 +283,7 @@ digest are inserted into the folder after that message."
     (set-buffer (get-buffer-create " *Partial Article*"))
     (erase-buffer)
     (setq mime-preview-buffer show-buffer)
-    (insert-file-contents-as-raw-text msg-filename)
+    (raw-text-insert-file-contents msg-filename)
     (mime-parse-buffer)
     ))