This commit was generated by cvs2svn to compensate for changes in r533,
[elisp/tm.git] / gnus / tm-gnus4.el
index 8b26e45..3578ac3 100644 (file)
@@ -2,13 +2,14 @@
 ;;; tm-gnus4.el --- tm-gnus module for GNUS 4, 5.0.* and 5.1.*.
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
-;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; modified by OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;;         and KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
 ;;; Created: 1993/11/20 (merged tm-gnus5.el)
-;;; Version: $Revision: 7.12 $
+;;; Version: $Revision: 7.20 $
 ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -26,6 +27,8 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with This program.  If not, write to the Free Software
 ;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
 
 (require 'tl-str)
 (require 'tl-misc)
 ;;;
 
 (defconst tm-gnus/RCS-ID
-  "$Id: tm-gnus4.el,v 7.12 1995/12/07 08:44:12 morioka Exp $")
+  "$Id: tm-gnus4.el,v 7.20 1996/06/09 06:53:41 morioka Exp $")
 
 (defconst tm-gnus/version
-  (concat (get-version-string tm-gnus/RCS-ID) " for 3.15 .. 5.1"))
+  (concat (get-version-string tm-gnus/RCS-ID) " for 3.15 .. 5.1.*"))
 
 
 ;;; @ variable
@@ -86,7 +89,9 @@ This variable is set to `gnus-show-mime'.")
          (function gnus-article-push-button))
     (mime/viewer-mode
      nil nil nil tm-gnus/original-article-buffer gnus-article-buffer)
-    (run-hooks 'tm-gnus/article-prepare-hook)
+    (let (buffer-read-only)
+      (run-hooks 'tm-gnus/article-prepare-hook)
+      )
     ))
 
 (defun tm-gnus/summary-scroll-down ()
@@ -113,6 +118,72 @@ This variable is set to `gnus-show-mime'.")
     (set-alist 'mime-viewer/quitting-method-alist
               'gnus-article-mode
               (function mime-viewer/quitting-method-for-gnus4))
+    (set-alist 'mime-viewer/show-summary-method
+              'gnus-article-mode
+              (function mime-viewer/quitting-method-for-gnus4))
+    )))
+
+
+;;; @ for tm-edit
+;;;
+
+;; suggested by OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
+;;     1995/11/08 (c.f. [tm ML:1067])
+(defun tm-gnus/insert-article (&optional message)
+  (interactive)
+  (let (;; for Emacs 19
+       (mail-citation-hook '(mime-editor/inserted-message-filter))
+       news-reply-header-hook
+       mail-yank-hooks
+       
+       ;; for Emacs 18
+       (mail-yank-ignored-headers mime-editor/yank-ignored-field-regexp)
+       (news-make-reply-yank-header (function
+                                     (lambda (message-id from) "")
+                                     ))
+       (news-yank-original-quoting-indicator "")
+       
+       ;; select raw article buffer
+       (mail-reply-buffer
+        (save-excursion
+          (set-buffer gnus-article-buffer)
+          (if (eq major-mode 'mime/viewer-mode)
+              mime::preview/article-buffer
+            gnus-article-buffer)))
+       )
+    (news-reply-yank-original 0)
+    ))
+
+;;; modified by Steven L. Baur <steve@miranova.com>
+;;;    1995/12/6 (c.f. [tm-en:209])
+(defun mime-editor/attach-to-news-reply-menu ()
+  "Arrange to attach MIME editor's popup menu to VM's"
+  (if (boundp 'news-reply-menu)
+      (progn
+       (setq news-reply-menu (append news-reply-menu
+                                     '("---")
+                                     mime-editor/popup-menu-for-xemacs))
+       (remove-hook 'news-setup-hook
+                    'mime-editor/attach-to-news-reply-menu)
+       )))
+
+(call-after-loaded
+ 'tm-edit
+ (function
+  (lambda ()
+    (set-alist 'mime-editor/message-inserter-alist
+              'news-reply-mode (function tm-gnus/insert-article))
+    
+    (autoload 'tm-mail/insert-message "tm-mail")
+    (set-alist 'mime-editor/message-inserter-alist
+              'mail-mode (function tm-mail/insert-message))
+    (if (string-match "XEmacs\\|Lucid" emacs-version)
+       (add-hook 'news-setup-hook 'mime-editor/attach-to-news-reply-menu)
+      )
+    
+    (set-alist 'mime-editor/split-message-sender-alist
+              'news-reply-mode
+              (function gnus-inews-news))
     )))
 
 
@@ -183,12 +254,18 @@ This variable is set to `gnus-show-mime'.")
        (make-local-variable 'tm:mother-button-dispatcher)
        (setq tm:mother-button-dispatcher
              (function gnus-article-push-button))
-       (mime/viewer-mode
-        nil nil nil tm-gnus/original-article-buffer gnus-article-buffer)
-       (gnus-article-show-summary)
+       (save-window-excursion
+         (mime/viewer-mode
+          nil nil nil tm-gnus/original-article-buffer gnus-article-buffer)
+         )
        (setq tm-gnus/automatic-mime-preview t)
        (setq gnus-original-article-buffer tm-gnus/original-article-buffer)
-       (run-hooks 'tm-gnus/article-prepare-hook)
+       (let (buffer-read-only)
+         (run-hooks 'tm-gnus/article-prepare-hook)
+         )
+       (if (featurep 'tm-gd3)
+           (setq buffer-read-only nil)
+         )
        )))
 
 (setq gnus-show-mime-method
@@ -203,11 +280,21 @@ This variable is set to `gnus-show-mime'.")
 ;;; @ for BBDB
 ;;;
 
+(call-after-loaded
+ 'bbdb
+ (function
+  (lambda ()
+    (require 'tm-bbdb)
+    )))
+
+(autoload 'tm-bbdb/update-record "tm-bbdb")
+
 (defun tm-gnus/bbdb-setup ()
   (if (memq 'bbdb/gnus-update-record gnus-article-prepare-hook)
       (progn
        (remove-hook 'gnus-article-prepare-hook 'bbdb/gnus-update-record)
-       (add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record)
+       ;;(add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record)
+       (add-hook 'gnus-article-display-hook 'tm-bbdb/update-record)
        )))
 
 (add-hook 'gnus-startup-hook 'tm-gnus/bbdb-setup t)
@@ -220,3 +307,4 @@ This variable is set to `gnus-show-mime'.")
 
 (provide 'tm-gnus4)
 
+;;; tm-gnus4.el ends here