[slime-devel] SLIME altering lisp-mode indentation

Hello all, For some reason, SLIME overrides the default lisp-mode indentation and I'm unsure of how to fix this (I'm still learning Emacs). The indentation I'm speaking of is in regards to IF statements. If I don't ever load SLIME, my IF statements indent like so: IF ----THEN --ELSE Which is very much how I like them to indent. After SLIME is loaded, they are: IF ----THEN ----ELSE Does anyone know how I can fix this? Thanks! Jeff M.

* Jeff Massung [2011-02-02 15:52] writes:
Hello all,
For some reason, SLIME overrides the default lisp-mode indentation and I'm unsure of how to fix this (I'm still learning Emacs). The indentation I'm speaking of is in regards to IF statements. If I don't ever load SLIME, my IF statements indent like so:
IF ----THEN --ELSE
Which is very much how I like them to indent. After SLIME is loaded, they are:
IF ----THEN ----ELSE
You probably see a difference between emacs-lisp-mode and lisp-mode. In Emacs Lisp, if can have 2, 3 or more arguments and the else branch has an implicit progn. Common Lisp allows only 2 or 3 arguments. That's why the two modes indent if differently.
Does anyone know how I can fix this? Thanks!
Actually, SLIME changes lisp-indent-function in to common-lisp-indent-function. common-lisp-indent-function does a better job at indenting flet/labels than the default. If you want to have ELisp-style indentation you can either do something like (put 'if 'common-lisp-indent-function 2) or restore the default with (defun my-lisp-mode-hook () (setq lisp-indent-function 'lisp-indent-function)) (add-hook 'lisp-mode-hook 'my-lisp-mode-hook) in your .emacs. Helmut
participants (2)
-
Helmut Eller
-
Jeff Massung