.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.master
parent
a2397e0ecd
commit
c9fb789fe9
|
@ -156,7 +156,31 @@
|
||||||
;; preceding symbol is one of these.
|
;; preceding symbol is one of these.
|
||||||
(eval . (modify-syntax-entry ?~ "'"))
|
(eval . (modify-syntax-entry ?~ "'"))
|
||||||
(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)))
|
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
|
||||||
(texinfo-mode . ((indent-tabs-mode . nil)
|
(texinfo-mode . ((indent-tabs-mode . nil)
|
||||||
(fill-column . 72))))
|
(fill-column . 72))))
|
||||||
|
|
Reference in New Issue