summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/PersistentList.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/PersistentList.java b/src/jvm/clojure/lang/PersistentList.java
index 1b92ff1d..ea724ffd 100644
--- a/src/jvm/clojure/lang/PersistentList.java
+++ b/src/jvm/clojure/lang/PersistentList.java
@@ -58,7 +58,7 @@ public Object peek(){
public IPersistentList pop(){
if(_rest == null)
- return EMPTY.withMeta(meta());
+ return EMPTY.withMeta(_meta);
return _rest;
}
@@ -71,7 +71,9 @@ public ISeq cons(Object o){
}
public PersistentList withMeta(IPersistentMap meta){
- return new PersistentList(meta, _first, _rest, _count);
+ if(meta != _meta)
+ return new PersistentList(meta, _first, _rest, _count);
+ return this;
}
static class EmptyList extends PersistentList{