mumurik/xyzzy — pull request #21 by youz (2012-03-07 03:51:56+00:00)
Title: Improve lisp-mode indentation (revised)

lispmode.lのcalc-lisp-indent関数を修正し、lisp-indent-hookプロパティが未設定な
マクロのフォーム中でも、マクロの引数に&bodyがあればnilの代わりに&bodyの位置を
返すようにしました。
これによりlisp-indent-lineやlisp-newline-and-indent等のコマンドの動作が改善されます。

例.

```lisp
(defmacro my-cool-macro (foo &body body)
`(progn ,(bar foo) ,@body))
```

というマクロがあった時、修正前は

```lisp
(my-cool-macro (a b) ; (a b) の後ろで改行(lisp-newline-and-indent)すると
I ; ここにカーソルが来る
```

第2引数以降は第1引数の位置に揃えられていましたが、この修正で

```lisp
(my-cool-macro (a b)
I ; lisp-indent-hookの設定しなくてもここにカーソルが来る
```

という動作になります。