Sync up with Semi-gnus 6.8.
authorkeiichi <keiichi>
Wed, 28 Oct 1998 00:25:39 +0000 (00:25 +0000)
committerkeiichi <keiichi>
Wed, 28 Oct 1998 00:25:39 +0000 (00:25 +0000)
ChangeLog
lisp/gnus-msg.el
lisp/gnus-xmas.el
lisp/message.el
lisp/pop3-fma.el

index 5bdf3ad..a6b7160 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+1998-10-28  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
+
+       * Sync up with Semi-gnus 6.8.
+
+1998-10-28  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el: Determin base64 encode/decode function by FLIM.
+
+1998-10-26  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/message.el (message-save-drafts): New function.
+       To save drafts in network code.
+       (message-save-buffer): New variable.
+
+       * lisp/pop3-fma.el: Require `mel-b-el' if `mel-b' does not exist.
+
+1998-10-23  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-msg.el (gnus-message-make-user-agent): New function.
+
+1998-10-21  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus-xmas.el (gnus-tilde-pad-form): Guard for non string
+       symbol.
+
+1998-10-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/pop3-fma.el (pop3-fma-init-message-hook): Change
+       message-send-hook to mime-edit-translate-hook.
+
 1998-10-27  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
 
        * lisp/message.el (message-check-encoding): Fix condition for
 1998-09-11  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/message.el (message-send): Don't call
-       `message-fix-before-sending' before `message-encode-function' is
-       called.
+       `message-fix-before-sending' before `message-encode-function' is
+       called.
 
 1998-09-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/pop3-fma.el: Add error handle and fix typo.
-       
+
 1998-08-28  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
 
        * lisp/message.el: Repair `multi frame control'.
        * lisp/gnus.el (gnus-version-number): Update to 6.8.14.
 
        * Sync up with Gnus 5.6.38.
-       
+
 1998-08-20  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
 
        * lisp/message.el (message-frames): New custom group.
        * lisp/gnus.el (gnus-version-number): Update to 6.8.13.
 
        * Sync up with Gnus 5.6.37.
-       
+
 1998-08-16  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
 
        * lisp/gnus-sum.el (gnus-summary-scroll-down): Failed to sync.
        * lisp/gnus.el (gnus-version-number): Update to 6.8.12.
 
        * Sync up with Gnus 5.6.36.
-       
+
 1998-08-15  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
 
        * texi/gnus-ja.texi: Update.
        * lisp/gnus.el (gnus-version-number): Update to 6.8.11.
 
        * Sync up with Gnus 5.6.34.
-       
+
 1998-08-12  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.8.10.
 
        * Sync up with Gnus 5.6.33.
-       
+
 1998-08-11  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.8.9.
 
        * Sync up with Gnus 5.6.31.
-       
+
 1998-08-10  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.8.8.
 
        * Sync up with Gnus 5.6.30.
-       
+
 1998-08-10  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
 
        * lisp/message.el (message-yank-original): For citing any message.
 
 1998-08-06  Katsumi Yamaoka <yamaoka@jpl.org>
 
-       *lisp/smtp.el: Do not insert empty line at the end of message.
-       
+       * lisp/smtp.el: Do not insert empty line at the end of message.
+
 1998-08-06  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.8.6.
 
        * Sync up with Gnus 5.6.29.
-       
+
 1998-08-05  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus-start.el (gnus-read-init-file): Fix indent.
        * lisp/gnus-ems.el (gnus-tilde-max-form): Redefine instead of
-               (gnus-summary-line-format-spec) to display Japanese character
+       (gnus-summary-line-format-spec) to display Japanese character
        correctly in Gnus summaly.
 
 1998-08-05  Keiichi Suzuki  <kei-suzu@mail.wbs.ne.jp>
        * Sync up with Gnus 5.6.22
        * lisp/gnus.el (gnus-version-number): Update to 6.7.8.
        * lisp/pop3-fma.el : Enable to get localhost mail spool.
-       
+
 1998-06-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.7.7.
        Gnus 5.6.13.
 
 1998-06-14  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
-       
+
        * Sync up with Gnus 5.6.13.
-       
+
 1998-06-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus-art.el (gnus-article-display-mime-message): Don't
 1998-06-17  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/pop3-fma.el: Small bug fix.
-       
+
        * lisp/pop3-fma.el: Delete variable pop3-fma-cypher-key
-       Use base64-encode-string , base64-decode-string instead. 
+       Use base64-encode-string , base64-decode-string instead.
        Both change by Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
 
 1998-06-13  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.3.4.
        And fix typo 5.6.10 -> 5.6.11.
-       
+
 1998-06-03  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.3.3.
        (gnus-version): Modify for SEMI 1.4.
 
        * lisp/gnus-sum.el: Use 'mime-add-condition to set up
-       acting-condition.
+       acting-condition.
 
 1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * texi/gnus.texi, lisp/ChangeLog: Sync up with Gnus 5.6.7.
 
        * lisp/gnus.el, lisp/message.el, lisp/gnus-sum.el,
-       lisp/gnus-msg.el, lisp/gnus-cache.el, lisp/gnus-art.el: Sync up
-       with Gnus 5.6.7.
+       lisp/gnus-msg.el, lisp/gnus-cache.el, lisp/gnus-art.el: Sync up
+       with Gnus 5.6.7.
 
 1998-04-28  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
 
 1998-04-25  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * README.semi (How to get? (via CVS)): Modify descriptions about
-       TAG.
+       TAG.
 
 1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/message.el (message-make-forward-subject): Use
-       `eword-decode-unstructured-field-body' for subject.
+       `eword-decode-unstructured-field-body' for subject.
 
        * lisp/gnus-msg.el (gnus-summary-mail-forward): Make local
-       variable `default-mime-charset' of `gnus-original-article-buffer'
-       and set up by `default-mime-charset' of `gnus-summary-buffer'.
+       variable `default-mime-charset' of `gnus-original-article-buffer'
+       and set up by `default-mime-charset' of `gnus-summary-buffer'.
 
 1998-04-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        (gnus-version): Modify for SEMI 1.3.
 
        * lisp/gnus-sum.el: Use 'ctree-set-calist-strictly instead of
