diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2022-07-11 10:34:40 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2022-07-11 10:38:49 +0200 |
commit | 69b68099ecfb053ac77e0a954ab7467c440321ff (patch) | |
tree | 57f810ec7d6addf847ca4b1c70ff5d0cf5d02e21 /src/print.c | |
parent | 96846877930f580e122e9af85b4653918c542f89 (diff) | |
download | emacs-69b68099ecfb053ac77e0a954ab7467c440321ff.tar.gz |
Simplify and speed up string-to-multibyte
* src/character.h (str_to_multibyte):
* src/character.c (str_to_multibyte): Change signature and simplify;
the conversion is no longer done in-place.
* src/fns.c (string_to_multibyte): Drop temporary buffer and memcpy;
adapt to new str_to_multibyte signature.
* src/print.c (print_string): Drop memcpy; adapt call to str_to_multibyte.
* test/src/fns-tests.el (fns--string-to-unibyte): Rename to...
(fns--string-to-unibyte-multibyte): ... this and strengthen, so that
the test covers string-to-multibyte reasonably well.
Diffstat (limited to 'src/print.c')
-rw-r--r-- | src/print.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/print.c b/src/print.c index 4d7e42df1e8..9a31e386f5e 100644 --- a/src/print.c +++ b/src/print.c @@ -467,8 +467,7 @@ print_string (Lisp_Object string, Lisp_Object printcharfun) if (chars < bytes) { newstr = make_uninit_multibyte_string (chars, bytes); - memcpy (SDATA (newstr), SDATA (string), chars); - str_to_multibyte (SDATA (newstr), bytes, chars); + str_to_multibyte (SDATA (newstr), SDATA (string), chars, bytes); string = newstr; } } |