Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: gunnarahlberg/clojure
head fork: gunnarahlberg/clojure
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Feb 01, 2013
@tobias tobias Restore {:as x} destructuring for empty lists [CLJ-1140]
Signed-off-by: Rich Hickey <>
Commits on Feb 05, 2013
@richhickey richhickey split off arbitrary eval parts of #= and flip default for *read-eval*…
… to false. N.B. this does not disable #=, only arbitrary eval using #=.
@michalmarczyk michalmarczyk Make some PersistentVector's and APersistentVector.SubVector's intern…
…als public

This commit makes public the following items:

 * PersistentVector.Node,
 * PersistentVector.Node binary ctor,
 * PersistentVector.Node's edit and array fields,
 * PersistentVector.EMPTY_NODE,
 * PersistentVector's shift, root and tail fields,
 * APersistentVector.SubVector's v, start and end fields.

Signed-off-by: Rich Hickey <>
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC5 389d25f
Hudson @ [maven-release-plugin] prepare for next development iteration 7ee4a39
@richhickey richhickey use non-loading classForName 38a129f
@richhickey richhickey Merge branch 'master' of 1b41b72
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC6 9b46eeb
Hudson @ [maven-release-plugin] prepare for next development iteration c763a1f
@richhickey richhickey read-eval is true during load
doc enhancements to read, read-string
doc *read-whitelist*
added safe-read, safe-read-string
allow only find-ns
*read-eval* false back to kill switch for all #=
non-record use of record read syntax requires *read-eval* == true
whitelist mode of read-eval is now :default, (precisely) true turns everything on, logical false everything off
@richhickey richhickey read-string returns nil when string is nil or empty b275055
@richhickey richhickey Merge branch 'master' of f5101c3
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta7 d7b01fe
Hudson @ [maven-release-plugin] prepare for next development iteration 708bccf
@richhickey richhickey take Fn off whitelist, allow ctor only 29537a6
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta8 312565b
Hudson @ [maven-release-plugin] prepare for next development iteration e060967
@richhickey richhickey restore reader, add EdnReader, read-edn, read-edn-string,docs 53201d8
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta9 5080c25
Hudson @ [maven-release-plugin] prepare for next development iteration 4281aff
Commits on Feb 06, 2013
@richhickey richhickey read-edn should call self e5df49b
@richhickey richhickey Merge branch 'master' of 715a8d8
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta10 3ddfdef
Hudson @ [maven-release-plugin] prepare for next development iteration 483cdcd
Commits on Feb 07, 2013
@richhickey richhickey system property control over *read-eval* default, *read-eval* control…
…s record reading, repl plays along
@richhickey richhickey tagged literals for edn reader, new sigs for read-edn, read-edn-string 692817a
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta11 eaafcec
Hudson @ [maven-release-plugin] prepare for next development iteration 46803ee
Commits on Feb 08, 2013
@richhickey richhickey no earmuffs on default-data-readers 8262a7e
@abedra abedra Fixing set equality.
The following:

(= #{-1} #{(Integer. -1)})

was broken due to a bug in set equality. APersistentMap deals with
things the proper way this patch mirrors the implementation direction
of it by supplying different methods for equals and equiv.

Signed-off-by: Aaron Bedra <>
Signed-off-by: Rich Hickey <>
@richhickey richhickey move read-edn* into clojure.edn namespace c6756a8
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta12 ee4c612
Hudson @ [maven-release-plugin] prepare for next development iteration f577e31
@stuarthalloway stuarthalloway neuter non-deterministic tests, see… 51f9bbe
Commits on Feb 09, 2013
@richhickey richhickey allow non-constituent characters as char literals in edn reader 4671019
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-beta13 25b4e4a
Hudson @ [maven-release-plugin] prepare for next development iteration f4d7871
@stuarthalloway stuarthalloway adopt latest test.generative
Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway some read and edn/read tests
Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway run the generative tests for 60 seconds, insted of 10
Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway char reading test 5cd435a
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC14 3a40afd
Hudson @ [maven-release-plugin] prepare for next development iteration 6a49cca
Commits on Feb 10, 2013
Stuart Halloway limit number of keywords generated during test suite 7b544ec
@stuarthalloway stuarthalloway make generation more permgen-safe 5c2b5e2
Stuart Halloway update changes file to include edn and reader changes 71b903c
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC15 50d1a73
Hudson @ [maven-release-plugin] prepare for next development iteration ed99515
Commits on Feb 14, 2013
@stuarthalloway stuarthalloway Revert "CLJ-1024: Check for invalid varags/destrucuring uses."
This reverts commit ed9670b.
@jafingerhut jafingerhut Updates to for Clojure 1.5.0-RC15
Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway drop reverted ticket from 2f07dd9
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC16 3eb6836
Hudson @ [maven-release-plugin] prepare for next development iteration 68c4962
Commits on Feb 22, 2013
@stuarthalloway stuarthalloway CLJ-1168: bind *read-eval* to "known" value for all REPL reads 4526952
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0-RC17 d2bde78
Hudson @ [maven-release-plugin] prepare for next development iteration 4ccb10e
Commits on Mar 01, 2013
Hudson @ [maven-release-plugin] prepare release clojure-1.5.0 09bd1e1
Hudson @ [maven-release-plugin] prepare for next development iteration 64b9f3c
Commits on Mar 06, 2013
@richhickey richhickey fix for leak caused by ddc65a9 dfbd70b
Commits on Mar 10, 2013
@stuarthalloway stuarthalloway changes for 1.5.1 0a3644f
Hudson @ [maven-release-plugin] prepare release clojure-1.5.1 dbd2e8a
Hudson @ [maven-release-plugin] prepare for next development iteration c77e5bd
Commits on Apr 12, 2013
@stuarthalloway stuarthalloway 1.5.x in maven 64f38a4
@stuarthalloway stuarthalloway repair pom from CI bug 92f7d93
@stuarthalloway stuarthalloway CLJ-1188 via Var intern
Signed-off-by: Stuart Halloway <>
Commits on May 24, 2013
@devn devn Fix inconsistent range, refs #1018
Signed-off-by: Stuart Halloway <>
@devn devn Fix inconsistent range, refs #1018
Signed-off-by: Stuart Halloway <>
@miner miner typo fixes
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1143: Replace 'clojure with 'clojure.core in ns doc string
Signed-off-by: Stuart Halloway <>
@miner miner make *default-data-reader-fn* set\!-able in REPL
Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway better error message when passing non-seqs to (seq)
Signed-off-by: Stuart Halloway <>
@stuartsierra stuartsierra CLJ-1072 Replace old metadata reader macro syntax
Signed-off-by: Stuart Halloway <>
@amalloy amalloy Print metadata and anonymous classes better
Signed-off-by: Stuart Halloway <>
@chrismgray chrismgray Allow foo// meaning the function / in namespace foo
Added regression tests

Signed-off-by: Stuart Halloway <>
@joegallo joegallo CLJ-863: make interleave handle odd arugments in the same manner as c…

Signed-off-by: Stuart Halloway <>
@w01fe w01fe Makes inspect-tree work on java.util.Sets and clojure.lang.Seqable's.
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut On non-Mac OS system, use xdg-open in browse-url if available
This allows the usage of's xdg-open which is present
on basically any Linux and BSD system nowadays.

Another slight improvement is that on Mac OS X, /usr/bin/open is tried
first, so no icon pops up in the dock due to the JVM switching to
becoming a GUI app (unless it was a GUI app before browse-url was

This patch has been tested on the following OSes, all with
1.6.0_<something> JVMs:

Mac OS X 10.6.8
Windows XP SP3, both from CMD.EXE and in a Cygwin bash shell
Ubuntu Linux 10.04 LTS

The test consisted of the following commands typed into a REPL, run
inside the Clojure root directory where readme.txt and epl-v10.html
files are:

(use '
(browse-url "")
(browse-url "readme.txt")
(browse-url "epl-v10.html")

Signed-off-by: Stuart Halloway <>
Commits on Jul 07, 2013
@richhickey richhickey don't presume Integer for LINE and COLUMN, fixes round-trip 229bf8f
Commits on Aug 14, 2013
@stuartsierra stuartsierra CLJ-1161: Remove from 'sources' JAR
The normal Clojure JAR contains a file with the
correct version number filled in during the build. Before this patch,
the '-sources' JAR also included a file in its raw
form. IDEs and other tools which include the '-sources' JAR on the
classpath can prevent Clojure from starting.

This patch filters the file out of the '-sources'

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1154 - Compile.main() should not close the output stream as this …
…prevents reporting in subsequent calls (usually in tooling).

Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway disable complicated example test 93071d8
@stuarthalloway stuarthalloway Merge branch '1.5.x' 04e634e
@stuartsierra stuartsierra Update to latest version of oss-parent POM
Signed-off-by: Stuart Halloway <>
@stuartsierra stuartsierra Add Sonatype OSS release profile
Using nexus-staging-maven-plugin. Adapted from the procedure developed
for contrib libraries at

Signed-off-by: Stuart Halloway <>
@stuarthalloway stuarthalloway Merge branch '1.5.x' d6b6bb6
@amalloy amalloy Fix CLJ-1202.
Emit forms like (. foo (bar)) instead of (. foo bar), so that names
starting with a - don't look like field accesses.

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1193: Make bigint and biginteger work on all floats and doubles
Signed-off-by: Stuart Halloway <>
@amalloy amalloy Make Delay save and rethrow exceptions it encounters.
Signed-off-by: Stuart Halloway <>
@bendlas bendlas CLJ-1171 Obey lexical scope for class argument in instance? compiler …

Signed-off-by: Stuart Halloway <>
@bendlas bendlas CLJ-1171 Check arity in instance? compiler macro
Signed-off-by: Stuart Halloway <>
@bendlas bendlas CLJ-1171 Tests for clojure.core/instance? compiler macro
Signed-off-by: Stuart Halloway <>
@cgrand cgrand CLJ-1160: Prevents mapcat from swallowing Reduced instances
Signed-off-by: Stuart Halloway <>
@gfredericks gfredericks CLJ-1121 Reimplement -> and ->> without recursion
The recursive definitions can be subtly dependent on the behavior
of macros in the forms passed to them.

Signed-off-by: Stuart Halloway <>
@gfredericks gfredericks CLJ-1121 Add metadata tests for -> and ->>
Signed-off-by: Stuart Halloway <>
@ghadishayban ghadishayban CLJ-850 don't emit methods not conformant with invokePrim
Signed-off-by: Stuart Halloway <>
@trptcolin trptcolin Don't promise the value of *file* in the REPL
Signed-off-by: Stuart Halloway <>
Commits on Oct 08, 2013
@richhickey richhickey reduce protocol callsite overhead 0b73494
Commits on Oct 25, 2013
@jafingerhut jafingerhut CLJ-1234: Reader allows whitespace after and before {
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1246: Fix clojure.reflect/type-reflect exception
for AsmReflector and classes with annotations.

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1268 Switch build to jdk 1.6 and remove 1.5 support
Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1252 - fix bug in keyword regex that allowed keywords starting wi…
…th a number

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1177: Treat URLs with consecutive %HH escapes as UTF-8 encoded bytes
Signed-off-by: Stuart Halloway <>
@gfredericks gfredericks CLJ-1184: Don't compile [do ...] or #{do ...}
The compiler should only treat do as a special form when it is
in the call position of an ISeq, not a vector or set.

Signed-off-by: Stuart Halloway <>
@cldwalker cldwalker fix typos in docstrings and docs
Signed-off-by: Stuart Halloway <>
@mikera mikera Extend length of symbol detection
Signed-off-by: Stuart Halloway <>
@mikera mikera add test for non-declared-dynamic warnings (CLJ-1233)
Signed-off-by: Stuart Halloway <>
@scottlowe scottlowe CLJ-835 Refine doc string for defmulti :hierarchy option
Signed-off-by: fogus <>
Signed-off-by: Stuart Halloway <>
@fogus fogus CLJ-835: Refined language around defmulti hierarchies and removed exa…
…mples per RH's request

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-937: cl-format coerces ratio args for E,F,G directives to double …
…or BigDecimal

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1056: improves defprotocol error messages for no args and redefin…
…ed function

Signed-off-by: Stuart Halloway <>
@postspectacular postspectacular CLJ-766 align behavior of byte-array & short-array to use same route …
…via Number.xxxValue() and avoid ClassCastExceptions

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1083: better throwArity messages
Signed-off-by: Stuart Halloway <>
@tobias tobias Clear ThreadLocals when no longer needed [CLJ-1125]
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1076: Fix failing pprint tests on Windows
Signed-off-by: Stuart Halloway <>
Timothy Baldridge Var.invoke now calls Util.ret1
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1102: Improve handling of empty stack traces returned by .getStac…

Signed-off-by: Stuart Halloway <>
Hudson @ [maven-release-plugin] prepare release clojure-1.6.0-alpha1 4b9d084
Hudson @ [maven-release-plugin] prepare for next development iteration 9257ef6
Commits on Oct 31, 2013
@stuarthalloway stuarthalloway Revert "CLJ-1252 - fix bug in keyword regex that allowed keywords sta…
…rting with a number"

This reverts commit 39aa021.
Commits on Nov 07, 2013
@stuarthalloway stuarthalloway 1.6 changes, courtesy Alex Miller 234b0f7
@cgrand cgrand Fix a bug on persistent maps/sets when conjing on a collision node wh…
…ich underwent a transient modification.

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1285: add generative test for conj/disj/persistent/transient on sets
Signed-off-by: Stuart Halloway <>
Hudson @ [maven-release-plugin] prepare release clojure-1.6.0-alpha2 1a0bee8
Hudson @ [maven-release-plugin] prepare for next development iteration 8eb6e24
@stuarthalloway stuarthalloway disable broken test 5123c95
Commits on Nov 22, 2013
@stuarthalloway stuarthalloway Revert "Clear ThreadLocals when no longer needed [CLJ-1125]"
This reverts commit 6d1d9f6.
@puredanger puredanger Remove Alpha designation from many features.
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1264: Eliminate warnings when compiling with JDK 8
Signed-off-by: Stuart Halloway <>
@trptcolin trptcolin Make math commutative/correct for Long/MIN_VALUE
Signed-off-by: Stuart Halloway <>
@Bronsa Bronsa Fix CLJ-873 for EdnReader too, see 88cad25
This commit also removes now useless SLASH and CLOJURE_SLASH vars from LispReader

Signed-off-by: Stuart Halloway <>
@mpenet mpenet add file
Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-1118: Make == true for BigDecimals that differ only in scale
Signed-off-by: Stuart Halloway <>
@stuartsierra stuartsierra CLJ-1105: Support records in clojure.walk
Signed-off-by: Stuart Halloway <>
@netguy204 netguy204 let undeclared exceptions continue unchecked
The recent modifications regarding checked exceptions have
eliminated the need for several try/catch blocks. This
commit removes the blocks that no longer serve a purpose.

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-949: let more undeclared exceptions continue unchecked
This should be all of the remaining occurrences of sneakyThrow that
are no longer needed.  The remaining ones are necessary to avoid Java
compiler errors.

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-939: Change load/use/require exceptions to CompilerException
with file name, line number, and column number of the enclosing ns
form, if they were invoked due to an ns form.

Signed-off-by: Stuart Halloway <>
@Raynes Raynes CLJ-866: Provide a function for running specific tests with fixtures.
Adds a new function, test-vars, that takes vars and groups them by namespace and
then runs them with appropriate fixtures for the namespace those vars came
from. It allows vars from different namespaces to be run without mixing fixtures.

Signed-off-by: Stuart Halloway <>
@gfredericks gfredericks Test for CLJ-866
Signed-off-by: Stuart Halloway <>
@ska2342 ska2342 remove msecs from Ref.TVal
Signed-off-by: Stuart Halloway <>
@timmc timmc CLJ-827: Add bit-shift-right-logical
Signed-off-by: Gabriel Horner <>
Signed-off-by: Stuart Halloway <>
@cldwalker cldwalker rename shift-right-logical to unsigned-shift-right
also update :added version

Signed-off-by: Stuart Halloway <>
@cldwalker cldwalker add tests for unsigned-bit-shift-right and distinguishing test for bi…

Signed-off-by: Stuart Halloway <>
@jafingerhut jafingerhut CLJ-669: Use Java NIO to do file-to-file 8bd8e8d
Commits on Nov 23, 2013
@puredanger puredanger 1.6.0-alpha3 changelog update
Signed-off-by: Stuart Halloway <>
Hudson @ [maven-release-plugin] prepare release clojure-1.6.0-alpha3 2b7080e
Hudson @ [maven-release-plugin] prepare for next development iteration ea283da
Commits on Jan 11, 2014
@tobias tobias Clear ThreadLocals when no longer needed [CLJ-1125]
Clears transaction and dynamic binding thread locals to prevent memory
leaks when used inside a container. Uses a sentinel frame to prevent
the binding conveyance issues described in CLJ-1299.

Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-713 - upgrade ASM to 4.1.
Signed-off-by: Stuart Halloway <>
@devn devn Add record? via IRecord
Signed-off-by: Stuart Halloway <>
@puredanger puredanger CLJ-1190 - move clojure.api.API to add java…
…doc for clojure.lang, clojure.lang.IFn, add ant target to generate javadoc for the API.

Signed-off-by: Stuart Halloway <>
@mikera mikera CLJ-1082 - add generic ranged iterator for use by SubVectors and a fa…
…llback for cases where it cannot be applied

Signed-off-by: Stuart Halloway <>
Commits on Jan 26, 2014
@richhickey richhickey use hashcode in macrology of case, to match runtime 12646c6