-       'set-atype to set up for 'mime-acting-condition.
+       'set-atype to set up for 'mime-acting-condition.
 
 1998-04-21  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
 
        * texi/gnus-ja.texi: Modify styles.
 
        * texi/gnus.texi: Modify for Semi-gnus (sync up with
-       gnus-ja.texi).
+       gnus-ja.texi).
 
 1998-04-20  Yoshiki Hayashi   <g740685@komaba.ecc.u-tokyo.ac.jp>
 
 1998-04-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus-art.el (gnus-following-method): New function; set up
-       for 'mime-view-following-method-alist.
+       for 'mime-view-following-method-alist.
 
 1998-04-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        `nnheader-insert-file-contents'.
        (gnus-agent-braid-nov): Ditto.
        (gnus-agent-expire): Ditto.
-       
+
        * lisp/gnus-cache.el (gnus-cache-request-article): Ditto.
        (gnus-cache-retrieve-headers): Ditto.
        (gnus-cache-change-buffer): Ditto.
        (gnus-cache-braid-nov): Ditto.
-       
+
        * lisp/gnus-sum.el (gnus-summary-import-article): Ditto.
-       
+
        * lisp/nnkiboze.el (nnkiboze-retrieve-headers): Ditto.
 
        * lisp/message.el (message-generate-headers): Fix regexp.
 1998-03-14  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus-art.el: Add setting for
-       `mime-raw-buffer-coding-system-alist'.
+       `mime-raw-buffer-coding-system-alist'.
 
 1998-03-13  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus-art.el: Rename `mime-view-quitting-method-for-gnus' ->
-       `mime-preview-quitting-method-for-gnus'.
+       `mime-preview-quitting-method-for-gnus'.
 
        * lisp/gnus-art.el: Rename `mime-view-quitting-method-alist' ->
-       `mime-preview-quitting-method-alist'.
+       `mime-preview-quitting-method-alist'.
 
        * lisp/gnus-art.el: Rename `mime-view-kill-buffer' ->
