[slime-devel] Re: Rape/Steal/Pillage

Alain.Picard at memetrics.com Alain.Picard at memetrics.com
Tue Dec 9 22:42:20 UTC 2003


Luke Gorrie writes:

 > > I'm thinking in particular of all the buffer-movement, narrow-to-X
 > > and reindentation commands, for a start.
 > 
 > Which the buffer-movement commands do you mean?

I think you're right, after doing a bit more investigation.
The first one I hit which really annoyed me was M-q which
did not reindent the top level form properly (in SLIME).
So I looked in ILISP, and M-q was bound to REINDENT-LISP,
which is some gawd-awful complicated function which calls
a gazillion other complicated functions to do its work.

Then I noticed the emacs provided indent-sexp.  :-)

so I guess reindent-defun could be trivially written
as [save excursion [goto start of defun] [indent-sexp]]
and be bound to M-q.

I too would rather import "as little as possible"; the 
smaller the codebase, the better.  Maximize the number
of lines of code not written, is what I always say.


Lastly, I notice slime doesn't rebind lisp-indent-function
to be common-lisp-indent-function; is that on design?  I imagine
SLIME is essentially only used with common lisp, is it not?

And my current initialization file is full of crud like
this:
  (put 'setq 'common-lisp-indent-function '(2 6))
  (put 'setf 'common-lisp-indent-function '(2 6))
  (put 'unwind-protect 'common-lisp-indent-function '(2 &body))
  ;; etc

to get common lisp indentation coming out "standard".  Should
all this stuff be part of SLIME?





More information about the slime-devel mailing list