>>338
プログラムの動作としては symbol-name の利用でいけました。ありがとうございます。

が、>>337 のような書き方をした場合に、
(1) case sensitive なパッケージで defmacro した場合:
(1-a) case sensitive 環境でマクロ展開
symname := "self", self-symbol := self
(1-b) case insensitive 環境でマクロ展開
symname := "SELF", self-symbol := |self| (i.e. (intern "self"))

(2) case insensitive なパッケージで defmacro した場合:
(2-a) case sensitive 環境でマクロ展開
symname := "self", self-symbol := SELF (i.e. (intern "SELF"))
(2-b) case insensitive 環境でマクロ展開
symname := "SELF", self-symbol := SELF

となってしまうロジックがわかりません。
また、>>338 のように if でなく symbol-name で "self" と "SELF" を使い分けるのは
アリな理由もわかりません。
clisp の実装上の都合なのか、CLの規格によるものなのか, etc.
何か追加情報ありましたらよろしくお願いします。