That is precisely backwards. The surprising situation is that you have some data like:
(the (quick brown (quote jumped) over) the lazy symbol)
This data is not code; it's just some symbols. But when you print it, the Lisp system turns (quote jumped)
into 'jumped
which, to it, means exactly the same thing. To you, it might be irksome because that notation is inapplicable in your data.
The ANSI Common Lisp fix for this is to use packages. The reason (quote jumped)
turned into 'jumped
is that we're in a package in which the quote
symbol that is visible is the one imported/used from the common-lisp
package: i.e. the symbol common-lisp:quote
. We could use ourpackage
for the data, in which ourpackage:quote
has nothing to do with common-lisp:quote
; the Lisp printer will leave it alone.