Mike Gran <spk...@yahoo.com> writes:
> 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 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.

> In any case, a string-copy of a narrow substring of an otherwise wide string
> should be a new narrow string.  This should apply to zero-length
> substrings as well.  This isn't happening, because we're missing
> a scm_i_try_narrow_string in string-copy, which is a bug.

I just fixed this.

> Looks like for zero-length input strings, u32_conv_from_encoding can
> return NULL.

Interesting!  Anyway, we now avoid calling `u32_conv_from_encoding' for
empty strings.

    Thanks,
      Mark

Reply via email to