Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
rid of overlap in cause traces
|
|
|
|
|
|
Conflicts were:
src/clj/clojure/core.clj
src/jvm/clojure/lang/Compiler.java
src/jvm/clojure/lang/Util.java
test/clojure/test_clojure/protocols.clj
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Previously parse-args was defaulting in-enc and out-enc to the
platform default charset. This contradicted the intent of sh, which is
to default to UTF-8 on all platforms.
This appears not to have been noticed because the unit tests were
still testing for the previous behavior of defaulting to platform
encoding.
(As it turns out the old behavior of using Charset/defaultCharset
would have been wrong on Mac OS X since it claims "Mac Roman" here
despite the fact that Mac OS X uses UTF-8 throughout, including in
Terminal.app, shell and file system.)
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
- correct order for branches for in
- :out and :outenc are separate things
- stderr always gets platform encoding
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
filling the buffer and hanging the process
removed stray println
use clojure.java.io to copy streams, avoiding byte-at-a-time copying
added :inenc option, specifying the input character set
renamed :out input option to :outenc
changed default encoding to 'platform default encoding'. This matches how we handle *out*.
It is much more likely that command-line tools used by sh use platform default encoding. Windows CRT barely supports UTF-8 for example.
write to stdin from a separate thread to prevent stdout blocking before we write anything
Added support for passing a byte array to :in
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
- note need for full package name (in some places, didn't track down)
- note need for redundant hinting (interface hinting flows sometimes?)
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
|
|
|
|
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|
|
|
|
|
|
|
|
arbitrary precision.
|
|
Bigints auto-reduce in all cases
Restore +, *, -, inc, dec as auto-promoting ops, will never return primitive integers, will auto-promote even when given primitives.
Add +', *', -', inc', dec', that do exactly what their counterparts do except when given integers of long or smaller, in which case they will not auto-promote but instead throw on overflow, and can return primitives.
Return primitive doubles on all ops involving primitive doubles
Box on long ops only after checking for overflow
|
|
for inter-type numeric equivalence.
|
|
|
|
|
|
literals to be primitive initializers. Canonicalize boxing of integers, if it fits in int, is Integer, else Long, thus primitive coercions can't be used to get particular boxed types, use Long/valueOf etc. Ask for BigIntegers if you want arbitrary precision, new literal number format - append 'N' for BigInteger. BigIntegers do not reduce automatically, are contagious. New particular names for unchecked ops - unchecked-xxx-int or unchecked-xxx-long. You should need far fewer hints for primitive perf, and avoid int casts and any casting of numeric literals, see:
http://gist.github.com/440102
|
|
|
|
|
|
Signed-off-by: Rich Hickey <richhickey@gmail.com>
|
|
|
|
|
|
break down constant inits into separate methods, call from init
move core.clj to statics
|
|
limit primitives to long and double
|
|
|
|
defrecord
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
|