(message-forward-make-body-plain)
authorSimon Josefsson <jas@extundo.com>
Sat, 18 Oct 2003 01:51:50 +0000 (01:51 +0000)
committerSimon Josefsson <jas@extundo.com>
Sat, 18 Oct 2003 01:51:50 +0000 (01:51 +0000)
(message-forward-make-body-mime, message-forward-make-body-mml)
(message-forward-make-body-digest-plain)
(message-forward-make-body-digest-mime)
(message-forward-make-body-digest): New, derived from
message-forward-make-body.
(message-forward-make-body): Use them.

lisp/ChangeLog
lisp/message.el

index 95824ed..2d3736e 100644 (file)
@@ -1,3 +1,13 @@
+2003-10-18  Simon Josefsson  <jas@extundo.com>
+
+       * message.el (message-forward-make-body-plain)
+       (message-forward-make-body-mime, message-forward-make-body-mml)
+       (message-forward-make-body-digest-plain)
+       (message-forward-make-body-digest-mime)
+       (message-forward-make-body-digest): New, derived from
+       message-forward-make-body.
+       (message-forward-make-body): Use them.
+
 2003-10-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-art.el (gnus-article-mode): Set gnus-page-broken to nil.
index 75bda5e..aeb4b2d 100644 (file)
@@ -5977,6 +5977,95 @@ Optional DIGEST will use digest to forward."
       (message-mail nil subject))
     (message-forward-make-body cur digest)))
 
+(defun message-forward-make-body-plain (forward-buffer)
+  (insert
+   "\n-------------------- Start of forwarded message --------------------\n")
+  (let ((b (point)) e)
+    (save-restriction
+      (narrow-to-region (point) (point))
+      (mml-insert-buffer forward-buffer)
+      (goto-char (point-min))
+      (when (looking-at "From ")
+       (replace-match "X-From-Line: "))
+      (goto-char (point-max)))
+    (setq e (point))
+    (insert
+     "\n-------------------- End of forwarded message --------------------\n")))
+
+(defun message-forward-make-body-mime (forward-buffer)
+  (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n")
+  (let ((b (point)) e)
+    (save-restriction
+      (narrow-to-region (point) (point))
+      (mml-insert-buffer forward-buffer)
+      (goto-char (point-min))
+      (when (looking-at "From ")
+       (replace-match "X-From-Line: "))
+      (goto-char (point-max)))
+    (setq e (point))
+    (insert "<#/part>\n")))
+
+(defun message-forward-make-body-mml (forward-buffer)
+  (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
+  (let ((b (point)) e)
+    (if (not message-forward-decoded-p)
+       (insert
+        (with-temp-buffer
+          (mm-disable-multibyte)
+          (insert
+           (with-current-buffer forward-buffer
+             (mm-with-unibyte-current-buffer (buffer-string))))
+          (mm-enable-multibyte)
+          (mime-to-mml)
+          (goto-char (point-min))
+          (when (looking-at "From ")
+            (replace-match "X-From-Line: "))
+          (buffer-string)))
+      (save-restriction
+       (narrow-to-region (point) (point))
+       (mml-insert-buffer forward-buffer)
+       (goto-char (point-min))
+       (when (looking-at "From ")
+         (replace-match "X-From-Line: "))
+       (goto-char (point-max))))
+    (setq e (point))
+    (insert "<#/mml>\n")
+    (when (and (not current-prefix-arg)
+              message-forward-ignored-headers)
+      (save-restriction
+       (narrow-to-region b e)
+       (goto-char b)
+       (narrow-to-region (point)
+                         (or (search-forward "\n\n" nil t) (point)))
+       (message-remove-header message-forward-ignored-headers t)))))
+
+(defun message-forward-make-body-digest-plain (forward-buffer)
+  (insert
+   "\n-------------------- Start of forwarded message --------------------\n")
+  (let ((b (point)) e)
+    (mml-insert-buffer forward-buffer)
+    (setq e (point))
+    (insert
+     "\n-------------------- End of forwarded message --------------------\n")))
+
+(defun message-forward-make-body-digest-mime (forward-buffer)
+  (insert "\n<#multipart type=digest>\n")
+  (let ((b (point)) e)
+    (insert-buffer-substring forward-buffer)
+    (setq e (point))
+    (insert "<#/multipart>\n")
+    (save-restriction
+      (narrow-to-region b e)
+      (goto-char b)
+      (narrow-to-region (point)
+                       (or (search-forward "\n\n" nil t) (point)))
+      (delete-region (point-min) (point-max)))))
+
+(defun message-forward-make-body-digest (forward-buffer)
+  (if message-forward-as-mime
+      (message-forward-make-body-digest-mime forward-buffer)
+    (message-forward-make-body-digest-plain forward-buffer)))
+
 ;;;###autoload
 (defun message-forward-make-body (forward-buffer &optional digest)
   ;; Put point where we want it before inserting the forwarded
@@ -5986,62 +6075,11 @@ Optional DIGEST will use digest to forward."
     (goto-char (point-max)))
   (if message-forward-as-mime
       (if digest
-         (insert "\n<#multipart type=digest>\n")
+         (message-forward-make-body-digest forward-buffer)
        (if message-forward-show-mml
-           (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
-         (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n")))
-    (insert "\n-------------------- Start of forwarded message --------------------\n"))
-  (let ((b (point)) e)
-    (if digest
-       (if message-forward-as-mime
-           (insert-buffer-substring forward-buffer)
-         (mml-insert-buffer forward-buffer))
-      (if (and message-forward-show-mml
-              (not message-forward-decoded-p))
-         (insert
-          (with-temp-buffer
-            (mm-disable-multibyte)
-            (insert
-             (with-current-buffer forward-buffer
-               (mm-with-unibyte-current-buffer (buffer-string))))
-            (mm-enable-multibyte)
-            (mime-to-mml)
-            (goto-char (point-min))
-            (when (looking-at "From ")
-              (replace-match "X-From-Line: "))
-            (buffer-string)))
-       (save-restriction
-         (narrow-to-region (point) (point))
-         (mml-insert-buffer forward-buffer)
-         (goto-char (point-min))
-         (when (looking-at "From ")
-           (replace-match "X-From-Line: "))
-         (goto-char (point-max)))))
-    (setq e (point))
-    (if message-forward-as-mime
-       (if digest
-           (insert "<#/multipart>\n")
-         (if message-forward-show-mml
-             (insert "<#/mml>\n")
-           (insert "<#/part>\n")))
-      (insert "\n-------------------- End of forwarded message --------------------\n"))
-    (if (and digest message-forward-as-mime)
-       (save-restriction
-         (narrow-to-region b e)
-         (goto-char b)
-         (narrow-to-region (point)
-                           (or (search-forward "\n\n" nil t) (point)))
-         (delete-region (point-min) (point-max)))
-      (when (and (not current-prefix-arg)
-                message-forward-ignored-headers
-                ;; don't remove CTE, X-Gnus etc when doing "raw" forward:
-                message-forward-show-mml)
-       (save-restriction
-         (narrow-to-region b e)
-         (goto-char b)
-         (narrow-to-region (point)
-                           (or (search-forward "\n\n" nil t) (point)))
-         (message-remove-header message-forward-ignored-headers t)))))
+           (message-forward-make-body-mml forward-buffer)
+         (message-forward-make-body-mime forward-buffer)))
+    (message-forward-make-body-plain forward-buffer))
   (message-position-point))
 
 ;;;###autoload