(gnus-mime-view-part-internally): Bind buffer-read-only to nil.
[gnus] / lisp / rfc2047.el
index fa03c40..fdce08d 100644 (file)
@@ -27,7 +27,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
+(eval-when-compile
+  (require 'cl)
+  (defvar message-posting-charset))
 
 (require 'qp)
 (require 'mm-util)
@@ -65,8 +67,8 @@ The values can be:
     (iso-8859-4 . Q)
     (iso-8859-5 . B)
     (koi8-r . B)
-    (iso-8859-7 . Q)
-    (iso-8859-8 . Q)
+    (iso-8859-7 . B)
+    (iso-8859-8 . B)
     (iso-8859-9 . Q)
     (iso-8859-14 . Q)
     (iso-8859-15 . Q)
@@ -81,7 +83,8 @@ The values can be:
     (iso-2022-jp-2 . B)
     (iso-2022-int-1 . B))
   "Alist of MIME charsets to RFC2047 encodings.
-Valid encodings are nil, `Q' and `B'.")
+Valid encodings are nil, `Q' and `B'.  These indicate binary (no) encoding,
+quoted-printable and base64 respectively.")
 
 (defvar rfc2047-encoding-function-alist
   '((Q . rfc2047-q-encode-region)
@@ -184,7 +187,7 @@ Should be called narrowed to the head of the message."
             ;; left the old code commented out below.
             ;; -- Per Abrahamsen <abraham@dina.kvl.dk> Date: 2001-10-07.
             ((null method)
-             (when (delq 'ascii 
+             (when (delq 'ascii
                          (mm-find-charset-region (point-min) (point-max)))
                (rfc2047-encode-region (point-min) (point-max))))
 ;;;         ((null method)
@@ -517,6 +520,14 @@ The buffer may be narrowed."
                   (prog1
                       (match-string 0)
                     (delete-region (match-beginning 0) (match-end 0)))))
+         ;; Remove newlines between decoded words.  Though such things
+         ;; must not be essentially there.
+         (save-restriction
+           (narrow-to-region e (point))
+           (goto-char e)
+           (while (re-search-forward "[\n\r]+" nil t)
+             (replace-match " "))
+           (goto-char (point-max)))
          (when (and (mm-multibyte-p)
                     mail-parse-charset
                     (not (eq mail-parse-charset 'us-ascii))
@@ -540,7 +551,7 @@ The buffer may be narrowed."
          (inline
            (rfc2047-decode-region (point-min) (point-max)))
          (buffer-string))
-      (if (and m 
+      (if (and m
               mail-parse-charset
               (not (eq mail-parse-charset 'us-ascii))
               (not (eq mail-parse-charset 'gnus-decoded)))