Mike Gran <spk...@yahoo.com> wrote: >> Right now it seems that zero-length shared substring of a wide string is >> wide. A zero-length substring still shares the stringbuf of the >> original string. > [...] >> What do you think about that? Do zero-length substrings need to >> still share stringbufs with their parent strings?
I wrote: > I think the answer is: no they don't, and avoiding that might be a > worthwhile optimization, mainly to avoid needlessly holding a reference > to a potentially large stringbuf. I went ahead and committed this optimization. Empty substrings are now always freshly allocated, and never hold a reference to the original stringbuf. I also added another optimization: `scm_i_make_string' now uses a common null_stringbuf when creating empty strings. The string object itself is still freshly allocated. Mark