aboutsummaryrefslogtreecommitdiff
path: root/.dir-locals.el
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-07-08 23:29:52 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-07-10 01:03:56 -0400
commitc9fb789fe9eaa5dc0694ef14fe36e5aa821a646c (patch)
treec223f0e590177361a9a8b6bb77a5563f88276922 /.dir-locals.el
parenta2397e0ecda6b07a05d911ee6a614c41c19d052f (diff)
downloadguix-c9fb789fe9eaa5dc0694ef14fe36e5aa821a646c.tar
guix-c9fb789fe9eaa5dc0694ef14fe36e5aa821a646c.tar.gz
.dir-locals.el: Restore Emacs 27 lisp-fill-paragraph behavior.
* .dir-locals.el (scheme-mode): Set fill-paragraph-function to a lisp-fill-paragraph version that matches that of Emacs 27.
Diffstat (limited to '.dir-locals.el')
-rw-r--r--.dir-locals.el26
1 files changed, 25 insertions, 1 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 9edabba5f8..565f7c48e7 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -156,7 +156,31 @@
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
(eval . (modify-syntax-entry ?$ "'"))
- (eval . (modify-syntax-entry ?+ "'"))))
+ (eval . (modify-syntax-entry ?+ "'"))
+
+ ;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the
+ ;; first line of package descriptions to extrude past 'fill-column', and
+ ;; somehow that is deemed more correct upstream (see:
+ ;; https://issues.guix.gnu.org/56197).
+ (eval . (progn
+ (require 'lisp-mode)
+ (defun emacs27-lisp-fill-paragraph (&optional justify)
+ (interactive "P")
+ (or (fill-comment-paragraph justify)
+ (let ((paragraph-start
+ (concat paragraph-start
+ "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
+ (paragraph-separate
+ (concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
+ (fill-column (if (and (integerp emacs-lisp-docstring-fill-column)
+ (derived-mode-p 'emacs-lisp-mode))
+ emacs-lisp-docstring-fill-column
+ fill-column)))
+ (fill-paragraph justify))
+ ;; Never return nil.
+ t))
+ (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)))))
+
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72))))