   "Return a list of Git remotes as strings for the current directory.
 Do not suppress unexpected errors."
   ;; Git remote names cannot have whitespace in them, thank goodness.
-  (straight--split-and-trim (straight--get-call "git" "remote")))
+  (straight--split-and-trim (straight--process-output "git" "remote")))
 
 ;;;;;; Validation functions
 

         (orgversion
          (replace-regexp-in-string
           "release_" ""
           (straight--get-call "git" "describe" "--match" "release*"
                               "--abbrev=0" "HEAD")))
         (gitversion
          (concat
           orgversion "-g"
           (string-trim
            (shell-command-to-string "git rev-parse --short=6 HEAD"))))
         (emacs (concat invocation-directory invocation-name)))
    (call-process
     emacs nil straight-byte-compilation-buffer nil

                   (straight--split-and-trim
                    conflicted-files 2))
           ("a" "Abort merge"
            (straight--process-output "git" "merge" "--abort")))))))

(cl-defun straight-vc-git--ensure-worktree (local-repo)
  "Ensure that LOCAL-REPO has a clean worktree.
LOCAL-REPO is a string."
  (let ((status (let ((straight--process-trim nil))
                  (straight--process-output
                   "git" "-c" "status.branch=false"
                   "status" "--short"))))
    (if (string-empty-p status)
        (cl-return-from straight-vc-git--ensure-worktree t)
      (straight-vc-git--popup
