tm 7.49.
[elisp/tm.git] / tm-view.el
index 99e6f9a..3d6626b 100644 (file)
@@ -8,7 +8,7 @@
 ;;; modified by Steven L. Baur <steve@miranova.com>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1994/7/13 (1994/8/31 obsolete tm-body.el)
-;;; Version: $Revision: 7.42 $
+;;; Version: $Revision: 7.46 $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -44,7 +44,7 @@
 ;;;
 
 (defconst mime-viewer/RCS-ID
-  "$Id: tm-view.el,v 7.42 1996/02/13 06:28:37 morioka Exp $")
+  "$Id: tm-view.el,v 7.46 1996/04/14 00:19:59 morioka Exp $")
 
 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
 (defconst mime/viewer-version mime-viewer/version)
 (defvar mime-viewer/default-showing-Content-Type-list
   '("text/plain" nil "text/richtext" "text/enriched"
     "text/x-latex" "application/x-latex"
+    "message/delivery-status"
     "application/pgp" "text/x-pgp"
     "application/octet-stream"
     "application/x-selection" "application/x-comment"))
@@ -410,17 +411,16 @@ The compressed face will be piped to this command.")
     (setq mime::preview/original-major-mode mode)
     (setq major-mode 'mime/viewer-mode)
     (setq mode-name "MIME-View")
-    (setq dest
-         (mapcar
-          (function
-           (lambda (content)
-             (mime-viewer/display-content content cinfo the-buf obuf)
-             ))
-          pcl))
+    (while pcl
+      (setq dest
+           (cons (mime-viewer/display-content (car pcl) cinfo the-buf obuf)
+                 dest)
+           pcl (cdr pcl))
+      )
     (set-buffer-modified-p nil)
     (setq buffer-read-only t)
     (set-buffer the-buf)
-    (list obuf dest)
+    (list obuf (nreverse dest))
     ))
 
 (defun mime-viewer/display-content (content cinfo ibuf obuf)
@@ -759,7 +759,7 @@ The compressed face will be piped to this command.")
          (define-key mime/viewer-mode-map
            mouse-button-2 (function tm:button-dispatcher))
        )
-      (cond ((string-match "XEmacs\\|Lucid" emacs-version)
+      (cond (running-xemacs
             (defvar mime-viewer/xemacs-popup-menu
               (cons mime-viewer/menu-title
                     (mapcar (function
@@ -906,29 +906,26 @@ listed in key order:
 
 (defun mime-viewer/up-content ()
   (interactive)
-  (let ((pc (mime-preview/point-pcinfo (point))) cinfo
-       (the-buf (current-buffer))
-       rcnum r)
-    (switch-to-buffer (mime::preview-content-info/buffer pc))
-    (setq cinfo (mime::preview-content-info/content-info pc))
-    (setq rcnum (mime::content-info/rcnum cinfo))
-    (if (null rcnum)
-       (mime-viewer/quit the-buf
-                         (mime::preview-content-info/buffer pc)
-                         )
-      (setq r (mime-article/rcnum-to-cinfo (cdr rcnum)))
-      (switch-to-buffer the-buf)
-      (catch 'tag
-       (let ((rpcl mime::preview/content-list) cell)
-         (while rpcl
-           (setq cell (car rpcl))
-           (if (eq r (mime::preview-content-info/content-info cell))
-               (progn
-                 (goto-char (mime::preview-content-info/point-min cell))
-                 (throw 'tag nil)
-                 ))
+  (let* ((pc (mime-preview/point-pcinfo (point)))
+        (cinfo (mime::preview-content-info/content-info pc))
+        (rcnum (mime::content-info/rcnum cinfo))
+        )
+    (if rcnum
+       (let ((r (save-excursion
+                  (set-buffer (mime::preview-content-info/buffer pc))
+                  (setq r (mime-article/rcnum-to-cinfo (cdr rcnum)))
+                  ))
+             (rpcl mime::preview/content-list)
+             cell)
+         (while (and
+                 (setq cell (car rpcl))
+                 (not (eq r (mime::preview-content-info/content-info cell)))
+                 )
            (setq rpcl (cdr rpcl))
-           )))
+           )
+         (goto-char (mime::preview-content-info/point-min cell))
+         )
+      (mime-viewer/quit)
       )))
 
 (defun mime-viewer/previous-content ()