You seem to be a little confused about the datatypes you're handling here. Those are lists of symbols, with no strings involved (strings are delimited by double-quotes), and you really should read the note in the hyperspec (http://www.lispworks.com/documentation/ ... .htm#quote
) about the consequences of destructively modifying quoted lists. The #'list function would be a much better idea in the list that you want modified, unless you know for sure that #'my-replace is creating a new list - to know this, you'll need to look up the definition of #'substitute in the Hyperspec and check whether it's consing or non-consing.
Common Lisp has a heck of a learning curve; unfortunately, there's not much of a short way to climb it. We've all looked for it, trust me