[slime-devel] Re: First Impressions
Luke Gorrie
luke at bluetail.com
Fri Jul 16 21:48:20 UTC 2004
iain.little at gmail.com writes:
> I like to put testing sexprs in the files that I am working on (I put
> them in all in a #| |# commented region so that I can evaluate them
> when I want, but they don't evaluate when I compile/load the file).
[...]
> The problem is, slime puts the output in the minibuffer.
The interactive-eval family of of commands (C-x C-e, C-c M-:, etc)
will now output to the REPL if you give them a prefix argument, so
e.g. C-u C-x C-e.
Without a prefix they now print their results via `slime-message'
rather than `message', meaning they can use a temporary buffer or a
typeout frame for multi-line results.
> I also noticed a couple of indentation issues: (ok, I admit it; I went
> out of my way to see how slime would indent different things ;-) )
[...]
> Which - as advertised - actually does the right thing (ilisp most
> certainly doesn't). But,
>
> CL> (with-accessors ((a b)) c
> ...)
Usually we exclude with-* and def* from indentation-learning because
Emacs already does their indentation specially. Still, Emacs doesn't
always get it right, so now you can customize
`slime-conservative-indentation' to turn that off.
> CL> (defgeneric test2 (a)
> (:method-combination progn))
> #<Standard-Generic-Function TEST2 (0) {48B3C389}>
> CL> (defmethod test2 progn ((object a))
> ...)
I'll leave this one to someone who understands CLOS :-)
> The only other thing is that the &body indentation doesn't work in the
> lisp buffers created by opening a file. But I suspect that is because
> I still have ilisp installed, and it is clobbering whatever slime
> does.
I'd avoid loading ILISP because it binds a bunch of keys directly in
lisp-mode, so once loaded it's "there". I'm not sure if this has any
side-effects beyond just introducing non-SLIME keys in lisp buffers.
This indentation problem is most likely because lisp-mode isn't
configured to use common-lisp indentation style. There's now an easy
way to do this from ~/.emacs: (slime-setup). That configures
lisp-mode-hook to enable slime-mode and to use common-lisp
indentation. You can instead use (slime-setup :autodoc t) to also
enable the autodoc mode.
> Anyway, I hope this helps.
Yeah. It's very helpful to mention the "little things" since if it's
bothering you then it's probably bothering a bunch of other people
too.
-Luke
More information about the slime-devel
mailing list