tm 7.23.
[elisp/tm.git] / gnus / tm-gnus5.el
index 2065e8b..f92c6a0 100644 (file)
@@ -22,7 +22,7 @@
 ;;;
 
 (defconst tm-gnus/RCS-ID
-  "$Id: tm-gnus5.el,v 7.7 1995/10/31 15:24:49 morioka Exp $")
+  "$Id: tm-gnus5.el,v 7.8 1995/11/10 10:07:15 morioka Exp $")
 
 (defconst tm-gnus/version
   (concat (get-version-string tm-gnus/RCS-ID) " for GNUS 5.0.x"))
@@ -75,7 +75,12 @@ This variable is set to `gnus-show-mime'.")
 
 (defun tm-gnus/summary-toggle-header (&optional arg)
   (interactive "P")
-  (if gnus-show-mime
+  (if (and gnus-show-mime
+          (or (not gnus-strict-mime)
+              (save-excursion
+                (set-buffer gnus-article-buffer)
+                (gnus-fetch-field "Mime-Version")
+                )))
       (let ((mime-viewer/ignored-field-list
             (if (save-excursion
                   (set-buffer gnus-article-buffer)
@@ -173,6 +178,7 @@ This variable is set to `gnus-show-mime'.")
       (kill-buffer tm-gnus/original-article-buffer)
     )
   (rename-buffer tm-gnus/original-article-buffer)
+  (gnus-article-mode)
   (set-buffer (get-buffer-create gnus-article-buffer))
   (make-local-variable 'tm:mother-button-dispatcher)
   (setq tm:mother-button-dispatcher
@@ -182,6 +188,31 @@ This variable is set to `gnus-show-mime'.")
   (run-hooks 'tm-gnus/article-prepare-hook)
   )
 
+(or (fboundp 'tm::gnus-article-setup-buffer)
+    (fset 'tm::gnus-article-setup-buffer
+         (symbol-function 'gnus-article-setup-buffer)
+         ))
+
+(defun gnus-article-setup-buffer ()
+  "Initialize article mode buffer."
+  ;; Returns the article buffer.
+  (if (get-buffer gnus-article-buffer)
+      (save-excursion
+       (set-buffer gnus-article-buffer)
+       (buffer-disable-undo (current-buffer))
+       (setq buffer-read-only t)
+       (gnus-add-current-to-buffer-list)
+       (or (eq major-mode 'gnus-article-mode)
+           (eq major-mode 'mime/viewer-mode)
+           (gnus-article-mode))
+       (current-buffer))
+    (save-excursion
+      (set-buffer (get-buffer-create gnus-article-buffer))
+      (gnus-add-current-to-buffer-list)
+      (gnus-article-mode)
+      (current-buffer)
+      )))
+
 (setq gnus-show-mime-method (function tm-gnus/preview-article))
 
 (or (fboundp 'tm::gnus-article-hide-headers-if-wanted)
@@ -190,9 +221,12 @@ This variable is set to `gnus-show-mime'.")
     )
 
 (defun gnus-article-hide-headers-if-wanted ()
-  (if (not gnus-show-mime)
+  (or (and gnus-show-mime
+          (or (not gnus-strict-mime)
+              (gnus-fetch-field "Mime-Version")
+              ))
       (tm::gnus-article-hide-headers-if-wanted)
-    ))
+      ))
 
 
 ;;; @ for mh-e