diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-07-08 23:29:52 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-07-10 01:03:56 -0400 |
commit | c9fb789fe9eaa5dc0694ef14fe36e5aa821a646c (patch) | |
tree | c223f0e590177361a9a8b6bb77a5563f88276922 | |
parent | a2397e0ecda6b07a05d911ee6a614c41c19d052f (diff) | |
download | 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.
-rw-r--r-- | .dir-locals.el | 26 |
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)))) |