I wrote:
> 3. Make scm_nullstr into a mutable string.  After all, it can't be
>    changed anyway, and the _only_ reference to it is from
>    scm_from_stringn, so the result should always be mutable.

For the record: my statement above was in error; scm_nullstr is actually
used in several files.  However, I looked at each use, and in all cases
a mutable string is appropriate.  Also, it is SCM_INTERNAL.  So I
committed the change.

However, I wonder if we should also remove this optimization from
scm_from_stringn, as Bruce suggested.  The R5RS says that `string' and
`make-string' should return "a newly allocated string", which implies
that the new string should not be `eq?' to any existing object.

Although our docs for scm_from_stringn et al do not explicitly specify
that the string is newly allocated, an argument could be made that we
should follow the behavior of `string'.

What do other people think?

      Mark

Reply via email to