[slime-devel] def* indent
Travis Cross
travis at crosswirecorp.com
Mon Dec 20 23:21:38 UTC 2004
I have a macro I use quite frequently that has a definition:
(defmacro defpage (name title url &body body)
...)
Even when I set lisp-prefix-match-indentation to nil (*see below),
slime/emacs insists on indenting a call to defpage as
(defpage test-page "Test Page" "/url/to"
(div
(div "the rest of the forms")))
If I rename defpage to something else, like 'mkpage', the indenting
works as expected:
(mkpage test-page "Test Page "/url/to"
(div
(div "the rest of the forms")))
I poked around in the slime source code, but I really wasn't able to
make heads or tails of what is causing this unexpected (for me)
behavior. If what I'm noticing is a 'feature,' what's the easiest way
for me to work around this?
Much appreciated,
-- Travis
(SBCL 0.8.15 / Slime CVS / GNU Emacs 21.3.1 / Gentoo)
* though interestingly, when I use other test macros, it is evident that
turning off lisp-prefix-match-indentation does have some effect. The
macro (defmacro deftest (x y z) ...) will be indented:
(deftest x
y
z)
with lisp-prefix-match-indent on, but
(deftest x
y
z)
with the switch off. It seems that with lisp-prefix-match-indentation
set to nil, slime/emacs completely ignores &body clues in the
definition. If I redefine deftest as:
(defmacro deftest (x y &body z) ...)
it will still be indented incorrectly (as far as I can tell).
More information about the slime-devel
mailing list