Signal error on newline in internal--format-docstring-line

* lisp/subr.el (internal--format-docstring-line): Signal error
when trying to fill a line containing a newline.

* lisp/cedet/semantic/decorate/mode.el
(define-semantic-decoration-style):
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Don't pass newlines to 'internal--format-docstring-line'.
This commit is contained in:
Stefan Kangas 2021-09-28 13:30:02 +02:00
parent 73b2b9f67a
commit b27a8f1554
3 changed files with 14 additions and 7 deletions

View file

@ -409,9 +409,11 @@ decoration API found in this library."
;; Create an override method to specify if a given tag belongs
;; to this type of decoration
(define-overloadable-function ,predicate (tag)
,(internal--format-docstring-line
"Return non-nil to decorate TAG with `%s' style.\n%s"
name doc))
,(concat
(internal--format-docstring-line
"Return non-nil to decorate TAG with `%s' style."
name)
"\n" doc))
;; Create an override method that will perform the highlight
;; operation if the -p method returns non-nil.
(define-overloadable-function ,highlighter (tag)

View file

@ -496,15 +496,17 @@ on if the hook has explicitly disabled it.
(define-minor-mode ,global-mode
,(concat (format "Toggle %s in all buffers.\n" pretty-name)
(internal--format-docstring-line
"With prefix ARG, enable %s if ARG is positive; otherwise, \
disable it.\n\n"
(concat "With prefix ARG, enable %s if ARG is positive; "
"otherwise, disable it.")
pretty-global-name)
"\n\n"
"If called from Lisp, toggle the mode if ARG is `toggle'.
Enable the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.\n\n"
(internal--format-docstring-line
"%s is enabled in all buffers where `%s' would do it.\n\n"
"%s is enabled in all buffers where `%s' would do it."
pretty-name turn-on)
"\n\n"
(internal--format-docstring-line
"See `%s' for more information on %s."
mode pretty-name)

View file

@ -6435,8 +6435,11 @@ of fill.el (for example `fill-region')."
(concat fst (internal--fill-string-single-line lst)))))
(defun internal--format-docstring-line (string &rest objects)
"Format a documentation string out of STRING and 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."
(when (string-match "\n" string)
(error "Unable to fill string containing newline: %S" string))
(internal--fill-string-single-line (apply #'format string objects)))
(defun json-available-p ()