   "Check if .merlin file loaded successfully."
   (let* ((project (merlin--project-get))
          (failures (cdr project)))
-    (unless (equal failures merlin-last-project-failures)
-      (mapcar #'message (cdr failures)))
-    (setq merlin-last-project-failures failures)))
+    (unless (equal failures merlin--project-failures
+      (message (mapconcat 'identity failures "\n")))
+    (setq merlin--project-failures failures))))
 
 (defun merlin--acquire-buffer (&optional force)
   "Prepare merlin to receive data from current buffer."

loading"
  (let* ((r (merlin-send-command '(project get)))
         (failed (cdr (assoc 'failures r)))
         (result (cdr (assoc 'result r))))
    (cons result failed)))

(defun merlin-goto-project-file ()
  "Goto the merlin file corresponding to the current file."

(defvar merlin-position-stack nil)

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

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