From: Marty Hall
Subject: Minor lemacs Common Lisp indentation hack
Date: 
Message-ID: <9405311749.AA18868@aplcenmp.apl.jhu.edu>
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))