]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fstring_as_multibyte): Never return unibyte string unchanged.
authorRichard M. Stallman <rms@gnu.org>
Thu, 2 Apr 1998 22:48:51 +0000 (22:48 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 2 Apr 1998 22:48:51 +0000 (22:48 +0000)
Set size_byte field.

src/fns.c

index 6d30c09c45bdd176c9d82c5e3403793194a24ecc..c98cb2547b8355675dd1b6c5d8f4e45519992310 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -871,14 +871,12 @@ If STRING is multibyte, the result is STRING itself.")
 {
   if (! STRING_MULTIBYTE (string))
     {
-      int newlen = multibyte_chars_in_text (XSTRING (string)->data,
-                                           STRING_BYTES (XSTRING (string)));
-      /* If all the chars are ASCII, STRING is already suitable.  */
-      if (newlen != STRING_BYTES (XSTRING (string)))
-       {
-         string = Fcopy_sequence (string);
-         XSTRING (string)->size = newlen;
-       }
+      int nbytes = STRING_BYTES (XSTRING (string));
+      int newlen = multibyte_chars_in_text (XSTRING (string)->data, nbytes);
+
+      string = Fcopy_sequence (string);
+      XSTRING (string)->size = newlen;
+      XSTRING (string)->size_byte = nbytes;
     }
   return string;
 }