Mercurial > emacs
diff src/fns.c @ 21342:efdf4fe4875b
(Fstring_as_multibyte): Never return unibyte string unchanged.
Set size_byte field.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Thu, 02 Apr 1998 22:48:51 +0000 |
| parents | 91933098b4ae |
| children | 456146137d23 |
line wrap: on
line diff
--- a/src/fns.c Thu Apr 02 18:46:08 1998 +0000 +++ b/src/fns.c Thu Apr 02 22:48:51 1998 +0000 @@ -871,14 +871,12 @@ { 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; }