-       `mime-preview-kill-buffer'.
+       `mime-preview-kill-buffer'.
 
        * lisp/gnus.el (gnus-version-number): Update to 6.0.10.
 
        * lisp/gnus-sum.el: Add code to check latest SEMI.
        (mime-acting-condition): Separate type and subtype; rename
-       `mime-combine-message/partials-automatically' ->
-       `mime-method-to-combine-message/partial-pieces'.
+       `mime-combine-message/partials-automatically' ->
+       `mime-method-to-combine-message/partial-pieces'.
 
 1998-03-08  Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 
        * lisp/gnus.el (gnus-bdf-image-file): New variable.
        (gnus-mule-group-startup-message): Display bitmap image using
        bitmap.el running with Emacs 20.
-       
+
        * lisp/gnus-agent.el (gnus-agent-fetch-headers): Fix problem when
        Xref field is not exist.
 
 1998-02-20  Christophe Broult <christophe.broult@info.unicaen.fr>
 
        * README.semi (How to get?): The command `update' must come before
-       `-r semi-gnus'. (cf. [tm-en:1559])
+       `-r semi-gnus'. (cf. [tm-en:1559])
 
 1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus.el, lisp/message.el: Sync up with qgnus-0.28.
 
        * lisp/message.el: Abolish variable
-       `message-references-generator'.  Abolish function
-       `message-generate-filled-references',
-       `message-generate-folded-references' and
-       `message-generate-unfolded-references'.
+       `message-references-generator'.  Abolish function
+       `message-generate-filled-references',
+       `message-generate-folded-references' and
+       `message-generate-unfolded-references'.
        (message-reply): Don't use `message-references-generator'.
        (message-followup): Don't use `message-references-generator'.
 
        (message-fill-references): New function.
        (message-header-format-alist): Use `message-fill-references' for
-       References.
+       References.
 
 1998-02-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 
        * lisp/gnus-sum.el: Check SEMI-0.118.2 (Otomaru) or later.
        (gnus-structured-field-decoder): Use
-       `eword-decode-and-unfold-structured-field'.
+       `eword-decode-and-unfold-structured-field'.
 
        * lisp/gnus-art.el (gnus-article-decode-rfc1522): Use charset
-       conversion option of `eword-decode-header'.
+       conversion option of `eword-decode-header'.
        (gnus-article-decode-encoded-word): Use charset conversion option
-       of `eword-decode-header'; use `gnus-run-hooks'.
+       of `eword-decode-header'; use `gnus-run-hooks'.
        (gnus-content-header-filter): Use charset conversion option of
-       `eword-decode-header'.
+       `eword-decode-header'.
 
        * README.semi (How to get?): Should specify "-r semi-gnus".
 
 1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/gnus-art.el (gnus-article-decode-rfc1522): Decode header by
-       localized code.
+       localized code.
 
 1998-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/nnmail.el, lisp/nnmh.el: Use original.
 
        * lisp/gnus.el, lisp/gnus-draft.el, lisp/gnus-sum.el,
-       lisp/message.el, lisp/gnus-art.el: Sync up with qgnus-0.25.
+       lisp/message.el, lisp/gnus-art.el: Sync up with qgnus-0.25.
 
 1998-02-11  Shuhei Kobayashi  <shuhei-k@jaist.ac.jp>
 
        * texi/message.texi, texi/gnus.texi, texi/ChangeLog,
-       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
-       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
-       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-art.el,
-       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.24
+       lisp/message.el, lisp/gnus.el, lisp/gnus-uu.el,
+       lisp/gnus-topic.el, lisp/gnus-sum.el, lisp/gnus-start.el,
+       lisp/gnus-score.el, lisp/gnus-group.el, lisp/gnus-art.el,
+       lisp/gnus-agent.el, lisp/ChangeLog: Importing qgnus-0.24
 
 1998-02-10  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 1998-01-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/message.el (message-send-mail-with-sendmail): Guard
-       `coding-system-for-write' by binary.
+       `coding-system-for-write' by binary.
        (message-send-mail-with-qmail): Likewise.
 
 1998-01-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/smtp.el (smtp-deduce-address-list): Don't use
