Mercurial > emacs
diff src/editfns.c @ 21257:205a5aa4aa2f
(Fchar_to_string): Use make_string_from_bytes.
(Fformat): Use make_specified_string.
(make_buffer_string_both): Use make_uninit_string if buffer is unibyte.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 21 Mar 1998 18:05:29 +0000 |
parents | 6cde55b7c9de |
children | e9f7d8708bae |
line wrap: on
line diff
--- a/src/editfns.c Sat Mar 21 18:02:09 1998 +0000 +++ b/src/editfns.c Sat Mar 21 18:05:29 1998 +0000 @@ -122,7 +122,7 @@ } DEFUN ("char-to-string", Fchar_to_string, Schar_to_string, 1, 1, 0, - "Convert arg CHAR to a string containing multi-byte form of that character.") + "Convert arg CHAR to a string containing that character.") (character) Lisp_Object character; { @@ -132,7 +132,7 @@ CHECK_NUMBER (character, 0); len = CHAR_STRING (XFASTINT (character), workbuf, str); - return make_multibyte_string (str, 1, len); + return make_string_from_bytes (str, 1, len); } DEFUN ("string-to-char", Fstring_to_char, Sstring_to_char, 1, 1, 0, @@ -1476,7 +1476,10 @@ if (start < GPT && GPT < end) move_gap (start); - result = make_uninit_multibyte_string (end - start, end_byte - start_byte); + if (! NILP (current_buffer->enable_multibyte_characters)) + result = make_uninit_multibyte_string (end - start, end_byte - start_byte); + else + result = make_uninit_string (end - start); bcopy (BYTE_POS_ADDR (start_byte), XSTRING (result)->data, end_byte - start_byte); @@ -2491,7 +2494,7 @@ *p++ = *format++, nchars++; } - val = make_multibyte_string (buf, nchars, p - buf); + val = make_specified_string (buf, nchars, p - buf, multibyte); /* If we allocated BUF with malloc, free it too. */ if (total >= 1000)