              (combine-and-quote-strings intero-arguments))
      "
 
-After fixing this problem, you could switch back to your code and
-run M-x intero-restart to try again.
-
-You can kill this buffer when you're done reading it.\n")
+WHAT TO DO NEXT
+
+If you fixed the problem, just kill this buffer, Intero will make
+a fresh one and attempt to start the process automatically as
+soon as you start editing code again.
+
+If you are unable to fix the problem, just leave this buffer
+around in Emacs and Intero will not attempt to start the process
+anymore.
+
+You can always run M-x intero-restart to make it try again.
+
+")
     'face 'compilation-error)))
 
 (defun intero-read-buffer ()

(defun intero-async-call (worker cmd &optional state callback)
  "Make an asynchronous call of CMD (string) to the process,
calling CALLBACK as (CALLBACK STATE REPLY)."
  (with-current-buffer (intero-buffer worker)
    (setq intero-callbacks
          (append intero-callbacks
                  (list (list state
                              (or callback #'ignore)
                              cmd)))))
  (process-send-string (intero-process worker)
                       (concat cmd "\n")))

(defun intero-buffer (worker)
  "Get the worker buffer for the current directory."

      (cd default-directory)
      (current-buffer))))

(defun intero-gave-up (worker)
  "Did starting/installation give up?"
  (and (intero-buffer-p worker)
       (let ((buffer (get-buffer (intero-buffer-name worker))))
         (buffer-local-value 'intero-give-up buffer))))

(defun intero-buffer-p (worker)
  "Does a buffer exist for a given worker?"
  (get-buffer (intero-buffer-name worker)))
