mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-04 08:47:11 +00:00
Avoid false positives in bytecomp docstring width warning
* lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): Ignore more function argument lists. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests-byte-compile--wide-docstring-p): New test.
This commit is contained in:
parent
44da8dd3e4
commit
f3a6fe2c7d
@ -1649,14 +1649,22 @@ URLs."
|
|||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
(rx (or
|
(rx (or
|
||||||
;; Ignore some URLs.
|
;; Ignore some URLs.
|
||||||
(seq "http" (? "s") "://" (* anychar))
|
(seq "http" (? "s") "://" (* nonl))
|
||||||
;; Ignore these `substitute-command-keys' substitutions.
|
;; Ignore these `substitute-command-keys' substitutions.
|
||||||
(seq "\\" (or "="
|
(seq "\\" (or "="
|
||||||
(seq "<" (* (not ">")) ">")
|
(seq "<" (* (not ">")) ">")
|
||||||
(seq "{" (* (not "}")) "}")))
|
(seq "{" (* (not "}")) "}")))
|
||||||
;; Ignore the function signature that's stashed at the end of
|
;; Ignore the function signature that's stashed at the end of
|
||||||
;; the doc string (in some circumstances).
|
;; the doc string (in some circumstances).
|
||||||
(seq bol "(fn (" (* nonl))))
|
(seq bol "(" (+ (any word "-/:[]&"))
|
||||||
|
;; One or more arguments.
|
||||||
|
(+ " " (or
|
||||||
|
;; Arguments.
|
||||||
|
(+ (or (syntax symbol)
|
||||||
|
(any word "-/:[]&=().?^\\#'")))
|
||||||
|
;; Argument that is a list.
|
||||||
|
(seq "(" (* (not ")")) ")")))
|
||||||
|
")")))
|
||||||
""
|
""
|
||||||
;; Heuristic: assume these substitutions are of some length N.
|
;; Heuristic: assume these substitutions are of some length N.
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
|
@ -1470,6 +1470,30 @@ compiled correctly."
|
|||||||
(load-file (concat file "c"))
|
(load-file (concat file "c"))
|
||||||
(should (equal (bc-test-alpha-f 'a) '(nil a)))))
|
(should (equal (bc-test-alpha-f 'a) '(nil a)))))
|
||||||
|
|
||||||
|
(ert-deftest bytecomp-tests-byte-compile--wide-docstring-p/func-arg-list ()
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
\(dbus-register-property BUS SERVICE PATH INTERFACE PROPERTY ACCESS \
|
||||||
|
[TYPE] VALUE &optional EMITS-SIGNAL DONT-REGISTER-SERVICE)" fill-column))
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
(fn CMD FLAGS FIS &key (BUF (cvs-temp-buffer)) DONT-CHANGE-DISC CVSARGS \
|
||||||
|
POSTPROC)" fill-column))
|
||||||
|
;; Bug#49007
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
(fn (THIS rudel-protocol-backend) TRANSPORT \
|
||||||
|
INFO INFO-CALLBACK &optional PROGRESS-CALLBACK)" fill-column))
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
\(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] \
|
||||||
|
[:tags \\='(TAG...)] BODY...)" fill-column))
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
(make-soap-xs-element &key NAME NAMESPACE-TAG ID TYPE^ OPTIONAL\? MULTIPLE\? \
|
||||||
|
REFERENCE SUBSTITUTION-GROUP ALTERNATIVES IS-GROUP)" fill-column))
|
||||||
|
(should-not (byte-compile--wide-docstring-p "\
|
||||||
|
(fn NAME FIXTURE INPUT &key SKIP-PAIR-STRING EXPECTED-STRING \
|
||||||
|
EXPECTED-POINT BINDINGS (MODES \\='\\='(ruby-mode js-mode python-mode)) \
|
||||||
|
(TEST-IN-COMMENTS t) (TEST-IN-STRINGS t) (TEST-IN-CODE t) \
|
||||||
|
(FIXTURE-FN \\='#\\='electric-pair-mode))" fill-column)))
|
||||||
|
|
||||||
|
|
||||||
;; Local Variables:
|
;; Local Variables:
|
||||||
;; no-byte-compile: t
|
;; no-byte-compile: t
|
||||||
;; End:
|
;; End:
|
||||||
|
Loading…
Reference in New Issue
Block a user