-       `smtp-recipient-address-list' as global variable.
+       `smtp-recipient-address-list' as global variable.
 
        * lisp/message.el (message-send-mail-with-smtp): Don't use
-       `smtp-recipient-address-list' as global variable.
+       `smtp-recipient-address-list' as global variable.
 
        * lisp/smtpmail.el (smtpmail-recipient-address-list): New
-       variable; renamed from `smtp-recipient-address-list'.
+       variable; renamed from `smtp-recipient-address-list'.
        (smtpmail-send-it): Remove `(not (null ...))'.
        (smtpmail-send-queued-mail): Likewise.
 
 1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/message.el (message-send-mail-with-smtp): Don't generate
-       temporary buffer for message; don't generate and kill
-       `smtp-address-buffer' for `smtp-deduce-address-list'.
+       temporary buffer for message; don't generate and kill
+       `smtp-address-buffer' for `smtp-deduce-address-list'.
 
        * lisp/smtpmail.el (smtpmail-send-it): Don't generate and kill
-       `smtp-address-buffer' for `smtp-deduce-address-list'.
+       `smtp-address-buffer' for `smtp-deduce-address-list'.
 
        * lisp/smtp.el (smtp-deduce-address-list): Bind and generate
-       `smtp-address-buffer' in itself.
+       `smtp-address-buffer' in itself.
 
 1998-01-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * lisp/smtpmail.el: Split basic features into smtp.el.
 
        * lisp/message.el (message-send-mail-function): Add
-       `message-send-mail-with-smtp' as an item.
+       `message-send-mail-with-smtp' as an item.
        (message-send-mail-with-smtp): New function.
 
        * ChangeLog: New file.
index f1d4a5f..6f314b5 100644 (file)
@@ -565,6 +565,47 @@ If SILENT, don't prompt the user."
   (interactive)
   (concat gnus-product-name "/" gnus-version-number))
 
