guix/gnu/packages/patches/emacs-fix-scheme-indent-function.patch
Alex Kost 4509ec72a4
gnu: emacs: Fix indentation of scheme keyword lists.
* gnu/packages/patches/emacs-fix-scheme-indent-function.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/emacs.scm (emacs)[source]: Use it.
2016-05-30 13:09:43 +03:00

29 lines
896 B
Diff

Fix 'scheme-indent-function' to indent s-expressions starting with a keyword
properly, like this:
(#:foo 1
#:bar 2)
instead of like this:
(#:foo 1
#:bar 2)
The fix is made by Mark H Weaver <mhw@netris.org>:
<http://www.netris.org/~mhw/scheme-indent-function.el>
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -482,6 +482,12 @@
(> (length function) 3)
(string-match "\\`def" function)))
(lisp-indent-defform state indent-point))
+ ((and (null method)
+ (> (length function) 1)
+ ;; The '#' in '#:' seems to get lost, not sure why
+ (string-match "\\`:" function))
+ (let ((lisp-body-indent 1))
+ (lisp-indent-defform state indent-point)))
((integerp method)
(lisp-indent-specform method state
indent-point normal-indent))