diff options
-rw-r--r-- | lib.clj | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -192,13 +192,21 @@ (load-lib sym in ns) @*libs*)))) +(defn- eval-option + "Evaluates an option which may be a symbol representing a var + or a literal (including nil)" + [option] + (if (symbol? option) + (deref (resolve option)) + option)) + (defn- load-with-options "Load a lib with options expressed as sequential keywords and values" [sym & options] (let [opts (apply hash-map options) - in (:in opts) - ns (:ns opts) + in (eval-option (:in opts)) + ns (eval-option (:ns opts)) reload (:reload opts) reload-all (:reload-all opts) require (:require opts) |