From 118e2e4aea66d0c54f0966d5e658086654e9807a Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Wed, 13 Sep 2023 02:50:28 -0700 Subject: [PATCH 2/4] [5.6] Simplify erc--fill-module-docstring * lisp/erc/erc-common.el (erc--fill-module-docstring): Don't run hooks for major mode when filling. Prefer `lisp-data-mode' to `emacs-lisp-mode'. --- lisp/erc/erc-common.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lisp/erc/erc-common.el b/lisp/erc/erc-common.el index 85971797c2f..67c2cf8535b 100644 --- a/lisp/erc/erc-common.el +++ b/lisp/erc/erc-common.el @@ -270,18 +270,20 @@ erc--prepare-custom-module-type " above.")))))) (defun erc--fill-module-docstring (&rest strings) + "Concatenate STRINGS and fill as a doc string." + ;; Perhaps it's better to mimic `internal--format-docstring-line' + ;; and use basic filling instead of applying a major mode? (with-temp-buffer - (emacs-lisp-mode) - (insert "(defun foo ()\n" - (format "%S" (apply #'concat strings)) - "\n(ignore))") + (delay-mode-hooks + (if (fboundp 'lisp-data-mode) (lisp-data-mode) (emacs-lisp-mode))) + (insert (format "%S" (apply #'concat strings))) (goto-char (point-min)) - (forward-line 2) - (let ((emacs-lisp-docstring-fill-column 65) + (forward-line) + (let ((fill-column 65) (sentence-end-double-space t)) (fill-paragraph)) (goto-char (point-min)) - (nth 3 (read (current-buffer))))) + (read (current-buffer)))) (defmacro erc--find-feature (name alias) `(pcase (erc--find-group ',name ,(and alias (list 'quote alias))) -- 2.41.0