Tickets needing work for CLJ project Date: July 19, 2015 If you are a Clojure contributor, the tickets below could use some work. Some are easy, some are not. If you've never added a patch before, or want a refresher on the mechanics, see (Note 1) near the bottom. Keep reading below for a list of tickets that: (a) have patches, but they need updating, or (b) don't have patches, but are vetted, triaged, or are marked for Release 1.8 of Clojure The first letter on each patch summary line indicates the Approval of the ticket: "T" for Triaged, "V" for Vetted, etc. After the ticket id (CLJ-) is the state of the ticket. See the JIRA workflow diagram for details: http://dev.clojure.org/display/community/JIRA+workflow For a list of all tickets that don't have any patches, see (Note 2) near the bottom. Another way to help is to try out, read, review, comment on, and vote for existing patches. See the separate "List of prescreened patches" for those. ---------------------------------------------------------------------- Tickets with prescreened patches, but they may need work, since the ticket is marked Incomplete (I). ---------------------------------------------------------------------- Clojure language/library bug fixes: I CLJ-1093 Incomplete 0001-CLJ-1093-v2.patch I CLJ-1152 Incomplete protocol_multifn_weak_ref_cache.diff I CLJ-1322 Incomplete doseq.patch I CLJ-1544 Incomplete 0001-CLJ-1544-force-reloading-of-namespaces-during-AOT-co-v3.patch I CLJ-1620 Incomplete clj-1620-v5.patch I CLJ-1741 Incomplete 0001-CLJ-1714-Don-t-load-AOT-class-when-compiling-already.patch Language/library enhancement: I CLJ-1449 Incomplete add_functions_to_strings-4.patch ---------------------------------------------------------------------- Tickets marked for Clojure Release 1.8 that have no prescreened patches (see also Note 3 at the bottom): ---------------------------------------------------------------------- V 5 [CLJ-1610] Unrolled small maps I 3 [CLJ-787] transient blows up when passed a vector created by subvec I 0 [CLJ-1161] sources jar has bad versions.properties resource I 0 [CLJ-1400] Error "Can't refer to qualified var that doesn't exist" should name the bad symbol I 0 [CLJ-1773] Support for REPL commands for tooling V 0 [CLJ-1781] Tuples don't extend IKVReduce ---------------------------------------------------------------------- Tickets needing work that have no prescreened patches. These are all Triaged (T), Vetted (V), or Incomplete (I). The number after the letter is the number of votes, and tickets have been sorted from most to fewest votes. ---------------------------------------------------------------------- V 20 [CLJ-322] Enhance AOT compilation process to emit classfiles only for explicitly-specified namespaces T 15 [CLJ-1298] Add more type predicate fns to core T 13 [CLJ-1107] 'get' should throw exception on non-Associative argument T 11 [CLJ-1527] Clarify and align valid symbol and keyword rules for Clojure (and edn) T 9 [CLJ-1278] State function's unmunged full name in compiled function's toString() T 7 [CLJ-440] java method calls cannot omit varargs T 6 [CLJ-1239] faster, more flexible dispatch for clojure.walk T 6 [CLJ-1255] Support Abstract Base Classes with Java-only variant of "reify" T 6 [CLJ-1454] Add a swap! that returns old value T 5 [CLJ-1074] Read/print round-trip for +/-Infinity and NaN V 5 [CLJ-1553] Parallel transduce T 4 [CLJ-1149] Unhelpful error message from :use (and use function) when arguments are malformed T 4 [CLJ-1293] Portable "catch-all" mechanism V 3 [CLJ-445] Method/Constructor resolution does not factor in widening conversion of primitive args T 3 [CLJ-825] Protocol implementation inconsistencies when overloading arity T 3 [CLJ-1591] Symbol not being bound in namespace when name clashes with clojure.core T 3 [CLJ-1743] Avoid compile-time static initialization of classes when using inheritance V 2 [CLJ-274] cannot close over mutable fields (in deftype) V 2 [CLJ-731] Create macro to variadically unroll a combinator function definition T 2 [CLJ-888] defprotocol should throw error when signatures include variable number of parameters T 1 [CLJ-1403] ns-resolve might throw ClassNotFoundException but should return nil T 1 [CLJ-1416] Support transients in gvec V 0 [CLJ-5] Unintuitive error response in clojure 1.0 V 0 [CLJ-47] GC Issue 43: Dead code in generated bytecode V 0 [CLJ-69] GC Issue 66: Add "keyset" to Clojure; make .keySet for APersistentMap return IPersistentSet V 0 [CLJ-84] GC Issue 81: compile gen-class fail when class returns self V 0 [CLJ-211] Support arbitrary functional destructuring via -> and ->> V 0 [CLJ-250] debug builds V 0 [CLJ-291] (take-nth 0 coll) redux... V 0 [CLJ-326] add :as-of option to refer V 0 [CLJ-346] (pprint-newline :fill) is not handled correctly V 0 [CLJ-348] reify allows use of qualified name as method parameter T 0 [CLJ-704] range function has missing documentation V 0 [CLJ-771] Move unchecked-prim casts to clojure.unchecked V 0 [CLJ-992] `iterate` reducer T 0 [CLJ-1401] CompilerException / IllegalStateException when overriding vars V 0 [CLJ-1420] ThreadLocalRandom instead of Math/random T 0 [CLJ-1456] The compiler ignores too few or too many arguments to throw T 0 [CLJ-1460] Clojure transforms literals of custom IPersistentCollections not created via deftype/defrecord to their generic clojure counterpart T 0 [CLJ-1461] print-dup is broken for some clojure collections T 0 [CLJ-1492] PersistentQueue objects are improperly eval'd and compiled T 0 [CLJ-1509] Some clojure namespaces not AOT-compiled and included in the clojure jar T 0 [CLJ-1516] Throw an exception if def name contains a dot T 0 [CLJ-1542] Docstring for deliver should describe its return value V 0 [CLJ-1551] Consider transducer support for primitives V 0 [CLJ-1552] Consider kv support for transducers (similar to reducers fold) T 0 [CLJ-1579] source-fn can fail due to reading namespace-aliased keywords while in another namespace context T 0 [CLJ-1585] Report boxed math warning on function that boxes primitive return value T 0 [CLJ-1629] Improve error message when defn form omits parameter declaration T 0 [CLJ-1643] Generative test for sequence implementations T 0 [CLJ-1676] map destructuring: prevent evaluation of values in :or when they are not used/needed T 0 [CLJ-1678] Update failing tests for IBM JDK 1.7 and 1.8 T 0 [CLJ-1680] quot and rem handle doubles badly T 0 [CLJ-1682] clojure.set/intersection occasionally allows non-set arguments. T 0 [CLJ-1693] into: merge metadata T 0 [CLJ-1708] Volatile mutable in deftype is not settable when using try..finally and returning this T 0 [CLJ-1732] Add docstring explanation of (isa? [x1 x2...] [parent1 parent2...]) T 0 [CLJ-1750] There should be a way to observe platform features at runtime T 0 [CLJ-1752] realized? return true for an instance that is not IPending T 0 [CLJ-1764] partition-by runs infinite loop when one element of infinite partition is accessed T 0 [CLJ-1766] Serializing+deserializing lists breaks their hash T 0 [CLJ-1768] quote of an empty lazyseq produces an error when evaled T 0 [CLJ-1771] Support for multiple key(s)-value pairs in assoc-in ---------------------------------------------------------------------- Tickets not fitting in previous categories, but they have a git format patch that applies cleanly to latest Clojure master, written by a contributor, and it does not build and pass tests. ---------------------------------------------------------------------- Doc string fixes only: CLJ-1002 Open document_chunk_fns_v2.patch Clojure language/library bug fixes: CLJ-1575 Open 0001-Test-for-analyzer-bug-CLJ-1575.patch ---------------------------------------------------------------------- (Note 1) Read the documentation under the headings "Coding", "Adding patches", "Removing patches", and "Updating stale patches" on this page: http://dev.clojure.org/display/community/Developing+Patches (Note 2) There are usually over 100 tickets matching a JIRA filter called "Needs a Patch (all)". To see them, go to this link: http://dev.clojure.org/jira/secure/ManageFilters.jspa#filterView=search In the box labeled Author, type in Andy Fingerhut. Click on the choice that pops up and the contents should change to my user account name, jafingerhut. Click on the Search button at the bottom. Then click on the filter called "Needs a Patch (all)". You can subscribe to the filter, after which it should show up in your list of filters under the Issues menu on this page: http://dev.clojure.org/jira/browse/CLJ Most "Needs a Patch" tickets have no patches attached. If it does have a patch, then its Patch attribute needs to be changed. Read the documentation on adding patches at the link in (Note 1) above. Some of the older tickets have links to patches in the old Assembla ticket system. If you add an attachment to the JIRA ticket, my automated patch prescreening code will pick it up the next time I run it (about once every week or two). (Note 3) To see a JIRA filter matching tickets that are marked for Release 1.6, but are not marked as having a patch, follow the instructions for Note 2, except the filter name is "Needs a patch for Release 1.6"