Andy Piper <andy(a)xemacs.org> writes:
It seems if you let bind a constant string, e.g:
(let ((mystr "\n")) ...)
and then attach an extent to it, if you run this code the extents
will *accumulate* rather than replace each other. Semantically when
I let bind a constant string I would expect it to be extent free...
When you write "\n", you don't necessarily get a fresh string. Your
code is equivalent to this C code:
while (1)
{
char *p = "buhaha";
... change contents of p ...
}
You may get a coredump doing so, but then again you may not.