              (full-melpa-style-recipe
               (if recipe-specified-p
                   melpa-style-recipe
-                (straight--lookup-recipe melpa-style-recipe cause))))
+                ;; Second argument is the sources list, defaults to
+                ;; all known sources.
+                (straight--lookup-recipe melpa-style-recipe nil cause))))
         ;; MELPA-style recipe format is a list whose car is the
         ;; package name as a symbol, and whose cdr is a plist.
         (cl-destructuring-bind (package . plist) full-melpa-style-recipe

                         "in MELPA, GNU ELPA, or "
                         "Emacsmirror")
                 package)))))

(defvar straight--recipe-cache (make-hash-table :test #'equal)
  "Hash table listing known recipes by package.
The keys are strings naming packages, and the values are the last
known recipe for that package. This is used for detecting
conflicting recipes for the same package; managing the build
cache and versions lockfile; and getting a list of all packages
in use.")

(defun straight--convert-recipe (melpa-style-recipe &optional cause)
  "Convert a MELPA-STYLE-RECIPE to a normalized straight.el recipe.

   (lambda (elt) t)
   'require-match))

(defun straight--get-recipe-interactively (sources &optional action)
  "Use `completing-read' to select an available package.
SOURCES is a list containing one or more of `melpa', `gnu-elpa',
