[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master b5a3626: Don’t double-encode non-ASCII mail clipbo
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master b5a3626: Don’t double-encode non-ASCII mail clipboard |
Date: |
Mon, 14 Sep 2015 21:09:54 +0000 |
branch: master
commit b5a3626f316d2c0f1196a9718e51462c09a14568
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Don’t double-encode non-ASCII mail clipboard
* lisp/mail/mailclient.el (mailclient-send-it):
Also fix the case when mailclient-place-body-on-clipboard-flag
is non-nil. Problem reported by Eli Zaretskii (Bug#21471#37).
---
lisp/mail/mailclient.el | 56 +++++++++++++++++++++--------------------------
1 files changed, 25 insertions(+), 31 deletions(-)
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el
index bef2038..2fb944b 100644
--- a/lisp/mail/mailclient.el
+++ b/lisp/mail/mailclient.el
@@ -175,37 +175,31 @@ The mail client is taken to be the handler of mailto
URLs."
(mailclient-encode-string-as-url subj))
""))))
;; body
- (concat
- (mailclient-url-delim) "body="
- (mailclient-encode-string-as-url
- (if mailclient-place-body-on-clipboard-flag
- (progn
- (clipboard-kill-ring-save
- (+ 1 delimline) (point-max))
- (concat
- "*** E-Mail body has been placed on clipboard, "
- "please paste it here! ***"))
- ;; else
- (let ((body (buffer-substring (+ 1 delimline) (point-max))))
- (if (null character-coding)
- body
- ;; mailto: requires UTF-8 and cannot deal with
- ;; Content-Transfer-Encoding or Content-Type.
- ;; FIXME: There is a lot of code duplication here
- ;; with rmail.el.
- (erase-buffer)
- (set-buffer-multibyte nil)
- (insert body)
- (cond
- ((string= character-coding "quoted-printable")
- (mail-unquote-printable-region (point-min) (point-max)
- nil nil 'unibyte))
- ((string= character-coding "base64")
- (base64-decode-region (point-min) (point-max)))
- (t (error "unsupported Content-Transfer-Encoding: %s"
- character-coding)))
- (decode-coding-region (point-min) (point-max)
- coding-system t)))))))))))))
+ (mailclient-url-delim) "body="
+ (progn
+ (delete-region (point-min) delimline)
+ (unless (null character-coding)
+ ;; mailto: and clipboard need UTF-8 and cannot deal with
+ ;; Content-Transfer-Encoding or Content-Type.
+ ;; FIXME: There is code duplication here with rmail.el.
+ (set-buffer-multibyte nil)
+ (cond
+ ((string= character-coding "base64")
+ (base64-decode-region (point-min) (point-max)))
+ ((string= character-coding "quoted-printable")
+ (mail-unquote-printable-region (point-min) (point-max)
+ nil nil t))
+ (t (error "unsupported Content-Transfer-Encoding: %s"
+ character-coding)))
+ (decode-coding-region (point-min) (point-max) coding-system))
+ (mailclient-encode-string-as-url
+ (if mailclient-place-body-on-clipboard-flag
+ (progn
+ (clipboard-kill-ring-save (point-min) (point-max))
+ (concat
+ "*** E-Mail body has been placed on clipboard, "
+ "please paste it here! ***"))
+ (buffer-string)))))))))))
(provide 'mailclient)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master b5a3626: Don’t double-encode non-ASCII mail clipboard,
Paul Eggert <=