aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2004-04-19 18:06:51 +0000
committerEli Zaretskii2004-04-19 18:06:51 +0000
commit177cd3b9f4881410dcd5ef9e8fc706421e63c109 (patch)
treed093bbaa21e4a6f899e666f281e49c330a4dcacf
parent98a51048c93fcca49095248037a63dacb14dc3b0 (diff)
downloademacs-177cd3b9f4881410dcd5ef9e8fc706421e63c109.tar.gz
emacs-177cd3b9f4881410dcd5ef9e8fc706421e63c109.zip
(rmail-convert-to-babyl-format): Don't remove ^M
characters left after base64 decoding. (rmail-decode-region): Use -dos variety of `coding', to remove any ^M characters left after qp or base64 decoding.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/mail/rmail.el16
2 files changed, 16 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f4d481a83cf..2cba0c93c02 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12004-04-19 Eli Zaretskii <eliz@gnu.org>
2
3 * mail/rmail.el (rmail-convert-to-babyl-format): Don't remove ^M
4 characters left after base64 decoding.
5 (rmail-decode-region): Use -dos variety of `coding', to remove any
6 ^M characters left after qp or base64 decoding.
7
12004-04-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 82004-04-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2 9
3 * x-dnd.el (x-dnd-open-local-file, x-dnd-open-file): Improved error 10 * x-dnd.el (x-dnd-open-local-file, x-dnd-open-file): Improved error
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index f5f6262435a..0dfa43d0cc8 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1666,7 +1666,15 @@ It returns t if it got any new messages."
1666(defun rmail-decode-region (from to coding) 1666(defun rmail-decode-region (from to coding)
1667 (if (or (not coding) (not (coding-system-p coding))) 1667 (if (or (not coding) (not (coding-system-p coding)))
1668 (setq coding 'undecided)) 1668 (setq coding 'undecided))
1669 (decode-coding-region from to coding)) 1669 ;; Use -dos decoding, to remove ^M characters left from base64 or
1670 ;; rogue qp-encoded text.
1671 (decode-coding-region from to
1672 (coding-system-change-eol-conversion coding 1))
1673 ;; Don't reveal the fact we used -dos decoding, as users generally
1674 ;; will not expect the RMAIL buffer to use DOS EOL format.
1675 (setq buffer-file-coding-system
1676 (setq last-coding-system-used
1677 (coding-system-change-eol-conversion coding 0))))
1670 1678
1671;; the rmail-break-forwarded-messages feature is not implemented 1679;; the rmail-break-forwarded-messages feature is not implemented
1672(defun rmail-convert-to-babyl-format () 1680(defun rmail-convert-to-babyl-format ()
@@ -1751,9 +1759,6 @@ It returns t if it got any new messages."
1751 (error nil)) 1759 (error nil))
1752 ;; Change "base64" to "8bit", to reflect the 1760 ;; Change "base64" to "8bit", to reflect the
1753 ;; decoding we just did. 1761 ;; decoding we just did.
1754 (goto-char (1+ header-end))
1755 (while (search-forward "\r\n" (point-max) t)
1756 (replace-match "\n"))
1757 (goto-char base64-header-field-end) 1762 (goto-char base64-header-field-end)
1758 (delete-region (point) (search-backward ":")) 1763 (delete-region (point) (search-backward ":"))
1759 (insert ": 8bit")))) 1764 (insert ": 8bit"))))
@@ -1901,9 +1906,6 @@ It returns t if it got any new messages."
1901 (point))) 1906 (point)))
1902 t) 1907 t)
1903 (error nil)) 1908 (error nil))
1904 (goto-char header-end)
1905 (while (search-forward "\r\n" (point-max) t)
1906 (replace-match "\n"))
1907 ;; Change "base64" to "8bit", to reflect the 1909 ;; Change "base64" to "8bit", to reflect the
1908 ;; decoding we just did. 1910 ;; decoding we just did.
1909 (goto-char base64-header-field-end) 1911 (goto-char base64-header-field-end)