nicferrier / emacs-noflet

noflet - nic's overriding flet, for fleting functions for the purpose of decorating them
72 stars 17 forks source link

Indent breaks pp and emacs-lisp-mode indentation. #6

Closed ruediger closed 10 years ago

ruediger commented 10 years ago

Emacs lisp only supports simple indent statements: (info "(elisp) Indenting Macros"). Setting indent to ((&whole 4 &rest (&whole 1 &lambda &body)) &body) not only breaks indentation in lisp mode but also breaks the pretty printer.

E.g.,

λ> (pp-to-string '(noflet a b c))
*** Eval error ***  Invalid function: ((&whole 4 &rest (&whole 1 &lambda &body)) &body) 

Setting it back to (indent 1) fixes the issue.

gempesaw commented 10 years ago

I was having the same issue; googling and happening to find the right helpfiles led me to the following that makes the indentation declaration valid:

(require 'cl-indent)
(setq lisp-indent-function 'common-lisp-indent-function)
nicferrier commented 10 years ago

somewhat fixed in 08a0932998408746eb14eb5a65149247510173c2