Mike Gran <[email protected]> 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