diff options
author | Chouser <chouser@n01se.net> | 2010-01-27 11:00:08 -0500 |
---|---|---|
committer | Chouser <chouser@n01se.net> | 2010-10-02 15:28:00 -0400 |
commit | a5c2c36cd7f8ddbae68a5071ae7a3d9373b02a01 (patch) | |
tree | 01d6e73fe3955fb288d95a6d268da3cca36ffe4b | |
parent | 167a73857a746e8dbeeb6d9ea8f99083aca7dc69 (diff) |
Add "starting at <line>" to readDelimitedList EOF errors
Refs #249
Signed-off-by: Chouser <chouser@n01se.net>
-rw-r--r-- | src/jvm/clojure/lang/LispReader.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java index 9589472f..91a854e7 100644 --- a/src/jvm/clojure/lang/LispReader.java +++ b/src/jvm/clojure/lang/LispReader.java @@ -1048,6 +1048,10 @@ public static class UnreadableReader extends AFn{ } public static List readDelimitedList(char delim, PushbackReader r, boolean isRecursive) throws Exception{ + final int firstline = + (r instanceof LineNumberingPushbackReader) ? + ((LineNumberingPushbackReader) r).getLineNumber() : -1; + ArrayList a = new ArrayList(); for(; ;) @@ -1058,7 +1062,12 @@ public static List readDelimitedList(char delim, PushbackReader r, boolean isRec ch = r.read(); if(ch == -1) - throw new Exception("EOF while reading"); + { + if(firstline < 0) + throw new Exception("EOF while reading"); + else + throw new Exception("EOF while reading, starting at line " + firstline); + } if(ch == delim) break; |