[slime-devel] cl-indent lossage

Lynn Quam quam at ai.sri.com
Fri Oct 29 23:56:12 UTC 2004


Helmut Eller replied:
>  
>  Hmm.. are you sure the indentation here wasn't manually tuned or
>  written with some other indentation package?
>  
>  With Emacs 21.3 (non-CVS version) I get the same "bad" indentation as
>  with the CVS version and my custom settings.

Again, you are correct:

I am loading a file called loop-indent.el that does:

(put 'loop 'common-lisp-indent-function  'cl-indent-indent-loop-macro )

The problem is that slime/cl-indent.el has the following change to
COMMON-LISP-INDENT-FUNCTION that prevents the
common-lisp-indent-function of loop from even being considered.

(defun common-lisp-indent-function (indent-point state)
  (if (save-excursion (goto-char (elt state 1))
		      (looking-at "([Ll][Oo][Oo][Pp]"))
      (common-lisp-loop-part-indentation indent-point state)
    (common-lisp-indent-function-1 indent-point state)))

Thus, common-lisp-loop-part-indentation gets called
instead of (get 'loop 'common-lisp-indent-function)

I managed a workaround, but it might be better to fold
loop-indent.el into SLIME.





More information about the slime-devel mailing list