 
 (defun straight--convert-recipe (melpa-style-recipe &optional cause)
   "Convert a MELPA-STYLE-RECIPE to a normalized straight.el recipe.
-MELPA, GNU ELPA, and EmacsMirror may be cloned and searched for
+MELPA, GNU ELPA, and Emacsmirror may be cloned and searched for
 recipes if the MELPA-STYLE-RECIPE is just a package name;
 otherwise, the MELPA-STYLE-RECIPE should be a list and it is
 modified slightly to conform to the internal straight.el recipe
-format."
+format. CAUSE is a string indicating the reason recipe
+repositories might need to be cloned."
   ;; Firstly, if the recipe is only provided as a package name, and
   ;; we've already converted it before, then we should just return the
   ;; previous result. This has nothing to do with efficiency; it's

should each have an entry in `straight-profiles'.")

(defvar straight--profile-cache-valid nil
  "Does `straight--profile-cache' accurately reflect the
init-file? The function `straight-save-versions' will be
reluctant to create a version lockfile if this variable is nil.
It is set to non-nil by the function
`straight-declare-init-succeeded', and is set back to nil when
the straight.el bootstrap is run or `straight-use-package' is
invoked.")

(defun straight--reset-caches ()
  "Reset caches other than the build cache and success cache..

and `emacsmirror'. (If it is nil, then all three of the sources
are assumed to be present.) The relevant recipe repositories are
cloned if necessary first. If `action' is nil or omitted, return
the recipe. If ACTION is `insert', then insert it into the
current buffer. If ACTION is `copy', then insert it into the
kill ring. Interactively, copy it if a prefix argument is
provided, and insert it otherwise."
  (let ((sources (or sources '(melpa gnu-elpa emacsmirror))))
