There are many possible topological sort orders. The exact order returned depends on Clojure's hashing functions, which will change in Clojure 1.6.0.
Signed-off-by: Stuart Sierra <email@example.com>
Previous commit broke parsing of (:require [foo]) with no :as or :refer options.
Because `use` and `require` do little checking of argument types, common usage has both vectors and lists for namespace prefixes. Formerly, tools.namespace only supported prefix *lists*, this patch adds support for vectors.
Also simplify generation of exception message. The *print-length* binding was paranoid: nodes should probably not be large data structures. Originally reported by "tgoossens" here: stuartsierra/dependency#1
Having 'disable-unload!' or 'disable-reload!' in a namespace could cause errors when trying to "recover" the namespace mappings after a failed reload.