summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/APersistentVector.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/APersistentVector.java b/src/jvm/clojure/lang/APersistentVector.java
index 70192d3b..8a271b6a 100644
--- a/src/jvm/clojure/lang/APersistentVector.java
+++ b/src/jvm/clojure/lang/APersistentVector.java
@@ -517,6 +517,13 @@ static class SubVector extends APersistentVector{
public SubVector(IPersistentMap meta, IPersistentVector v, int start, int end){
super(meta);
+ if(v instanceof APersistentVector.SubVector)
+ {
+ APersistentVector.SubVector sv = (APersistentVector.SubVector) v;
+ start += sv.start;
+ end += sv.start;
+ v = sv.v;
+ }
this.v = v;
this.start = start;
this.end = end;