スコープ

前にも書いているけど、スペシャル変数は「ダイナミックスコープ」だから「あらゆる環境を超えて一意の値」となっているだけの話。
グローバル環境に登録されたレキシカルスコープの変数ときちんと区別していないから、混乱するってだけの話ではないのかな。

Source of Nothingness - 2007-04-26

と指摘を頂いて、まったくその通りなのです。
つーわけでググってみたりいぢってみたりして、自分なりにまとめでも書いておこうかと思ったら Shiro さんがきれーにまとめてくれてた。

と思ってたけど、要するに、
スペシャル=ダイナミック=動的バインディング
ローカル=レキシカル=静的バインディング が対になってて、
バッファローカルとバッファグローバルが対になってる感じ?きっと。

http://white.s151.xrea.com/wiki/index.php?diary%2F2006-10-11%2F%A5%B9%A5%B3%A1%BC%A5%D7%A4%CB%A4%C4%A4%A4%A4%C6

バッファ(ローカル|グローバル)はまだよくわかんないけど、スペシャル変数をバッファローカルにする方法が無さそう。一旦スペシャルにしちゃったら make-local-variable しても make-variable-buffer-local してもその後 setq とかしても local-variable-p が t にならない。スペシャル変数=バッファグローバルってことで良さそう。