diff options
| author | Eli Zaretskii | 2004-04-19 18:06:51 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2004-04-19 18:06:51 +0000 |
| commit | 177cd3b9f4881410dcd5ef9e8fc706421e63c109 (patch) | |
| tree | d093bbaa21e4a6f899e666f281e49c330a4dcacf | |
| parent | 98a51048c93fcca49095248037a63dacb14dc3b0 (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 16 |
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 @@ | |||
| 1 | 2004-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 | |||
| 1 | 2004-04-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 8 | 2004-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) |