Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
303 lines (244 sloc) 12.7 KB
List of prescreened patches for CLJ project
Date: March 21, 2013
Tickets marked with a "V" have been vetted, and "T" have been triaged
(an experimental marking for tickets by which a screener is suggesting
to Rich Hickey that it should become vetted).
Screeners: See Note 3 near the bottom of this message for the command
to use when applying patches. See Note 4 near the bottom for the
criteria to call a patch "prescreened".
This list of tickets is intended primarily for Clojure screeners and
committers. If you are a contributor looking for tickets that need
more work, look for the separate "Tickets needing work" list. Also
consider reading and evaluating the not-yet-screened patches below to
help out the screeners, adding your comments to the tickets in JIRA
with what you learned. You can also vote on tickets you want to see
Blocking bugs
One or more contributors consider these bugs to be blocking,
i.e. significant enough to warrant fixing before another release is
made, by saying so on clojure-dev. If someone from Clojure/core wants
to veto that status, let me know and I'll remove it from this part of
the report.
These are suggested changes to web pages, not patches to
<suggested in email> Remove now-obsolete and any links to it (RH said in 2009 that streams lost to chunked sequences)
Tickets that can be closed since a patch has been committed for them
Tickets that might be closable without any code changes
Some contributors believe that these tickets can be closed without any
code changes, perhaps because there was no bug in the first place, the
issue is obsolete, the problem was apparently fixed by some other
commit since the issue was created, etc.
Enhancements ideas for which it might be time to create a ticket
Is it OK to create a ticket for these now? (see Note 2 near the end)
Prescreened patches *not* marked with Fix Version/s = "Release 1.6"
Doc string fixes only:
V CLJ-1104 clj-1104-doc-unsafety-of-concurrent-with-redefs-v1.txt
CLJ-1143 clj-1143-ns-doc-string-correction-v1.txt
CLJ-1164 CLJ-1164-typos-instant.patch
Better error reporting:
CLJ-735 protocolerr.diff
CLJ-1030 improved-int-char-casting-error-messages.diff
V CLJ-1083 better-throw-arity-messages.diff
CLJ-1107 0001-CLJ-1107-Throw-exception-for-get-called-on-unsupport.patch
Debug/tooling enhancement:
CLJ-706 706-fix-deprecation-warnings-on-replicate.diff
This patch is only to eliminate some use of deprecated symbols.
706-deprecated-var-warning-patch-v2.txt is the patch that
implements the warnings when using deprecated symbols, but fails
tests when applied by itself. It needs test fixes in other
706-* patches and then they pass.
CLJ-713 asm-split.txt
This patch applies cleanly, but fails to compile with
'./ ; ant' due to some extra package dependencies
added by the patch. It did compile and test successfully as of
Mar 14, 2013 using the command 'mvn package'.
CLJ-840 clj840-2.diff
CLJ-849 CLJ-849-line-number-pesudo-variable.diff
V CLJ-1073 clj-1073-add-print-interruptibly-patch-v2.txt
CLJ-1076 clj-1076-fix-tests-on-windows-patch-v2.txt
CLJ-1088 0001-Add-support-for-protocol-fns-to-repl-source.-CLJ-1088.patch
CLJ-1112 0001-Allow-setting-loading-verbosely-by-system-property.patch
T CLJ-1161
CLJ-1165 0001-Protocol-interface-method-declarations-don-t-allow-f.patch
CLJ-1176 0001-CLJ-1176-Bind-read-eval-true-in-clojure.repl-source-.patch
Clojure language/library bug fixes:
CLJ-457 CLJ-457-2.diff
V CLJ-850 CLJ-850-conform-to-invokePrim.diff
T CLJ-944 0001-Fix-for-CLJ-944.patch
See comments for another patch 0002-Fix-for-CLJ-944.patch and
why it fails some tests, which are fixable.
CLJ-1029 ns-patch.diff
V CLJ-1036 clj-1036-hasheq-for-biginteger-patch-v2.txt
V CLJ-1059 001-clj-1059-make-persistentqueue-implement-list.diff
or 002-clj-1059-asequential-rebased-to-cached-hasheq.diff
CLJ-1074 0001-Read-Infinity-and-NaN.patch
CLJ-1077 thread-bound.diff
CLJ-1079 CLJ-1079.diff
V CLJ-1082 clj-1082.patch
V CLJ-1090 var-clear-locals.diff
CLJ-1093 clj-1093-fix-empty-record-literal-patch-v2.txt
CLJ-1101 CLJ-1101-make-default-data-reader-fn-set-able-in-REPL.patch
V CLJ-1102 clj-1102-improve-empty-stack-trace-handling-v1.txt
V CLJ-1125 threadlocal-removal-tcrawley-2012-12-11.diff
CLJ-1134 clj-1134-star-directive-in-cl-format.txt
CLJ-1137 CLJ-1137-eval-metadata-once.diff
T CLJ-1157 20130204_fix_classloader.diff
CLJ-1171 0002-CLJ-1171-Obey-lexical-scope-for-class-argument-in-in.patch
0001-* patch adds new tests, 0002-* fixes a bug, 0003-* relies
on 0002-* being applied before it.
CLJ-1175 delayed-exceptions.patch
CLJ-1177 clj-1177-patch-v1.txt
CLJ-1180 001-CLJ-1180.patch
CLJ-1182 fix-CLJ-1182.diff
Language enhancement, reducers:
CLJ-991 reducer-partition-by4.diff
CLJ-1045 clj-1045-fold-by-halves-patch-v2.txt
CLJ-1046 drop-while-reducer.patch
As of Oct 28 2012, some patches for CLJ-992 and CLJ-993 apply, build,
and test cleanly if applied after the patches for CLJ-1045 and
CLJ-1047 001-simplify-fj-importing.patch
CLJ-1049 0001-reduce-kv-transformations.diff
CLJ-1113 reductions-reducer.diff
CLJ-1185 CLJ-1181-v001.patch
Allow more correct-looking Clojure code to work:
CLJ-666 0001-Add-Big-support-to-Reflector-Updated.patch
CLJ-700 clj-700-patch6.txt
Was Screened, then Incomplete in Aug 2012, now Approval is empty.
CLJ-766 byte-short-array-ctors.diff
CLJ-1020 clj-1020-inspect-table-skip-nil-rows-patch1.txt
CLJ-1021 001-propagate-on-macro-meta.diff
CLJ-1044 001-enable-factory-ctor-inside-deftype.diff
CLJ-1060 list-star-fix.diff
CLJ-1086 thread-last-arity-1.diff
CLJ-1121 0001-CLJ-1121-Reimplement-and-without-recursion.patch
CLJ-1148 0001-new-defonce-hotness.patch
CLJ-1179 clj-1179-distinct-zero-arguments.txt
Language/library enhancement:
CLJ-107 clj-107-add-bit-count-v1.txt
CLJ-200 clj-200-cond-let-clauses-fixed-test-v2-patch.txt
CLJ-248 clj-248-SortedMap-SortedSet-interfaces-patch2.txt
CLJ-308 0001-Added-ClosableResource-protocol-for-with-open.patch
V CLJ-322 compile-interop-1.patch
Patch compile-interop-1.patch applies and builds cleanly.
Comment discussion on various approaches to this ticket are
CLJ-803 0001-atom-interface.patch
Both patches apply and build cleanly, iatom.patch using 'patch'
V CLJ-827 0001-add-unsigned-bit-shift-right.patch
or 0001-CLJ-827-Add-bit-shift-right-logical.patch
CLJ-865 updated.patch
V CLJ-866 clj-866-test-vars.patch
CLJ-970 clj-970-extend-implement-parameterized-types-patch2.txt
CLJ-978 clojure--bean-support-for-private-implementation-classes-v3.diff
CLJ-1004 arraychunk-seq-10004.diff
CLJ-1010 0001-CLJ-1010-Add-a-left-to-right-version-of-comp-comp.patch
CLJ-1094 0001-Add-zero-arity-variants-for-every-pred-and-some-fn.patch
CLJ-1095 0001-map-indexed-accepts-multiple-collections.patch
0002-Add-test-for-multi-collection-map-indexed-fn.patch includes
new tests
CLJ-1097 node-seq.diff
CLJ-1103 clj-1103-make-conj-assoc-dissoc-handle-args-similarly-v1.txt
CLJ-1108 clj-1108-enhance-future-call-patch-v2.txt
CLJ-1115 multi-arity-into.diff
CLJ-1120 0001-CLJ-1120-ex-message-ex-cause.patch
Performance enhancement:
CLJ-99 clj-99-min-key-max-key-performance-v1.txt
CLJ-703 improve-writeclassfile-perf.patch
CLJ-862 pmap-chunking-862.diff
CLJ-1080 clj-1080-eliminate-many-reflection-warnings-patch-v3.txt
CLJ-1087 clj-1087-diff-perf-enhance-patch-v1.txt
CLJ-1096 desctructure-keyword-lookup.diff
CLJ-1128 0002-Improve-merge-with.patch
Code cleanup:
CLJ-842 clj-842-update-clojure.pprint-metadata-v2.txt
CLJ-1151 tiny-reducers-cleanup.diff
Prescreened patches that are marked with Fix Version/s = "Release
1.6", but not screened
Clojure language/library bug fixes:
CLJ-935 fix-trim-fns-different-whitespace-patch.txt
CLJ-937 cl-format-efg-coerce-ratios-to-doubes-patch1.txt
CLJ-1160 lazy-rmapcat.diff
Language/library enhancement:
CLJ-394 clj-394-add-predicates-for-type-and-record.diff
CLJ-949 0001-let-undeclared-exceptions-continue-unchecked.patch
Performance enhancement:
CLJ-669 0001-use-java.nio-in-do-copy-method-for-Files.patch
CLJ-858 stm-rm-msecs-patch.diff
CLJ-1005 0001-Use-transient-map-in-zipmap.2.patch
Prescreened, and screened or accepted
Doc string fixes only:
S CLJ-196 0002-Don-t-promise-the-value-of-file-in-the-REPL.patch
Debug/tooling enhancement:
S CLJ-896 clj-896-browse-url-uses-xdg-open-patch2.txt
S CLJ-908 clj-908-Print-metadata-and-anonymous-classes-better-patch2.txt
S CLJ-1099 better-error-message-for-seq.patch
Clojure language/library bug fixes:
S CLJ-783 clj-783-patch.txt
S CLJ-863 clj-863-make-interleave-handle-odd-args-like-concat-patch-v1.txt
Allow more correct-looking Clojure code to work:
S CLJ-1018 inconsistent_range_fix.diff
Language/library enhancement:
S CLJ-873 clj-873-namespace-divides-patch.txt
Code cleanup:
S CLJ-1072 0001-CLJ-1072-Replace-old-metadata-reader-macro-syntax.patch
(Note 1) Warnings/errors explicitly allowed in output of 'ant' command
The following warning lines are explicitly allowed in the output of
Oracle JDK 1.7.0:
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5
(Note 2) Rich Hickey requested that enhancements have a wiki page
created for them before any ticket is created.
(Note 3) As documented in the "Screening Tickets" section of the JIRA
Workflow wiki page at, please use the
following command to apply git format patches:
% git am --keep-cr -s --ignore-whitespace < patch_file
Some Clojure source files contain CR/LF endings, and applying such
patches without the --keep-cr option fails with many such patches.
Some patches will produce warnings when applied, but if they have been
prescreened, they did not produce any errors when the command above
was used with the latest Clojure master as of the date of this report.
(Note 4) Prescreened means:
* The patch is in git format.
* All authors listed in the patch have signed a CA.
* Patch applies cleanly to latest master as of the date of the report
with all of the OS/JDK combos listed below:
Mac OS X 10.6.8 + Oracle/Apple JDK 1.6.0_43 64-bit
Ubuntu 12.04.2 64-bit + Oracle JDK 1.6.0_41 64-bit
Ubuntu 12.04.2 64-bit + Oracle JDK 1.7.0_15 64-bit
* After applying the patch, the command "./ ; ant" compiles
and passes all tests without warnings or errors (see Note 1 near the
end for a short list of allowed warnings).
The conditions above are straightforward to automate, and have been
automated. The patch might still be a bad idea for many reasons,
e.g. it doesn't really fix the problem, there wasn't a problem that
needed fixing to begin with, it isn't backwards compatible with
existing Clojure code, it contains bad spelling/grammar in doc
strings, etc., etc.
Jump to Line
Something went wrong with that request. Please try again.