Mercurial > emacs
diff src/alloc.c @ 90918:e9f94688a064
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 781-792)
- Update from CVS
- Merge from gnus--rel--5.10
- Merge from emacs--rel--22
* emacs--rel--22 (patch 33-41)
* gnus--rel--5.10 (patch 226-228)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-219
| author | Miles Bader <miles@gnu.org> |
|---|---|
| date | Mon, 11 Jun 2007 00:58:11 +0000 |
| parents | e6fdae9180d4 1842d7137ff2 |
| children | 3371fc48749b |
line wrap: on
line diff
--- a/src/alloc.c Fri Jun 08 12:41:25 2007 +0000 +++ b/src/alloc.c Mon Jun 11 00:58:11 2007 +0000 @@ -1756,6 +1756,8 @@ string_blocks = NULL; n_string_blocks = 0; string_free_list = NULL; + empty_unibyte_string = make_pure_string ("", 0, 0, 0); + empty_multibyte_string = make_pure_string ("", 0, 0, 1); } @@ -2479,6 +2481,9 @@ int length; { Lisp_Object val; + + if (!length) + return empty_unibyte_string; val = make_uninit_multibyte_string (length, length); STRING_SET_UNIBYTE (val); return val; @@ -2497,6 +2502,8 @@ if (nchars < 0) abort (); + if (!nbytes) + return empty_multibyte_string; s = allocate_string (); allocate_string_data (s, nchars, nbytes);
