Update.
[elisp/wanderlust.git] / wl / tm-wl.el
index 7507111..565f823 100644 (file)
@@ -1,10 +1,9 @@
 ;;; wl-mime.el -- tm implementations of MIME processing on Wanderlust.
 
-;; Copyright 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
+;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
 
 ;; Author: Yuuichi Teranishi <teranisi@gohome.org>
 ;; Keywords: mail, net news
-;; Time-stamp: <00/04/20 13:45:03 teranisi>
 
 ;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen).
 
 (defalias 'wl-draft-editor-mode 'mime/editor-mode)
 
 (defun wl-draft-decode-message-in-buffer (&optional default-content-type)
-  (when default-content-type 
+  (when default-content-type
     (insert "Content-type: " default-content-type "\n")
     (insert "\n"))
   (mime-editor::edit-again 'code-conversion))
 
 (defun wl-draft-yank-current-message-entity ()
-  "Yank currently displayed message entity. 
-By setting following-method as yank-content."  
+  "Yank currently displayed message entity.
+By setting following-method as yank-content."
   (let ((wl-draft-buffer (current-buffer))
-       (mime-viewer/following-method-alist 
-        (list (cons 'wl-message-original-mode 
+       (mime-viewer/following-method-alist
+        (list (cons 'wl-message-original-mode
                     (function wl-draft-yank-to-draft-buffer)))))
     (if (get-buffer (wl-current-message-buffer))
        (save-excursion
@@ -63,18 +62,40 @@ By setting following-method as yank-content."
 
 (defun wl-draft-preview-message ()
   (interactive)
-  (let ((mime-viewer/content-header-filter-hook 'wl-highlight-headers)
-       (mime-viewer/ignored-field-regexp "^:$")
-       (mime-editor/translate-buffer-hook 
-        (append
-         (list 'wl-draft-config-exec)
-         mime-editor/translate-buffer-hook)))
+  (let* (recipients-message
+        (config-exec-flag wl-draft-config-exec-flag)
+        (mime-viewer/content-header-filter-hook 'wl-highlight-headers)
+        (mime-viewer/ignored-field-regexp "^:$")
+        (mime-editor/translate-buffer-hook
+         (append
+          (list
+           (function
+            (lambda ()
+              (let ((wl-draft-config-exec-flag config-exec-flag))
+                (run-hooks 'wl-draft-send-hook)
+                (setq recipients-message
+                      (concat "Recipients: "
+                              (mapconcat
+                               'identity
+                               (wl-draft-deduce-address-list
+                                (current-buffer)
+                                (point-min)
+                                (save-excursion
+                                  (goto-char (point-min))
+                                  (re-search-forward
+                                   (concat "^"
+                                           (regexp-quote mail-header-separator)
+                                           "$")
+                                   nil t)
+                                  (point)))
+                               ", ")))))))
+          mime-editor/translate-buffer-hook)))
     (mime-editor/preview-message)
     (let ((buffer-read-only nil))
-    (let ((buffer-read-only nil))
-      (when wl-highlight-body-too 
+      (when wl-highlight-body-too
        (wl-highlight-body))
-      (run-hooks 'wl-draft-preview-message-hook)))))
+      (run-hooks 'wl-draft-preview-message-hook))
+    (message recipients-message)))
 
 (defmacro wl-draft-caesar-region (beg end)
   (` (tm:caesar-region)))
@@ -111,7 +132,8 @@ By setting following-method as yank-content."
 (defalias 'wl-message-play-content    'mime-viewer/play-content)
 (defalias 'wl-message-extract-content 'mime-viewer/extract-content)
 (defalias 'wl-message-quit            'mime-viewer/quit)
-(defalias 'wl-message-button-dispatcher 'tm:button-dispatcher)
+(defalias 'wl-message-button-dispatcher-internal
+  'tm:button-dispatcher)
 
 ;;; Summary
 (defun wl-summary-burst-subr (children target number)
@@ -126,7 +148,7 @@ By setting following-method as yank-content."
                        number))
        (when (string= "message/rfc822" (downcase content-type))
          (message (format "Bursting...%s" (setq number (+ 1 number))))
-         (setq message-entity 
+         (setq message-entity
                (car (mime::content-info/children (car children))))
          (save-restriction
            (narrow-to-region (mime::content-info/point-min message-entity)
@@ -139,12 +161,12 @@ By setting following-method as yank-content."
 (defun wl-summary-burst ()
   (interactive)
   (let ((raw-buf (wl-message-get-original-buffer))
-       target 
+       target
        children message-entity content-type)
     (save-excursion
       (setq target wl-summary-buffer-folder-name)
       (while (not (elmo-folder-writable-p target))
-       (setq target 
+       (setq target
              (wl-summary-read-folder wl-default-folder "to extract to ")))
       (wl-summary-set-message-buffer-or-redisplay)
       (set-buffer raw-buf)
@@ -152,7 +174,7 @@ By setting following-method as yank-content."
       (message "Bursting...")
       (when children
        (wl-summary-burst-subr children target 0))
-      (message "Bursting...done."))
+      (message "Bursting...done"))
     (if (elmo-folder-plugged-p target)
        (elmo-commit target))
     (wl-summary-sync-update3)))
@@ -170,7 +192,7 @@ By setting following-method as yank-content."
         (filename (read-file-name "Save to file: "
                                   (expand-file-name
                                    (or name ".")
-                                   (or wl-mime-save-dir 
+                                   (or wl-mime-save-dir
                                        wl-tmp-dir))))
         tmp-buf)
     (while (file-directory-p filename)
@@ -210,15 +232,15 @@ By setting following-method as yank-content."
     (setq root-dir (concat root-dir "/" (replace-as-filename id)))
     (setq full-file (concat root-dir "/FULL"))
     (if (null target)
-       (error "%s is not supported. Sorry." target))
+       (error "%s is not supported" target))
     (if (or (file-exists-p full-file)
            (not (y-or-n-p "Merge partials?")))
        (mime-article/decode-message/partial beg end cal)
       (message "Merging...")
       (let (cinfo the-id parameters)
-       (setq subject-id 
+       (setq subject-id
              (eword-decode-string
-              (decode-mime-charset-string 
+              (decode-mime-charset-string
                (std11-field-body "Subject")
                wl-summary-buffer-mime-charset)))
        (if (string-match "[0-9\n]+" subject-id)
@@ -254,7 +276,7 @@ By setting following-method as yank-content."
             'wl-message-original-mode 'wl-message-exit)
   (set-alist 'mime-viewer/over-to-previous-method-alist
             'wl-message-original-mode 'wl-message-exit)
-  (set-alist 'mime-viewer/over-to-next-method-alist 
+  (set-alist 'mime-viewer/over-to-next-method-alist
             'wl-message-original-mode  'wl-message-exit)
   (add-hook 'wl-summary-redisplay-hook 'wl-message-delete-mime-out-buf)
   (add-hook 'wl-message-exit-hook      'wl-message-delete-mime-out-buf)
@@ -280,15 +302,16 @@ By setting following-method as yank-content."
   (set-alist 'mime-editor/mail-inserter-alist
             'wl-draft-mode (function wl-draft-insert-get-message))
   (set-alist 'mime-editor/split-message-sender-alist
-            'wl-draft-mode 
-            (cdr (assq 'mail-mode 
+            'wl-draft-mode
+            (cdr (assq 'mail-mode
                        mime-editor/split-message-sender-alist)))
-  (setq mime-viewer/code-converter-alist 
+  (setq mime-viewer/code-converter-alist
        (append
         (list (cons 'wl-message-original-mode 'mime-charset/decode-buffer))
         mime-viewer/code-converter-alist))
   (defvar-maybe mime::preview/mother-buffer nil))
   
-(provide 'tm-wl)
+(require 'product)
+(product-provide (provide 'tm-wl) (require 'wl-version))
 
 ;;; tm-wl.el ends here