summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2007-12-17 13:06:29 +0000
committerRich Hickey <richhickey@gmail.com>2007-12-17 13:06:29 +0000
commit7e0466d0699b23a6da4557597d3489eb9c54a36b (patch)
tree77663c9ae62853fa94f7a78ba6ed2d6804d7bac2 /src
parent22dbda1a44ee9c4f0492417b5b5b797c9e3f1708 (diff)
made int coerce Characters
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj4
-rw-r--r--src/jvm/clojure/lang/RT.java4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/boot.clj b/src/boot.clj
index 9a6f2002..3f9a27bd 100644
--- a/src/boot.clj
+++ b/src/boot.clj
@@ -782,8 +782,8 @@
ret#))
-(defn int [#^Number x]
- (. x (intValue)))
+(defn int [x]
+ (. clojure.lang.RT (intCast x)))
(defn long [#^Number x]
(. x (longValue)))
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index e657459d..1b63f7af 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -491,7 +491,9 @@ static public short shortCast(Object x){
}
static public int intCast(Object x){
- return ((Number) x).intValue();
+ if(x instanceof Number)
+ return ((Number) x).intValue();
+ return ((Character) x).charValue();
}
static public long longCast(Object x){