emacs-flymake icon indicating copy to clipboard operation
emacs-flymake copied to clipboard

func flymake-post-syntax-check, please check "flymake-check-start-time"

Open PetersonLian opened this issue 9 years ago • 0 comments

Function flymake-post-syntax-check defined like follows:

(defun flymake-post-syntax-check (exit-status command)
(setq flymake-err-info flymake-new-err-info)
(setq flymake-new-err-info nil)
(setq flymake-err-info
    (flymake-fix-line-numbers
     flymake-err-info 1 (flymake-count-lines)))
(flymake-delete-own-overlays)
(flymake-highlight-err-lines flymake-err-info)
(let (err-count warn-count info-count)
(setq err-count (flymake-get-err-count flymake-err-info "e"))
(setq warn-count  (flymake-get-err-count flymake-err-info "w"))
(setq info-count  (flymake-get-err-count flymake-err-info "i"))
(flymake-log 2 "%s: %d error(s), %d warning(s), %d info in %.2f second(s)"
             (buffer-name) err-count warn-count info-count
             (- (flymake-float-time) flymake-check-start-time))
(setq flymake-check-start-time nil)

(if (and (equal 0 err-count) (equal 0 warn-count) (equal 0 info-count))
    (if (equal 0 exit-status)
        (flymake-report-status "" "")        ; PASSED
      (if (not flymake-check-was-interrupted)
          (flymake-report-fatal-status "CFGERR"
                                       (format "Configuration error has occurred while running %s" command))
        (flymake-report-status nil ""))) ; "STOPPED"
  (flymake-report-status (format "%d/%d/%d" err-count warn-count info-count) "")))
(run-hooks 'flymake-after-syntax-check-hook))

At snippet: (flymake-log 2 "%s: %d error(s), %d warning(s), %d info in %.2f second(s)" (buffer-name) err-count warn-count info-count (- (flymake-float-time) flymake-check-start-time)) How about check variable flymake-check-start-time to see whether it is nil because otherwise expression (- (flymake-float-time) flymake-check-start-time)) will fail with an error.

This behavior costed a emacs dummy (like me) one afternoon to locate it. It would be better to check flymake-check-start-time whether it equals to nil, don't you agree?

PetersonLian avatar Jan 26 '16 09:01 PetersonLian