きょうの「なんでやねん」

common lisp の教本ばっかり読んでると、シンボルは内部的には大文字になってるんだよなと漠然と思ってた。
なので common な処理系ならなんでも (eq 'HOGE 'hoge ) は t になるんじゃないかと。

xyzzy では下のようになった。

;;; xyzzy
(eq 'hoge 'hoge)
;=> t

(eq 'HOGE 'hoge)                ; おお? 違うのか。
;=> nil

(eq 'nil nil)
;=> t

(eq 'NIL nil)                   ; おおお?
;=> nil

NTEmacs-24 でやったら、xyzzy と同じになった。
ということは、xyzzyemacs に合わせたんだな。きっと。

ちなみに clozure CL でやってみたら、上記はすべて T だった。
今頃こんなのを書いてること自体あほなんだが、emacsxyzzy 用に書いたのを他の cl に持っていくときは要注意かもしれず。