aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2011-02-22 20:19:28 -0800
committerGlenn Morris2011-02-22 20:19:28 -0800
commitcce7d53002e8abc346b67ea4100507b0e7c4d68e (patch)
treefaed484c15cde23eec2ec2463a1f30b9a8f4e43b /lisp
parent4902e827bc04d0e1cb17820fe522992995166fc7 (diff)
parent51a13bdd9324860db6381e6da121411467087bec (diff)
downloademacs-cce7d53002e8abc346b67ea4100507b0e7c4d68e.tar.gz
emacs-cce7d53002e8abc346b67ea4100507b0e7c4d68e.zip
Merge from emacs-23; up to 2010-06-02T00:10:42Z!yamaoka@jpl.org.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/mail/rmail.el12
-rw-r--r--lisp/mail/rmailmm.el45
3 files changed, 44 insertions, 21 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 14ef035445a..df3098332f9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12011-02-23 Kenichi Handa <handa@m17n.org>
2
3 * mail/rmailmm.el (rmail-mime-process-multipart): Do not signal an
4 error when a multipart boundary in the nested multipart is found.
5
6 * mail/rmail.el (rmail-start-mail): Decode "encoded-words" of
7 header components.
8
12011-02-23 Glenn Morris <rgm@gnu.org> 92011-02-23 Glenn Morris <rgm@gnu.org>
2 10
3 * dired.el (dired-mode): Call hack-dir-local-variables-non-file-buffer. 11 * dired.el (dired-mode): Call hack-dir-local-variables-non-file-buffer.
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 06867f6d92a..7fe5383d865 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -3443,6 +3443,16 @@ does not pop any summary buffer."
3443 (setq yank-action (list 'insert-buffer replybuffer))) 3443 (setq yank-action (list 'insert-buffer replybuffer)))
3444 (push (cons "cc" cc) other-headers) 3444 (push (cons "cc" cc) other-headers)
3445 (push (cons "in-reply-to" in-reply-to) other-headers) 3445 (push (cons "in-reply-to" in-reply-to) other-headers)
3446 (setq other-headers
3447 (mapcar #'(lambda (elt)
3448 (cons (car elt) (if (stringp (cdr elt))
3449 (rfc2047-decode-string (cdr elt)))))
3450 other-headers))
3451 (if (stringp to) (setq to (rfc2047-decode-string to)))
3452 (if (stringp in-reply-to)
3453 (setq in-reply-to (rfc2047-decode-string in-reply-to)))
3454 (if (stringp cc) (setq cc (rfc2047-decode-string cc)))
3455 (if (stringp subject) (setq subject (rfc2047-decode-string subject)))
3446 (prog1 3456 (prog1
3447 (compose-mail to subject other-headers noerase 3457 (compose-mail to subject other-headers noerase
3448 switch-function yank-action sendactions 3458 switch-function yank-action sendactions
@@ -3450,7 +3460,7 @@ does not pop any summary buffer."
3450 (if (eq switch-function 'switch-to-buffer-other-frame) 3460 (if (eq switch-function 'switch-to-buffer-other-frame)
3451 ;; This is not a standard frame parameter; nothing except 3461 ;; This is not a standard frame parameter; nothing except
3452 ;; sendmail.el looks at it. 3462 ;; sendmail.el looks at it.
3453 (modify-frame-parameters (selected-frame) 3463 (modify-frame-parameters (selected-frame)
3454 '((mail-dedicated-frame . t))))))) 3464 '((mail-dedicated-frame . t)))))))
3455 3465
3456(defun rmail-mail-return () 3466(defun rmail-mail-return ()
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index 0bfeb121ca4..96132739b20 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -853,28 +853,33 @@ The other arguments are the same as `rmail-mime-multipart-handler'."
853 ((looking-at "[ \t]*\n") 853 ((looking-at "[ \t]*\n")
854 (setq next (copy-marker (match-end 0) t))) 854 (setq next (copy-marker (match-end 0) t)))
855 (t 855 (t
856 (rmail-mm-get-boundary-error-message 856 ;; The original code signalled an error as below, but
857 "Malformed boundary" content-type content-disposition 857 ;; this line may be a boundary of nested multipart. So,
858 content-transfer-encoding))) 858 ;; we just set `next' to nil to skip this line
859 859 ;; (rmail-mm-get-boundary-error-message
860 (setq index (1+ index)) 860 ;; "Malformed boundary" content-type content-disposition
861 ;; Handle the part. 861 ;; content-transfer-encoding)
862 (if parse-tag 862 (setq next nil)))
863
864 (when next
865 (setq index (1+ index))
866 ;; Handle the part.
867 (if parse-tag
868 (save-restriction
869 (narrow-to-region beg end)
870 (let ((child (rmail-mime-process
871 nil (format "%s/%d" parse-tag index)
872 content-type content-disposition)))
873 ;; Display a tagline.
874 (aset (aref (rmail-mime-entity-display child) 1) 1
875 (aset (rmail-mime-entity-tagline child) 2 t))
876 (push child entities)))
877
878 (delete-region end next)
863 (save-restriction 879 (save-restriction
864 (narrow-to-region beg end) 880 (narrow-to-region beg end)
865 (let ((child (rmail-mime-process 881 (rmail-mime-show)))
866 nil (format "%s/%d" parse-tag index) 882 (goto-char (setq beg next))))
867 content-type content-disposition)))
868 ;; Display a tagline.
869 (aset (aref (rmail-mime-entity-display child) 1) 1
870 (aset (rmail-mime-entity-tagline child) 2 t))
871 (push child entities)))
872
873 (delete-region end next)
874 (save-restriction
875 (narrow-to-region beg end)
876 (rmail-mime-show)))
877 (goto-char (setq beg next)))
878 883
879 (when parse-tag 884 (when parse-tag
880 (setq entities (nreverse entities)) 885 (setq entities (nreverse entities))