>>139
chは宣言していない。setqは代入された値を返すからlistの終端でnilを返し
再帰が終わる。addr と *addr*はともに別のところで大域変数宣言している。
*の有無は慣習を知らなかったため。
loop マクロ一発で書けるだろうが簡単になるとは思えない。

>>141
アドレスのダンプは1行分の処理をまとめたかったのでこうしている。
あとの二つは恥ずかしながらまったくわからない。letは局所変数宣言と
初期設定だと思っていた。letを使うべきでsetqがなぜダメなのかは知りたい。
最後の2行目はその通りにしている。

>>142
listで受けてdoを使ったのも書いてみた。制御変数(と言わないかもしれ
ないが)が必須なので若干違っている。