@cindex Syntax check statuses
After syntax check is finished, its status is displayed in the mode line.
-The following statuses are defined.
+The following statuses are defined:
@multitable @columnfractions 0.25 0.75
@item @code{Wait}
@code{init-function} is required to initialize the syntax check,
usually by creating a temporary copy of the buffer contents. The
function must return @code{(list cmd-name arg-list)}. If
-@code{init-function} returns null, syntax check is aborted, by
+@code{init-function} returns null, syntax check is aborted, but
@code{flymake-mode} is not switched off.
@item cleanup-function
@end table
To add support for a new syntax check tool, write corresponding
-@code{init-function}, and, optionally @code{cleanup-function} and
+@code{init-function} and, optionally, @code{cleanup-function} and
@code{getfname-function}. If the format of error messages reported by
the new tool is not yet supported by Flymake, add a new entry to
the @code{flymake-proc-err-line-patterns} list.
@code{flymake-proc-legacy-backend} saves a copy of the buffer in a
temporary file in the buffer's directory (or in the system temp
-directory, for java files), creates a syntax check command and
+directory, for Java files), creates a syntax check command and
launches a process with this command. The output is parsed using a
list of error message patterns, and error information (file name, line
number, type and text) is saved. After the process has finished,
using some build tool, like Make or Ant.
All Make configuration data is usually stored in a file called
-@code{Makefile}. To allow for future extensions, flymake uses a notion of
+@code{Makefile}. To allow for future extensions, Flymake uses a notion of
buildfile to reference the 'project configuration' file.
Special function, @code{flymake-proc-find-buildfile} is provided for locating buildfiles.
"Currently active Flymake process for a buffer, if any.")
(defvar flymake-proc--report-fn nil
- "If bound, function used to report back to flymake's UI.")
+ "If bound, function used to report back to Flymake's UI.")
(defun flymake-proc-reformat-err-line-patterns-from-compile-el (original-list)
"Grab error line patterns from ORIGINAL-LIST in compile.el format.
(defun flymake-proc--find-possible-master-files (file-name master-file-dirs masks)
"Find (by name and location) all possible master files.
-
Name is specified by FILE-NAME and location is specified by
MASTER-FILE-DIRS. Master files include .cpp and .c for .h.
Files are searched for starting from the .h directory and max
(defun flymake-proc--panic (problem explanation)
"Tell Flymake UI about a fatal PROBLEM with this backend.
May only be called in a dynamic environment where
-`flymake-proc--dynamic-report-fn' is bound"
+`flymake-proc--report-fn' is bound."
(flymake-log 0 "%s: %s" problem explanation)
(if (and (boundp 'flymake-proc--report-fn)
flymake-proc--report-fn)
(defun flymake-proc-legacy-flymake (report-fn &rest args)
"Flymake backend based on the original Flymake implementation.
This function is suitable for inclusion in
-`flymake-diagnostic-types-alist'. For backward compatibility, it
+`flymake-diagnostic-functions'. For backward compatibility, it
can also be executed interactively independently of
`flymake-mode'."
;; Interactively, behave as if flymake had invoked us through its
`(flymake--log-1 ,level ',sublog ,msg ,@args)))
(defun flymake-error (text &rest args)
- "Format TEXT with ARGS and signal an error for flymake."
+ "Format TEXT with ARGS and signal an error for Flymake."
(let ((msg (apply #'format-message text args)))
(flymake-log :error msg)
(error (concat "[Flymake] " msg))))
* the remaining arguments are keyword-value pairs in the
form (:KEY VALUE :KEY2 VALUE2...). Currently, Flymake provides
no such arguments, but backend functions must be prepared to
- accept to accept and possibly ignore any number of them.
+ accept and possibly ignore any number of them.
Backend functions are expected to initiate the buffer check, but
aren't required to complete it check before exiting: if the
* ‘:explanation’: value should give user-readable details of
the situation encountered, if any.
-* ‘:force’: value should be a boolean suggesting that the Flymake
- considers the report even if was somehow unexpected.")
+* ‘:force’: value should be a boolean suggesting that Flymake
+ consider the report even if it was somehow unexpected.")
(defvar flymake-diagnostic-types-alist
`((:error
. ((flymake-category . flymake-warning)))
(:note
. ((flymake-category . flymake-note))))
- "Alist ((KEY . PROPS)*) of properties of Flymake error types.
-KEY can be anything passed as `:type' to `flymake-diag-make'.
+ "Alist ((KEY . PROPS)*) of properties of Flymake diagnostic types.
+KEY designates a kind of diagnostic can be anything passed as
+`:type' to `flymake-make-diagnostic'.
PROPS is an alist of properties that are applied, in order, to
-the diagnostics of each type. The recognized properties are:
+the diagnostics of the type designated by KEY. The recognized
+properties are:
* Every property pertaining to overlays, except `category' and
`evaporate' (see Info Node `(elisp)Overlay Properties'), used
- affect the appearance of Flymake annotations.
+ to affect the appearance of Flymake annotations.
* `bitmap', an image displayed in the fringe according to
`flymake-fringe-indicator-position'. The value actually
"Buffer-local hash table of a Flymake backend's state.
The keys to this hash table are functions as found in
`flymake-diagnostic-functions'. The values are structures
-of the type `flymake--backend-state', with these slots
+of the type `flymake--backend-state', with these slots:
`running', a symbol to keep track of a backend's replies via its
REPORT-FN argument. A backend is running if this key is
-present. If the key is absent if the backend isn't expecting any
-replies from the backend.
+present. If nil, Flymake isn't expecting any replies from the
+backend.
-`diags', a (possibly empty) list of diagnostic objects created
-with `flymake-make-diagnostic'. This key is absent if the
-backend hasn't reported anything yet.
+`diags', a (possibly empty) list of recent diagnostic objects
+created by the backend with `flymake-make-diagnostic'.
`reported-p', a boolean indicating if the backend has replied
since it last was contacted.
`disabled', a string with the explanation for a previous
-exceptional situation reported by the backend. If this key is
-present the backend is disabled.")
+exceptional situation reported by the backend, nil if the
+backend is operating normally.")
(cl-defstruct (flymake--backend-state
(:constructor flymake--make-backend-state))
&key explanation force
&allow-other-keys)
"Handle reports from BACKEND identified by TOKEN.
-
BACKEND, REPORT-ACTION and EXPLANATION, and FORCE conform to the calling
convention described in `flymake-diagnostic-functions' (which
see). Optional FORCE says to handle a report even if TOKEN was
(defun flymake--disable-backend (backend &optional explanation)
"Disable BACKEND because EXPLANATION.
-If is is running also stop it."
+If it is running also stop it."
(flymake-log :warning "Disabling backend %s because %s" backend explanation)
(flymake--with-backend-state backend state
(setf (flymake--backend-state-running state) nil
(flymake--backend-state-disabled state) nil
(flymake--backend-state-diags state) nil
(flymake--backend-state-reported-p state) nil))
- ;; FIXME: Should use `condition-case-unless-debug' here, for don't
+ ;; FIXME: Should use `condition-case-unless-debug' here, but don't
;; for two reasons: (1) that won't let me catch errors from inside
;; `ert-deftest' where `debug-on-error' appears to be always
;; t. (2) In cases where the user is debugging elisp somewhere
(defun flymake-goto-next-error (&optional n filter interactive)
"Go to Nth next Flymake error in buffer matching FILTER.
+Interactively, always move to the next error. With a prefix arg,
+skip any diagnostics with a severity less than ‘:warning’.
-Interactively, always move to the next error. Interactively, and
-with a prefix arg, skip any diagnostics with a severity less than
-‘:warning’.
-
-If ‘flymake-wrap-around’ is non-nil, resumes search from top
-at end of buffer.
+If ‘flymake-wrap-around’ is non-nil and no more next errors,
+resumes search from top
FILTER is a list of diagnostic types found in
`flymake-diagnostic-types-alist', or nil, if no filter is to be
(defun flymake-goto-prev-error (&optional n filter interactive)
"Go to Nth previous Flymake error in buffer matching FILTER.
+Interactively, always move to the previous error. With a prefix
+arg, skip any diagnostics with a severity less than ‘:warning’.
-Interactively, always move to the previous error. Interactively,
-and with a prefix arg, skip any diagnostics with a severity less
-than ‘:warning’.
-
-If ‘flymake-wrap-around’ is non-nil, resumes search from top
-at end of buffer.
+If ‘flymake-wrap-around’ is non-nil and no more previous errors,
+resumes search from bottom.
FILTER is a list of diagnostic types found in
`flymake-diagnostic-types-alist', or nil, if no filter is to be