summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/boot.clj11
-rw-r--r--src/jvm/clojure/lang/RT.java18
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;