From: Scott D. Anderson
Subject: Indenting Lisp code in Emacs 19.22
Date: 
Message-ID: <2pohob$pt4@opine.cs.umass.edu>
I've been editting Lisp code for years on Lisp Machines using Zmacs, which
seems to know how to indent Lisp properly.  If Zmacs doesn't, say for a
macro I define, I can tell it via ZWEI:DEFINE-INDENTATION.

Recently, I switched to using Emacs 19.22 on a Unix machine. I've been
surprised that it doesn't indent Lisp code very well and there doesn't seem
to be any way to customize it.  I've read the info nodes and looked at every
command and variable with "indent" in its name.

The issue is rightward creep.  If I use LET, Emacs knows to indent the body
only a little:

(let ((sym val))
  <body>)

But it doesn't know about multiple-value-bind:

(multiple-value-bind (sym1 sym2) (vals)
		     <body>)

If I nest multiple-value-bind, clos:with-slots, and
clim:with-drawing-options, I can easily be starting my code at the right
margin!

How do other Lisp coders handle this?

Thanks very much,

Scott D. Anderson
········@cs.umass.edu

From: Bill Schottstaedt
Subject: Re: Indenting Lisp code in Emacs 19.22
Date: 
Message-ID: <2pomdo$rur@nntp2.Stanford.EDU>
Earlier versions of emacs were much smarter -- for some reason
this version is really stupid about indentation, and I also
have been unable to get it to go back to its old ways.
The fi:lisp-indent-hook hacks do not work anymore.
From: Simon Leinen
Subject: Re: Indenting Lisp code in Emacs 19.22
Date: 
Message-ID: <SIMON.94Apr29131937@liasg5.epfl.ch>
Bill> Earlier versions of emacs were much smarter -- for some reason
Bill> this version is really stupid about indentation, and I also have
Bill> been unable to get it to go back to its old ways.  The
Bill> fi:lisp-indent-hook hacks do not work anymore.

Ah, that's your problem.  `fi:lisp-indent-hook' has never been a
standard part of GNU Emacs - it belongs to Franz Inc's wonderful
Common Lisp/Emacs interface (which works best for Allegro Common Lisp
users, incidentally )-: Get the latest version of that `fi-emacs'
package and install it under GNU Emacs 19 - works great for me!
Surely the Lisp FAQ knows where you can get it from...
-- 
Simon.