;; and pred-check, so changing it is not straightforward.
(push `(,defsym ,accessor (cl-x)
,(concat
+ ;; NB. This will produce incorrect results
+ ;; in some cases, as our coding conventions
+ ;; says that the first line must be a full
+ ;; sentence. However, if we don't word wrap
+ ;; we will have byte-compiler warnings about
+ ;; overly long docstrings. So we can't have
+ ;; a perfect result here, and choose to avoid
+ ;; the byte-compiler warnings.
(internal--format-docstring-line
"Access slot \"%s\" of `%s' struct CL-X." slot name)
(if doc (concat "\n" doc) ""))
(defun internal--format-docstring-line (string &rest objects)
"Format a single line from a documentation string out of STRING and OBJECTS.
Signal an error if STRING contains a newline.
-This is intended for internal use only."
+This is intended for internal use only. Avoid using this for the
+first line of a docstring; the first line should be a complete
+sentence (see Info node `(elisp) Documentation Tips')."
(when (string-match "\n" string)
(error "Unable to fill string containing newline: %S" string))
(internal--fill-string-single-line (apply #'format string objects)))
(ert-deftest subr-test-internal--format-docstring-line ()
(should
- (string= (let ((fill-column 60))
+ (string= (let ((fill-column 70))
(internal--format-docstring-line
- "Emacs is the advanced, extensible, customizable, \
-self-documenting editor. This manual describes how to edit with Emacs and \
-some of the ways to customize it; it corresponds to GNU Emacs version 28.1."))
- "Emacs is the advanced, extensible, customizable,
-self-documenting editor. This manual describes how to edit
-with Emacs and some of the ways to customize it; it
-corresponds to GNU Emacs version 28.1.")))
+ "In addition to any hooks its parent mode might have run, this \
+mode runs the hook ‘foo-bar-baz-very-long-name-indeed-mode-hook’, as the final \
+or penultimate step during initialization."))
+ "In addition to any hooks its parent mode might have run, this mode
+runs the hook ‘foo-bar-baz-very-long-name-indeed-mode-hook’, as the
+final or penultimate step during initialization.")))
(ert-deftest test-ensure-list ()
(should (equal (ensure-list nil) nil))