From: Juanma Barranquero Date: Thu, 3 Oct 2019 23:26:07 +0000 (+0200) Subject: Improve docstrings auto-generated by `define-minor-mode' X-Git-Tag: emacs-27.0.90~1301 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a397fa06d18d6ae37a3a1288f269e1ae9eb3b569;p=emacs.git 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'. --- diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index 5e7b29eddf8..6d5b5141aaf 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el @@ -95,11 +95,17 @@ 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))) - (replace-regexp-in-string "\\(\n\n\\|\\'\\)\\(.\\|\n\\)*\\'" - (concat argdoc "\\1") - doc nil nil 1))))) + (let* ((fill-prefix nil) + (docstring-fc (bound-and-true-p emacs-lisp-docstring-fill-column)) + (fill-column (if (integerp docstring-fc) docstring-fc 65)) + (argdoc (format easy-mmode--arg-docstring + mode-pretty-name))) + (with-temp-buffer + (insert (replace-regexp-in-string "\\(\n\n\\|\\'\\)\\(.\\|\n\\)*\\'" + (concat argdoc "\\1") + doc nil nil 1)) + (fill-region (point-min) (point-max) 'left t) + (buffer-string)))))) ;;;###autoload (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)