In a non-delivered LispWorks image, the form
(eq (symbol-name 'foo) (symbol-name 'foo))
evaluates to t
. This behaviour is due to the way symbol names are cached. There is no requirement or guarantee that the results of successive calls to symbol-name
be the same ( eq
) object.
After delivery, LispWorks symbol names are implemented differently such that the eq
test above fails. Take care that your application does not rely on identity of symbol names.
Note: eq
is not a reliable comparison of strings in general. Use equal
for reliable string comparison.