summaryrefslogtreecommitdiff
path: root/modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch
diff options
context:
space:
mode:
authorbdunahu <bdunahu@operationnull.com>2026-03-19 00:11:31 -0400
committerbdunahu <bdunahu@operationnull.com>2026-03-19 00:11:31 -0400
commit820f08e9bf8119999b9f940c69dea8e8f1bf71b2 (patch)
treeb03d08a10e19d05407e7a2e5122b0dffd8de24e3 /modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch
parentb6a2a57db6b24fb35d9555eada25285a15486362 (diff)
tanelorn: Add emacs-next-alpha-fix
* modules/tanelorn/packages/emacs.scm (emacs-next-alpha-fix): New variable. * README: Add emacs-next-alpha-fix.
Diffstat (limited to 'modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch')
-rw-r--r--modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch b/modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch
new file mode 100644
index 0000000..4b7904e
--- /dev/null
+++ b/modules/tanelorn/packages/patches/emacs-fix-scheme-indent-function.patch
@@ -0,0 +1,29 @@
+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
+@@ -494,6 +494,12 @@ indentation."
+ (> (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))