>>611-612
あ、そうですか。
今手元に本がないんで後でちゃんと調べるつもりだったんですが、適当なこと
を書いたかもしれません。すみません。
#define fixnump(p) (3&(long)(p)==3)
がダメなはずはないでしょうか?自分のプログラムが間違っていただけかもし
れません。

それと何度も質問ばっかりで申し訳ないんですが、、
#define atomp(p) (1&(p))
#define cellp(p) !atomp(p) // pairp
ポインタのアドレスの一番下のビットがたまたま1になっていてこの判定が逆
になってしまう可能性があるように思うのですが、そういうことはないんでしょ
うか?