From 5d54c59d41a9d9471c24134fde8f82cb293d3017 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Fri, 18 Oct 2002 10:55:38 +0000 Subject: [PATCH] (mm-body-7-or-8): Don't special-case Mule. (mm-encode-body): Just call mm-encode-coding-region in encoding case. --- lisp/gnus/mm-bodies.el | 71 +++++++++++------------------------------- 1 file changed, 18 insertions(+), 53 deletions(-) diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el index 51a16a6a7f1..ab8ab1ccacb 100644 --- a/lisp/gnus/mm-bodies.el +++ b/lisp/gnus/mm-bodies.el @@ -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 ;; MORIOKA Tomohiko @@ -56,8 +56,8 @@ Valid encodings are `7bit', `8bit', `quoted-printable' and `base64'." (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 @@ If no encoding was done, nil is returned." 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 @@ If no encoding was done, nil is returned." 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 @@ If no encoding was done, nil is returned." (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 @@ If no encoding was done, nil is returned." 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 @@ The characters in CHARSET should then be decoded." (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 @@ The characters in CHARSET should then be decoded." "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 @@ The characters in CHARSET should then be decoded." (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) -- 2.39.2