Skip to content

Commit 7e6b0ac

Browse files
bronsastuarthalloway
authored andcommitted
CLJ-1568: fix incorrect error locations
Signed-off-by: Stuart Halloway <[email protected]>
1 parent 59889fd commit 7e6b0ac

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/jvm/clojure/lang/Compiler.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7176,12 +7176,20 @@ public static Object load(Reader rdr) {
71767176
return load(rdr, null, "NO_SOURCE_FILE");
71777177
}
71787178

7179+
static void consumeWhitespaces(LineNumberingPushbackReader pushbackReader) {
7180+
int ch = LispReader.read1(pushbackReader);
7181+
while(LispReader.isWhitespace(ch))
7182+
ch = LispReader.read1(pushbackReader);
7183+
LispReader.unread(pushbackReader, ch);
7184+
}
7185+
71797186
public static Object load(Reader rdr, String sourcePath, String sourceName) {
71807187
Object EOF = new Object();
71817188
Object ret = null;
71827189
LineNumberingPushbackReader pushbackReader =
71837190
(rdr instanceof LineNumberingPushbackReader) ? (LineNumberingPushbackReader) rdr :
71847191
new LineNumberingPushbackReader(rdr);
7192+
consumeWhitespaces(pushbackReader);
71857193
Var.pushThreadBindings(
71867194
RT.mapUniqueKeys(LOADER, RT.makeClassLoader(),
71877195
SOURCE_PATH, sourcePath,
@@ -7206,6 +7214,7 @@ public static Object load(Reader rdr, String sourcePath, String sourceName) {
72067214
for(Object r = LispReader.read(pushbackReader, false, EOF, false); r != EOF;
72077215
r = LispReader.read(pushbackReader, false, EOF, false))
72087216
{
7217+
consumeWhitespaces(pushbackReader);
72097218
LINE_AFTER.set(pushbackReader.getLineNumber());
72107219
COLUMN_AFTER.set(pushbackReader.getColumnNumber());
72117220
ret = eval(r,false);

0 commit comments

Comments
 (0)