Skip to content

Instantly share code, notes, and snippets.

@ninjudd
Created May 12, 2010 18:02
Show Gist options
  • Save ninjudd/398903 to your computer and use it in GitHub Desktop.
Save ninjudd/398903 to your computer and use it in GitHub Desktop.
diff --git a/src/clj/clojure/main.clj b/src/clj/clojure/main.clj
index 1af45bf..0b08840 100644
--- a/src/clj/clojure/main.clj
+++ b/src/clj/clojure/main.clj
@@ -159,7 +159,8 @@
read, eval, or print throws an exception or error
default: repl-caught"
[& options]
- (let [cl (.getContextClassLoader (Thread/currentThread))]
+ (let [cl (.getContextClassLoader (Thread/currentThread))
+ cl (clojure.lang.NativeClassLoader. cl)]
(.setContextClassLoader (Thread/currentThread) (clojure.lang.DynamicClassLoader. cl)))
(let [{:keys [init need-prompt prompt flush read eval print caught]
:or {init #()
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index 44ad147..9f910c4 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -1533,8 +1533,9 @@ static public ClassLoader makeClassLoader(){
public Object run(){
try{
Var.pushThreadBindings(RT.map(USE_CONTEXT_CLASSLOADER, RT.T));
- // getRootClassLoader();
- return new DynamicClassLoader(baseLoader());
+ ClassLoader cl = new NativeClassLoader(baseLoader());
+ return new DynamicClassLoader(cl);
}
finally{
Var.popThreadBindings();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment