[slime-devel] cl-indent lossage
Lynn Quam
quam at ai.sri.com
Fri Oct 29 18:49:41 UTC 2004
Helmut Eller replied:
> This wasn't our change; it's a change in CVS Emacs. According to
> ChangeLogs, the LOOP indentation code in CVS Emacs was changed in
> March 2002 by Gerd Moellmann. It seems that the intention was that
> loops should be indented as:
Thanks for the info. Yes, indeed the file date for cl-indent.el
/usr/share/emacs/21.2/lisp/emacs-lisp is Aug 15 2001. That
explains why I haven't seen the change. I find it curious that
Emacs 21.2 in the RedHat 9 distribution that I am running does not
contain the March 2002 Gerd Moellman version of cl-indent.el.
> > I much prefer the EMACS indentation.
>
> I prefer this style too. I have
>
> (setq lisp-simple-loop-indentation 1)
> (setq lisp-loop-keyword-indentation 6)
> (setq lisp-loop-forms-indentation 6)
>
> in my .emacs. With this settings most code gets indented as
> before.
I added the above to my emacs/slime initialization but there
are still some problems. For example:
;;; new cl-indent
(loop with (lines package-decl property-list)
for line-num from 1
for line = (read-line in-stream nil nil)
while line
when (search "(in-package" line :test #'char-equal)
do (setq package-decl (read-from-string line)
package-decl-line line-num
*package* (eval package-decl))
else when (search "(FILE-PROPERTY-LIST" line :test #'char-equal)
do (file-position in-stream file-pos)
(setq property-list (read in-stream))
else collect line into lines
when (and (>= (length line) 2) (string-equal line "|#" :end1 2))
do (setq comment-lines lines)
finally (return (values lines package-decl property-list)))
;;; old cl-indent
(loop with (lines package-decl property-list)
for line-num from 1
for line = (read-line in-stream nil nil)
while line
when (search "(in-package" line :test #'char-equal)
do (setq package-decl (read-from-string line)
package-decl-line line-num
*package* (eval package-decl))
else when (search "(FILE-PROPERTY-LIST" line :test #'char-equal)
do (file-position in-stream file-pos)
(setq property-list (read in-stream))
else collect line into lines
when (and (>= (length line) 2) (string-equal line "|#" :end1 2))
do (setq comment-lines lines)
finally (return (values lines package-decl property-list)))
More information about the slime-devel
mailing list