summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/APersistentVector.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/APersistentVector.java b/src/jvm/clojure/lang/APersistentVector.java
index ede92bc4..15ce1870 100644
--- a/src/jvm/clojure/lang/APersistentVector.java
+++ b/src/jvm/clojure/lang/APersistentVector.java
@@ -323,8 +323,10 @@ static class SubVector extends APersistentVector{
}
public IPersistentVector assocN(int i, Object val){
- if(start + i >= end)
+ if(start + i > end)
throw new IndexOutOfBoundsException();
+ else if(start + i == end)
+ return cons(val);
return new SubVector(_meta, v.assocN(start + i, val), start, end);
}