Function: flymake--run-backend

flymake--run-backend is a byte-compiled function defined in flymake.el.gz.

Signature

(flymake--run-backend BACKEND &optional ARGS)

Documentation

Run the backend BACKEND, re-enabling if necessary.

ARGS is a keyword-value plist passed to the backend along with a report function.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/flymake.el.gz
(defun flymake--run-backend (backend &optional args)
  "Run the backend BACKEND, re-enabling if necessary.
ARGS is a keyword-value plist passed to the backend along
with a report function."
  (flymake-log :debug "Running backend %s" backend)
  (let ((run-token (gensym "backend-token")))
    (flymake--with-backend-state backend state
      (setf (flymake--state-running state) run-token
            (flymake--state-disabled state) nil
            (flymake--state-reported-p state) nil))
    (condition-case-unless-debug err
        (if (or (trusted-content-p) (function-get backend 'flymake-always-safe))
            (apply backend (flymake-make-report-fn backend run-token)
                   args)
          ;; FIXME: Use `bwrap' for untrusted content.
          ;; FIXME: We emit a message *and* signal an error, because by default
          ;; Flymake doesn't display the warning it puts into "*flymake log*".
          (message "Disabling %S in %s (untrusted content)"
                   backend (buffer-name))
          (user-error "Disabling %S in %s (untrusted content)"
                      backend (buffer-name)))
      (error
       (flymake--disable-backend backend err)))))