iain.little@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