For users of Lucid Emacs, here's a minor hack to common-lisp-indent-function
from <lemacshome>/lisp/modes/cl-indent.el, so that you can customize the
default amount of indentation. Ie I wanted
(foo (foo
bar instead of bar
baz) baz)
With the patch, you get the former by doing (setq lisp-indent-offset 2),
the latter by doing (setq lisp-indent-offset 1).
Note that the common-lisp-indent-function is only used if you do something
like (setq lisp-indent-function 'common-lisp-indent-function) in your
.emacs. Also, I assume something similar would work in GNU emacs 18.xx,
except that you need to use lisp-indent-hook and common-lisp-indent-hook,
define lisp-last to do (nth (1- (length <List>)) <List>), etc.
Anyhow, near the bottom of common-lisp-indent-function, there is a cond
with some clauses that look like this:
((null method))
((integerp method)
;; convenient top-level hack.
...
Add an action to the (null method) case, to get this:
((null method)
(if (and (eq (lisp-last path) 1)
(boundp 'lisp-indent-offset)
(integerp lisp-indent-offset))
(setq calculated (+ sexp-column lisp-indent-offset))) )
((integerp method)
;; convenient top-level hack
...
Tested in lemacs 19.9.
Please let me know if I overlooked a much more obvious way.
- Marty
(proclaim '(inline skates))