changeset 47948:bce2c13027f2

(mm-body-7-or-8): Don't special-case Mule. (mm-encode-body): Just call mm-encode-coding-region in encoding case.
author Dave Love <fx@gnu.org>
date Fri, 18 Oct 2002 10:55:38 +0000
parents cdc6e9b808d6
children 33e1238070a2
files lisp/gnus/mm-bodies.el
diffstat 1 files changed, 18 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/mm-bodies.el	Fri Oct 18 10:54:31 2002 +0000
+++ b/lisp/gnus/mm-bodies.el	Fri Oct 18 10:55:38 2002 +0000
@@ -1,5 +1,5 @@
 ;;; mm-bodies.el --- functions for decoding MIME things
-;; Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;	MORIOKA Tomohiko <morioka@jaist.ac.jp>
@@ -56,8 +56,8 @@
 (defun mm-encode-body ()
   "Encode a body.
 Should be called narrowed to the body that is to be encoded.
-If there is more than one non-ASCII MULE charset, then list of found
-MULE charsets are returned.
+If there is more than one non-ASCII Mule charset, then the list of found
+Mule charsets is returned.
 If successful, the MIME charset is returned.
 If no encoding was done, nil is returned."
   (if (not (mm-multibyte-p))
@@ -73,8 +73,7 @@
 	  nil))
     (save-excursion
       (goto-char (point-min))
-      (let ((charsets (mm-find-mime-charset-region (point-min) (point-max)))
-	    charset)
+      (let ((charsets (mm-find-mime-charset-region (point-min) (point-max))))
 	(cond
 	 ;; No encoding.
 	 ((null charsets)
@@ -84,29 +83,10 @@
 	  charsets)
 	 ;; We encode.
 	 (t
-	  (let ((charset (car charsets))
-		start)
-	    (when (or t
-		      ;; We always decode.
-		      (not (mm-coding-system-equal
-			    charset buffer-file-coding-system)))
-	      (while (not (eobp))
-		(if (eq (mm-charset-after) 'ascii)
-		    (when start
-		      (save-restriction
-			(narrow-to-region start (point))
-			(mm-encode-coding-region
-			 start (point) (mm-charset-to-coding-system charset))
-			(goto-char (point-max)))
-		      (setq start nil))
-		  (unless start
-		    (setq start (point))))
-		(forward-char 1))
-	      (when start
-		(mm-encode-coding-region start (point)
-					 (mm-charset-to-coding-system charset))
-		(setq start nil)))
-	    charset)))))))
+	  (mm-encode-coding-region (point-min) (point-max)
+				   (mm-charset-to-coding-system
+				    (car charsets)))
+	  (car charsets)))))))
 
 (eval-when-compile (defvar message-posting-charset))
 
@@ -133,27 +113,12 @@
 
 (defun mm-body-7-or-8 ()
   "Say whether the body is 7bit or 8bit."
-  (cond
-   ((not (featurep 'mule))
-    (if (save-excursion
-	  (goto-char (point-min))
-	  (skip-chars-forward mm-7bit-chars)
-	  (eobp))
-	'7bit
-      '8bit))
-   (t
-    ;; Mule version
-    (if (and (null (delq 'ascii
-			 (mm-find-charset-region (point-min) (point-max))))
-	     ;;!!!The following is necessary because the function
-	     ;;!!!above seems to return the wrong result under
-	     ;;!!!Emacs 20.3.  Sometimes.
-	     (save-excursion
-	       (goto-char (point-min))
-	       (skip-chars-forward mm-7bit-chars)
-	       (eobp)))
-	'7bit
-      '8bit))))
+  (if (save-excursion
+	(goto-char (point-min))
+	(skip-chars-forward mm-7bit-chars)
+	(eobp))
+      '7bit
+    '8bit))
 
 ;;;
 ;;; Functions for decoding
@@ -213,7 +178,7 @@
 The characters in CHARSET should then be decoded."
   (if (stringp charset)
       (setq charset (intern (downcase charset))))
-  (if (or (not charset) 
+  (if (or (not charset)
 	  (eq 'gnus-all mail-parse-ignored-charsets)
 	  (memq 'gnus-all mail-parse-ignored-charsets)
 	  (memq charset mail-parse-ignored-charsets))
@@ -226,7 +191,7 @@
 	(if (and (not coding-system)
 		 (listp mail-parse-ignored-charsets)
 		 (memq 'gnus-unknown mail-parse-ignored-charsets))
-	    (setq coding-system 
+	    (setq coding-system
 		  (mm-charset-to-coding-system mail-parse-charset)))
 	(when (and charset coding-system
 		   ;; buffer-file-coding-system
@@ -242,7 +207,7 @@
   "Decode STRING with CHARSET."
   (when (stringp charset)
     (setq charset (intern (downcase charset))))
-  (when (or (not charset) 
+  (when (or (not charset)
 	    (eq 'gnus-all mail-parse-ignored-charsets)
 	    (memq 'gnus-all mail-parse-ignored-charsets)
 	    (memq charset mail-parse-ignored-charsets))
@@ -253,7 +218,7 @@
        (if (and (not coding-system)
 		(listp mail-parse-ignored-charsets)
 		(memq 'gnus-unknown mail-parse-ignored-charsets))
-	   (setq coding-system 
+	   (setq coding-system
 		 (mm-charset-to-coding-system mail-parse-charset)))
        (when (and charset coding-system
 		  (mm-multibyte-p)