 ;; Process communication
 
 (defun intero-call-process (program &optional infile destination display &rest args)
-  "Synchronously call PROGRAM.  Same interface as 'call-process'/'process-file'.  Provides TRAMP compatibility for 'call-process'; when the 'default-directory' is on a remote machine, PROGRAM is launched on that machine."
+  "Synchronously call PROGRAM.
+INFILE, DESTINATION, DISPLAY and ARGS are as for
+'call-process'/'process-file'.  Provides TRAMP compatibility for
+'call-process'; when the 'default-directory' is on a remote
+machine, PROGRAM is launched on that machine."
   (let ((process-args (append (list program infile destination display) args)))
     (apply 'process-file process-args)))
 

    (make-temp-file prefix dir-flag suffix)))

(defun intero-temp-file-dir ()
  "Get the temporary file directory for the current intero
project."
  (let* ((intero-absolute-project-root
          (intero-extend-path-by-buffer-host (intero-project-root)))
         (temporary-file-directory

(defun intero-make-options-list (targets no-build no-load ignore-dot-ghci)
  "Make the stack ghci options list.
TARGETS are the build targets.  When non-nil, NO-BUILD and
NO-LOAD enable the correspondingly-named stack options.  When
IGNORE-DOT-GHCI is non-nil, it enables the corresponding GHCI
option."
  (append (list "--with-ghc"
                "intero"
                "--docker-run-args=--interactive=true --tty=false"
