ns-unalias

added
1.0

ns
clojure.core

type
function

(ns-unalias ns sym)

Removes the alias for the symbol from the namespace.

                ;; You are having a problem loading a redefined namespace:
user=> (load "src/clj/com/tizra/layout_expander.clj")
#<IllegalStateException java.lang.IllegalStateException: Alias xml already exists in namespace com.tizra.layout-expander, aliasing com.tizra.xml-match>

;; ns-unalias to the rescue!
user=> (ns-unalias (find-ns 'com.tizra.layout-expander) 'xml)
nil

user=> (load "src/clj/com/tizra/layout_expander.clj")
#'com.tizra.layout-expander/junk

            
                user=> (ns-aliases *ns*)
{}
user=> (alias 'string 'clojure.string)
nil
user=> (ns-aliases *ns*)
{string #<Namespace clojure.string>}
user=> (ns-unalias *ns* 'string)
nil
user=> (ns-aliases *ns*)
{}
            
                ;; To wipe aliases of current namespace:
*my-ns*=> (map (partial ns-unalias *ns*) (keys (ns-aliases *ns*)))