Hook Flymake onto proper checkdoc and byte-compile interfaces
The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate, with little knowledge of actual internals or thought given to the usefulness of said interfaces in contexts other than Flymake's. * lisp/emacs-lisp/bytecomp.el (byte-compile-log-warning-function): New variable. (byte-compile-log-warning): Use it. (byte-compile--log-warning-for-byte-compile): New function. * lisp/emacs-lisp/checkdoc.el (checkdoc-create-error-function): New variable. (checkdoc-create-error): Use it. (checkdoc--create-error-for-checkdoc): New function.xo * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1): Use checkdoc-create-error-function. (flymake-elisp--batch-byte-compile): Use byte-compile-log-warning-function.
This commit is contained in:
parent
2e84179a29
commit
30ea272fe4
3 changed files with 57 additions and 22 deletions
|
@ -1147,14 +1147,27 @@ Prefix argument is the same as for `checkdoc-defun'"
|
|||
;; features and behaviors, so we need some ways of specifying
|
||||
;; them, and making them easier to use in the wacked-out interfaces
|
||||
;; people are requesting
|
||||
(defun checkdoc-create-error (text start end &optional unfixable)
|
||||
"Used to create the return error text returned from all engines.
|
||||
(defvar checkdoc-create-error-function #'checkdoc--create-error-for-checkdoc
|
||||
"Function called when Checkdoc encounters an error.
|
||||
Should accept as arguments (TEXT START END &optional UNFIXABLE).
|
||||
|
||||
TEXT is the descriptive text of the error. START and END define the region
|
||||
it is sensible to highlight when describing the problem.
|
||||
Optional argument UNFIXABLE means that the error has no auto-fix available.
|
||||
|
||||
A list of the form (TEXT START END UNFIXABLE) is returned if we are not
|
||||
generating a buffered list of errors."
|
||||
generating a buffered list of errors.")
|
||||
|
||||
(defun checkdoc-create-error (text start end &optional unfixable)
|
||||
"Used to create the return error text returned from all engines.
|
||||
TEXT, START, END and UNFIXABLE conform to
|
||||
`checkdoc-create-error-function', which see."
|
||||
(funcall checkdoc-create-error-function text start end unfixable))
|
||||
|
||||
(defun checkdoc--create-error-for-checkdoc (text start end &optional unfixable)
|
||||
"Create an error for Checkdoc.
|
||||
TEXT, START, END and UNFIXABLE conform to
|
||||
`checkdoc-create-error-function', which see."
|
||||
(if checkdoc-generate-compile-warnings-flag
|
||||
(progn (checkdoc-error start text)
|
||||
nil)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue