summaryrefslogtreecommitdiff
path: root/src/jvm/clojure
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-04-10 00:09:06 +0000
committerRich Hickey <richhickey@gmail.com>2008-04-10 00:09:06 +0000
commit914c26752481ffd380b5e4f8e7754a7a68d27adc (patch)
treebac3e1403be44900104f7fed05ebfde896123663 /src/jvm/clojure
parent8e88388231dda1f026dbb4db9597d50e3594cdc0 (diff)
added load(rdr, sourcePath, sourceName)
Diffstat (limited to 'src/jvm/clojure')
-rw-r--r--src/jvm/clojure/lang/Compiler.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index e1dc0d01..054e5479 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -3668,21 +3668,21 @@ public static Object loadFile(String file) throws Exception{
// return null;
FileInputStream f = new FileInputStream(file);
-
try
{
- Var.pushThreadBindings(RT.map(SOURCE_PATH, file,
- SOURCE, (new File(file)).getName()));
- return load(new InputStreamReader(f));
+ return load(new InputStreamReader(f), file, (new File(file)).getName());
}
finally
{
- Var.popThreadBindings();
f.close();
}
}
public static Object load(Reader rdr) throws Exception{
+ return load(rdr, null, "NO_SOURCE_FILE");
+}
+
+public static Object load(Reader rdr, String sourcePath, String sourceName) throws Exception{
Object EOF = new Object();
Object ret = null;
LineNumberingPushbackReader pushbackReader =
@@ -3692,6 +3692,8 @@ public static Object load(Reader rdr) throws Exception{
{
Var.pushThreadBindings(
RT.map(LOADER, new DynamicClassLoader(),
+ SOURCE_PATH, sourcePath,
+ SOURCE, sourceName,
RT.CURRENT_NS, RT.CURRENT_NS.get(),
LINE_BEFORE, pushbackReader.getLineNumber(),
LINE_AFTER, pushbackReader.getLineNumber()