diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/clj/clojure/boot.clj | 11 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 18 |
2 files changed, 20 insertions, 9 deletions
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj index 35efe753..73380c2f 100644 --- a/src/clj/clojure/boot.clj +++ b/src/clj/clojure/boot.clj @@ -2929,3 +2929,14 @@ (recur (conj s x) etc)) true)) false))) + +(defn iterator-seq + "Returns a seq on a java.util.Iterator. Note that most collections + providing iterators implement Iterable and thus support seq directly." + [iter] + (clojure.lang.IteratorSeq/create iter)) + +(defn enumeration-seq + "Returns a seq on a java.lang.Enumeration" + [e] + (clojure.lang.EnumerationSeq/create e)) diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 47f49dbf..e6872def 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -167,10 +167,10 @@ static public Charset UTF8 = Charset.forName("UTF-8"); static public final Namespace CLOJURE_NS = Namespace.findOrCreate(Symbol.create("clojure")); //static final Namespace USER_NS = Namespace.findOrCreate(Symbol.create("user")); final static public Var OUT = - Var.intern(CLOJURE_NS, Symbol.create("*out*"), new OutputStreamWriter(System.out,UTF8)); + Var.intern(CLOJURE_NS, Symbol.create("*out*"), new OutputStreamWriter(System.out, UTF8)); final static public Var IN = Var.intern(CLOJURE_NS, Symbol.create("*in*"), - new LineNumberingPushbackReader(new InputStreamReader(System.in,UTF8))); + new LineNumberingPushbackReader(new InputStreamReader(System.in, UTF8))); final static Keyword TAG_KEY = Keyword.intern(null, "tag"); final static public Var AGENT = Var.intern(CLOJURE_NS, Symbol.create("*agent*"), null); final static public Var MACRO_META = Var.intern(CLOJURE_NS, Symbol.create("*macro-meta*"), null); @@ -353,7 +353,7 @@ public static void loadResourceScript(Class c, String name, boolean failIfNotFou InputStream ins = c.getResourceAsStream("/" + name); if(ins != null) { - Compiler.load(new InputStreamReader(ins,UTF8), name, file); + Compiler.load(new InputStreamReader(ins, UTF8), name, file); ins.close(); } else if(failIfNotFound) @@ -453,10 +453,10 @@ static ISeq seqFrom(Object coll){ return StringSeq.create((String) coll); else if(coll instanceof Map) return seq(((Map) coll).entrySet()); - else if(coll instanceof Iterator) - return IteratorSeq.create((Iterator) coll); - else if(coll instanceof Enumeration) - return EnumerationSeq.create(((Enumeration) coll)); +// else if(coll instanceof Iterator) +// return IteratorSeq.create((Iterator) coll); +// else if(coll instanceof Enumeration) +// return EnumerationSeq.create(((Enumeration) coll)); else throw new IllegalArgumentException("Don't know how to create ISeq from: " + coll.getClass().getSimpleName()); } @@ -506,7 +506,7 @@ static public ISeq cons(Object x, Object coll){ static public Object first(Object x){ if(x instanceof ISeq) - return ((ISeq)x).first(); + return ((ISeq) x).first(); ISeq seq = seq(x); if(seq == null) return null; @@ -527,7 +527,7 @@ static public Object fourth(Object x){ static public ISeq rest(Object x){ if(x instanceof ISeq) - return ((ISeq)x).rest(); + return ((ISeq) x).rest(); ISeq seq = seq(x); if(seq == null) return null; |