                                      read-file-fn!
                                      (fn [{:keys [source] :as result}]
                                        (if result
-                                         (let [eval-opts (load-eval-opts! opts file-name)]
-                                           (eval-str* eval-opts opts cb data source (last-form source)))
+                                         (eval-str* (assoc (load-eval-opts! opts file-name)
+                                                           :on-success-fn! (fn [eval-res]
+                                                                             (process-1-2-3 data (last-form source) (:value eval-res))))
+                                                    opts cb data source)
                                          (call-back (common/wrap-error
                                                      (ex-info (str "Could not load file " file-name) ex-info-data))))))
       (do (when verbose

    (set! *1 value)))

(defn eval-str*
  [eval-opts user-opts cb data source expression-form]
  (let [name (:file-name eval-opts)]
    (cljs/eval-str st
                   source
                   (str name source)
                   ;; opts (map)
                   eval-opts
                   (fn [res]
                     (when (:verbose user-opts)
                       (common/debug-prn "Evaluation returned: " res))
                     (call-back! user-opts cb
                                 (merge data
                                        {:on-success-fn! #(do
                                                            (process-1-2-3 data expression-form (:value res))
                                                            (when-not name
                                                              (swap! app-env assoc :current-ns (:ns res))))})
                                 res)))))

(defn process-require
  [opts cb data kind specs]

      (binding [ana/*cljs-warning-handlers* [(partial custom-warning-handler opts cb)]]
        (if (repl-special? expression-form)
          (process-repl-special opts cb data expression-form)
          (eval-str* (assoc (base-eval-opts! opts)
                            :on-success-fn! (fn [eval-res]
                                              (do
                                                (process-1-2-3 data expression-form (:value eval-res))
                                                (swap! app-env assoc :current-ns (:ns eval-res)))))
                     opts cb data source))))
    (catch :default e
      (when (:verbose opts)
        (common/debug-prn "Exception caught in read-eval-call: " (.-stack e)))
