Hi Doug,

> (de foo (x) x)
> ...
> (de baz ("X") "X")

Hmm, this looks very much as if the call

   isIntern(tail(y), Transient)

doesn't work for some reason. It seems that the two "X" symbols are not
the same.

Strange that it works for 'Internal' symbols.

> (setq "V" 456)
> at the top level (not in a definition) that works as expected

Again strange. It shouldn't matter how the symbol is used (globally or
bound locally).

> I wonder why it might not see "X" as a transient? (Er, I'm not even
> sure if "transient" is the the right terminology here.)

Yes, "transient" is correct.

I suspect that the above effects are partially random. The reason must
have to do with the index tree handling in isIntern() and intern().
Perhaps again some alignment or pointer-tag problem?

- Alex
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to