COPY-SYMBOL-PRINT-NAMECOPY-SYMBOL states that it "returns a new uninterned symbol with the same print name as sym (its first argument)". The words "the same as" are not defined in CLtL. Do they mean EQ, EQUAL, ...?COPY-SYMBOL should read as follows: "COPY-SYMBOL returns an uninterned symbol whose print name is STRING= to the print name of the symbol that is the first argument to COPY-SYMBOL."
Suggested implementation note: The string should not be copied unnecessarily. In this case, the uninterned symbol's print name would be EQ to the print name of the argument symbol.
SYMBOL-NAME has to CONS. It wasn't so much a problem for Interlisp since most of the "string" functions in Interlisp will take symbols, but in Common Lisp, it is a performance hit. Poor design, but there's no reason to require SYMBOL-NAME to return EQ strings. In this case, the strings aren't EQ even though the string characters are shared. (Think of it as strings displaced to a shared area.)