     (when (merlin-process-dead-p instance)
       (merlin-start-process merlin-default-flags conf))
     (add-to-list 'after-change-functions 'merlin--sync-edit)
-    (add-hook 'after-save-hook 'merlin--after-save nil 'local)))
+    (add-hook 'after-save-hook 'merlin--after-save nil 'local)
+    (merlin--idle-timer)))
 
 (defun merlin-can-handle-buffer ()
   "Simple sanity check (used to avoid running merlin on, e.g., completion buffer)."

          (setq d d-) (setq err err-))))))

(defun merlin-show-error-on-current-line ()
  "Show the error of the current line in the echo area.
  If there is no error, do nothing."
  (when (and merlin-mode (not (current-message)))
    (let* ((errors (overlays-in (line-beginning-position) (line-end-position)))
           (err nil))

(defvar-local merlin--project-cache nil "Cache for merlin--project-get")
(defvar-local merlin--project-failures nil
  "When loading .merlin, list of errors reported. Only update error messages if
error list changes")

;;;;;;;;;;;
;; UTILS ;;
