In a non-delivered LispWorks image, the form:
(eq (symbol-name 'foo) (symbol-name 'foo))
evaluates to t
. This behavior 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.
Delivery User Guide - 01 Dec 2021 19:35:04