]> git.eshelyaron.com Git - emacs.git/commitdiff
mail-utils.el: multibyte chars should be quoted.
authorRichard M. Stallman <rms@gnu.org>
Sat, 10 Mar 2012 09:02:06 +0000 (04:02 -0500)
committerRichard M. Stallman <rms@gnu.org>
Sat, 10 Mar 2012 09:02:06 +0000 (04:02 -0500)
lisp/ChangeLog
lisp/mail/mail-utils.el

index 0648c9dc5cd5e3e72bccd0796d5b81bb92d9c81f..1d225b9cd8115030dda2b34a0a743a043151b840 100644 (file)
@@ -1,5 +1,7 @@
 2012-03-10  Richard Stallman  <rms@gnu.org>
 
+       * mail/mail-utils.el (mail-quote-printable): Quote multibyte chars.
+
        * mail/rmail.el (rmail-buffers-swapped-p): Don't assume dead
        view buffer means not swapped.
        (rmail-view-buffer-kill-buffer-hook): Give buf name in error msg.
index a20201fb529f3e5dc2cea7f3c6ead3dba6b6abe1..9059da817b6c5fba78a122e6677072f988bbf959 100644 (file)
@@ -63,12 +63,16 @@ from START (inclusive) to END (exclusive)."
 
 ;;;###autoload
 (defun mail-quote-printable (string &optional wrapper)
-  "Convert a string to the \"quoted printable\" Q encoding.
+  "Convert a string to the \"quoted printable\" Q encoding if necessary.
+If the string contains only ASCII characters and no troublesome ones,
+we return it unconverted.
+
 If the optional argument WRAPPER is non-nil,
 we add the wrapper characters =?ISO-8859-1?Q?....?=."
   (let ((i 0) (result ""))
     (save-match-data
-      (while (string-match "[?=\"\200-\377]" string i)
+      (while (or (string-match "[?=\"]" string i)
+                (string-match "[^\000-\177]" string i))
        (setq result
              (concat result (substring string i (match-beginning 0))
                      (upcase (format "=%02x"