 ;; 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)))
 

(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."
  (append (list "--with-ghc"
                "intero"
                "--docker-run-args=--interactive=true --tty=false"

            (let ((original-buffer (intero-temp-file-origin-buffer loaded-file)))
              (if original-buffer
                  (switch-to-buffer original-buffer)
                (error "Attempted to load temp file.  Try restarting Intero.
If the problem persists, please report this as a bug!")))
          (find-file loaded-file))
        (pop-mark)