+(defun gnus-message-make-user-agent (&optional include-mime-info max-column)
+  "Return user-agent info.
+INCLUDE-MIME-INFO the optional first argument if it is non-nil and the variable
+  `mime-edit-user-agent-value' exists, the return value will include it.
+MAX-COLUMN the optional second argument if it is specified, the return value
+  will be folded up in the proper way."
+  (let ((user-agent (if (and include-mime-info
+                            (boundp 'mime-edit-user-agent-value))
+                       (concat (gnus-extended-version)
+                               " "
+                               mime-edit-user-agent-value)
+                     (gnus-extended-version))))
+    (if max-column
+       (let (boundary)
+         (unless (natnump max-column) (setq max-column 76))
+         (with-temp-buffer
+           (insert "            " user-agent)
+           (goto-char 13)
+           (while (re-search-forward "[\n\t ]+" nil t)
+             (replace-match " "))
+           (goto-char 13)
+           (while (re-search-forward "[^ ()/]+\\(/[^ ()/]+\\)? ?" nil t)
+             (while (eq ?\( (char-after (point)))
+               (forward-list)
+               (skip-chars-forward " "))
+             (skip-chars-backward " ")
+             (if (> (current-column) max-column)
+                 (progn
+                   (if (or (not boundary) (eq ?\n (char-after boundary)))
+                       (progn
+                         (setq boundary (point))
+                         (unless (eobp)
+                           (delete-char 1)
+                           (insert "\n ")))
+                     (goto-char boundary)
+                     (delete-char 1)
+                     (insert "\n ")))
+               (setq boundary (point))))
+           (buffer-substring 13 (point-max))))
+      user-agent)))
+
 \f
 ;;;
 ;;; Gnus Mail Functions
index d8106d1..41d5116 100644 (file)
@@ -486,11 +486,13 @@ call it with the value of the `gnus-data' text property."
       (let ((pad (abs pad-width)))
        (if (symbolp el)
            (if (< pad-width 0)
-               `(concat ,el (make-string
-                             (max 0 (- ,pad (string-width ,el))) ?\ ))
-             `(concat (make-string
-                       (max 0 (- ,pad (string-width ,el))) ?\ )
-                      ,el))
+               `(let ((val (format "%s" ,el)))
+                  (concat val (make-string
+                               (max 0 (- ,pad (string-width val))) ?\ )))
+             `(let ((val (format "%s" ,el)))
+                (concat (make-string
+                         (max 0 (- ,pad (string-width val))) ?\ )
+                        val)))
          (if (< pad-width 0)
              `(let ((val (eval ,el)))
                 (concat val (make-string
index 235bffa..13368ee 100644 (file)
@@ -4446,6 +4446,21 @@ regexp varstr."
       (setq idx (1+ idx)))
     string))
 
+(defvar message-save-buffer " *encoding")
+(defun message-save-drafts ()
+  (interactive)
+  (if (not (get-buffer message-save-buffer))
+      (get-buffer-create message-save-buffer))
+  (let ((filename buffer-file-name)
+       (buffer (current-buffer)))
+    (set-buffer message-save-buffer)
+    (erase-buffer)
+    (insert-buffer buffer)
+    (mime-edit-translate-buffer)
+    (write-region (point-min) (point-max) filename)
+    (set-buffer buffer)
+    (set-buffer-modified-p nil)))
+
 (run-hooks 'message-load-hook)
 
 (provide 'message)
index 9801644..1f09f87 100644 (file)
@@ -3,7 +3,7 @@
 ;;                                                           Yasuo Okabe
 ;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
 ;;         Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
-;; Version: 1.12
+;; Version: 1.14
 ;; Keywords: mail , gnus , pop3
 ;;
 ;; SPECIAL THANKS
 
 (unless (and (fboundp 'pop3-fma-encode-string)
             (fboundp 'pop3-fma-decode-string))
-  (require 'mel-b)
-  (fset 'pop3-fma-encode-string 'base64-encode-string)
-  (fset 'pop3-fma-decode-string 'base64-decode-string))
+  (require 'mel)
+  (fset 'pop3-fma-encode-string
+       (mel-find-function 'mime-encode-string "base64"))
+  (fset 'pop3-fma-decode-string
+       (mel-find-function 'mime-decode-string "base64")))
 
 (defgroup pop3-fma nil
   "Multile POP3 account utility for Gnus."
@@ -90,7 +92,7 @@
   :group 'mail
   :group 'news)
 
-(defconst pop3-fma-version-number "1.12")
+(defconst pop3-fma-version-number "1.14")
 (defconst pop3-fma-codename
 ;;  "Feel the wind"            ; 0.10
 ;;  "My home town"             ; 0.11
 ;;  "J boy"                    ; 1.00
 ;;  "Blood line"               ; 1.10
 ;;  "Star ring"                        ; 1.11
-  "Goodbye Game"               ; 1.12
+;;  "Goodbye Game"             ; 1.12
+;;  "Love is Gamble"           ; 1.13
+  "Lonely"                     ; 1.14
   )
 (defconst pop3-fma-version (format "Multiple POP3 account utiliy for Gnus v%s - \"%s\""
                                       pop3-fma-version-number
@@ -153,8 +157,30 @@ Please do not set this valiable non-nil if you do not use Meadow.")
 (defvar movemail-output-buffer " *movemail-out*")
 (defvar pop3-fma-commandline-arguments nil)
 
+;;; To silence byte compiler
+(and
+ (fboundp 'eval-when-compile)
+ (eval-when-compile
+   (save-excursion
+     (beginning-of-defun)
+     (eval-region (point-min) (point)))
+   (let (case-fold-search)
+     (mapcar
+      (function
+       (lambda (symbol)
+        (unless (boundp symbol)
+          (make-local-variable symbol)
+          (eval (list 'setq symbol nil)))))
+      '(:group
+       :prefix :type
+       pop3-maildrop
+       pop3-mailhost
+       ))
+     (make-local-variable 'byte-compile-warnings)
+     (setq byte-compile-warnings nil))))
+
 (defun pop3-fma-init-message-hook ()
-  (add-hook 'message-send-hook 'pop3-fma-message-add-header))
+  (add-hook 'mime-edit-translate-hook 'pop3-fma-message-add-header))
 
 (eval-after-load "message"
   '(pop3-fma-init-message-hook))