1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Improve docstrings auto-generated by `define-minor-mode'

* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
When using `easy-mmode--arg-docstring' to auto-generate a
docstring, refill it up to `emacs-lisp-docstring-fill-column'.
This commit is contained in:
Juanma Barranquero 2019-10-05 00:31:17 +02:00
parent 2ff16a4837
commit bbfa9995ff

View file

@ -95,10 +95,18 @@ if ARG is `toggle'; disable the mode otherwise.")
\\{%s}" mode-pretty-name keymap-sym))))
(if (string-match-p "\\bARG\\b" doc)
doc
(let ((argdoc (format easy-mmode--arg-docstring
mode-pretty-name)))
(let* ((fill-prefix nil)
(docs-fc (bound-and-true-p emacs-lisp-docstring-fill-column))
(fill-column (if (integerp docs-fc) docs-fc 65))
(argdoc (format easy-mmode--arg-docstring mode-pretty-name))
(filled (if (fboundp 'fill-region)
(with-temp-buffer
(insert argdoc)
(fill-region (point-min) (point-max) 'left t)
(buffer-string))
argdoc)))
(replace-regexp-in-string "\\(\n\n\\|\\'\\)\\(.\\|\n\\)*\\'"
(concat argdoc "\\1")
(concat filled "\\1")
doc nil nil 1)))))
;;;###autoload