]> code.delx.au - gnu-emacs/commitdiff
(encode_coding_string): Don't encode unibyte strings. (Bug#4047)
authorEli Zaretskii <eliz@gnu.org>
Sat, 22 Aug 2009 10:26:14 +0000 (10:26 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 22 Aug 2009 10:26:14 +0000 (10:26 +0000)
src/ChangeLog
src/coding.h

index 48105ecc78e17b2f8d4c5635152dfad3405e4650..548f1c3dc40bd564a2326aefe4cfec09bfe66371 100644 (file)
@@ -1,3 +1,8 @@
+2009-08-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * coding.h (encode_coding_string): Don't encode unibyte strings.
+       (Bug#4047)
+
 2009-08-22  Michael Albinus  <michael.albinus@gmx.de>
 
        * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
index 27bc8333c6dc0ee308cb7250537cf21f3410751b..ca8878f1cbb9753549474e910b8cea1b8f998151 100644 (file)
@@ -738,9 +738,10 @@ extern void encode_coding_object P_ ((struct coding_system *,
                        SBYTES (string), Qt)
 
 #define encode_coding_string(coding, string, nocopy)                   \
-  (encode_coding_object (coding, string, 0, 0, SCHARS (string),                \
-                        SBYTES (string), Qt),                          \
-   (coding)->dst_object)
+  (STRING_MULTIBYTE(string) ?                                          \
+    (encode_coding_object (coding, string, 0, 0, SCHARS (string),      \
+                          SBYTES (string), Qt),                        \
+     (coding)->dst_object) : (string))
 
 
 #define decode_coding_c_string(coding, src, bytes, dst_object)         \