<!--
RSS generated by JIRA (4.4#649-r158309) at Tue May 21 13:41:18 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+CLJ+AND+resolution+%3D+Unresolved+AND+priority+%3D+Trivial+ORDER+BY+key+DESC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://dev.clojure.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Clojure JIRA</title>
        <link>http://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+CLJ+AND+resolution+%3D+Unresolved+AND+priority+%3D+Trivial+ORDER+BY+key+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="23" total="23"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[CLJ-1209] Teach clojure.test reporting about ex-info/ex-data</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1209</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;When clojure.test/deftest does error reports on unexpected exceptions it currently ignores ExceptionInfo and the valuable ex-data it carries. So this patch simple prints this data, it might be helpful to pprint or format it in another way but this was good enough for me.&lt;/p&gt;

&lt;p&gt;See example from my tests: &lt;a href=&quot;https://gist.github.com/thheller/5559391&quot;&gt;https://gist.github.com/thheller/5559391&lt;/a&gt;&lt;/p&gt;
</description>
                <environment></environment>
            <key id="16182">CLJ-1209</key>
            <summary>Teach clojure.test reporting about ex-info/ex-data</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="thheller">Thomas Heller</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 May 2013 04:12:35 -0500</created>
                <updated>Sat, 11 May 2013 04:12:35 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11989" name="clj-test-print-ex-data.diff" size="1313" author="thheller" created="Sat, 11 May 2013 04:12:35 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1192] vec function is substantially slower than into function</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1192</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;&lt;tt&gt;(vec coll)&lt;/tt&gt; and &lt;tt&gt;(into [] coll)&lt;/tt&gt; do exactly the same thing. However, due to &lt;tt&gt;into&lt;/tt&gt; using transients, it is substantially faster. On my machine:&lt;/p&gt;

&lt;p&gt;(time (dotimes &lt;span class=&quot;error&quot;&gt;&amp;#91;_ 100&amp;#93;&lt;/span&gt; (vec (range 100000))))&lt;br/&gt;
&quot;Elapsed time: 732.56 msecs&quot;&lt;/p&gt;

&lt;p&gt;(time (dotimes &lt;span class=&quot;error&quot;&gt;&amp;#91;_ 100&amp;#93;&lt;/span&gt; (into [] (range 100000))))&lt;br/&gt;
&quot;Elapsed time: 491.411 msecs&quot;&lt;/p&gt;

&lt;p&gt;This is consistently repeatable.&lt;/p&gt;

&lt;p&gt;Since &lt;tt&gt;vec&lt;/tt&gt;&apos;s sole purpose is to transform collections into vectors, it should do so at the maximum speed available.&lt;/p&gt;</description>
                <environment></environment>
            <key id="16129">CLJ-1192</key>
            <summary>vec function is substantially slower than into function</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="lvanderhart">Luke VanderHart</reporter>
                        <labels>
                    </labels>
                <created>Sat, 6 Apr 2013 14:06:22 -0500</created>
                <updated>Sun, 7 Apr 2013 17:50:41 -0500</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30903" author="jafingerhut" created="Sun, 7 Apr 2013 17:50:41 -0500"  >&lt;p&gt;I am pretty sure that Clojure 1.5.1 also uses transient vectors for (vec (range n)) (probably also some earlier versions of Clojure, too).&lt;/p&gt;

&lt;p&gt;Look at vec in core.clj.  It checks whether its arg is a java.util.Collection, which lazy seqs are, so calls (clojure.lang.LazilyPersistentVector/create coll).&lt;/p&gt;

&lt;p&gt;LazilyPersistentVector&apos;s create method checks whether its argument is an ISeq, which lazy seqs are, so it calls PersistentVector.create(RT.seq(coll)).&lt;/p&gt;

&lt;p&gt;All 3 of PersistentVector&apos;s create() methods use transient vectors to build up the result.&lt;/p&gt;

&lt;p&gt;I suspect the difference in run times are not because of transients or not, but because of the way into uses reduce, and perhaps may also have something to do with the perhaps-unnecessary call to RT.seq in LazilyPersistentVector&apos;s create method (in this case, at least &amp;#8211; it is likely needed for other types of arguments).&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1184] Evaling #{do ...} or [do ...] is treated as the do special form</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1184</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Evaluating a persistent collection for which the function &apos;first&apos; returns the symbol &apos;do&apos; leads to that collection being treated as the do special form, even though it may be a vector or even a set. IMHO, the expected result would be to report that &apos;do&apos; cannot be resolved. For the cause, see the if condition on line 6604 of Compiler.java in clojure-1.5.1.&lt;/p&gt;

&lt;p&gt;E.g.:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;do 1 2&amp;#93;&lt;/span&gt;&lt;br/&gt;
;=&amp;gt; 2&lt;/p&gt;

&lt;p&gt;#{&quot;hello&quot; &quot;goodbye&quot; do}&lt;br/&gt;
;=&amp;gt; &quot;hello&quot;&lt;br/&gt;
; Wat?&lt;/p&gt;</description>
                <environment></environment>
            <key id="16093">CLJ-1184</key>
            <summary>Evaling #{do ...} or [do ...] is treated as the do special form</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="jirkamarsik">Ji&#345;&#237; Mar&#353;&#237;k</reporter>
                        <labels>
                        <label>Compiler</label>
                        <label>bug</label>
                    </labels>
                <created>Sat, 16 Mar 2013 08:56:32 -0500</created>
                <updated>Fri, 12 Apr 2013 09:42:02 -0500</updated>
                                    <version>Release 1.5</version>
                                <fixVersion>Release 1.6</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10003">Vetted</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1167] repl value of *file* is &quot;NO_SOURCE_PATH&quot;, of *source-path* is &quot;NO_SOURCE_FILE&quot;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1167</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="16020">CLJ-1167</key>
            <summary>repl value of *file* is &quot;NO_SOURCE_PATH&quot;, of *source-path* is &quot;NO_SOURCE_FILE&quot;</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="marick">Brian Marick</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Feb 2013 16:22:10 -0600</created>
                <updated>Tue, 19 Feb 2013 16:22:52 -0600</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30620" author="marick" created="Tue, 19 Feb 2013 16:22:52 -0600"  >&lt;p&gt;Forgot to mention: I think it&apos;s intended to be the other way around, given the names.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1164] typos in instant.clj</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1164</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;There are a few typographical mistakes in instant.clj.&lt;/p&gt;</description>
                <environment></environment>
            <key id="16010">CLJ-1164</key>
            <summary>typos in instant.clj</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="steveminer@gmail.com">Steve Miner</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Feb 2013 11:59:36 -0600</created>
                <updated>Fri, 10 May 2013 12:48:26 -0500</updated>
                                    <version>Release 1.4</version>
                <version>Release 1.5</version>
                                <fixVersion>Release 1.6</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30598" author="steveminer@gmail.com" created="Thu, 14 Feb 2013 12:01:17 -0600"  >&lt;p&gt;Fixes a couple of typos.  No code changes.&lt;/p&gt;</comment>
                    <comment id="31078" author="cldwalker" created="Fri, 10 May 2013 11:25:20 -0500"  >&lt;p&gt;For anyone wondering about the UTC change see &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-928&quot; title=&quot;instant literal for Date and Timestamp should print in UTC&quot;&gt;&lt;del&gt;CLJ-928&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11858" name="CLJ-1164-typos-instant.patch" size="1618" author="steveminer@gmail.com" created="Thu, 14 Feb 2013 12:01:17 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10004">Screened</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1151] Minor Code Cleanup in core.reducers: use required walk, drop this for coll</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1151</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;First, core.reducers requires clojure.walk :as walk, but does not use the alias.  &lt;br/&gt;
Second, the two arity implementation of coll-reduce in function reducer uses &apos;this&apos;, whereas similar implementations in that file use &apos;coll&apos;.  AFAICT it makes no difference to use &apos;coll&apos; (all tests pass, no change in performance) and it is more in line with the rest of the code.&lt;/p&gt;

&lt;p&gt;The two things seem small enough to be put into one cleanup case.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15972">CLJ-1151</key>
            <summary>Minor Code Cleanup in core.reducers: use required walk, drop this for coll</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="ska2342">Stefan Kamphausen</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Jan 2013 16:43:30 -0600</created>
                <updated>Mon, 21 Jan 2013 16:43:30 -0600</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11810" name="tiny-reducers-cleanup.diff" size="1172" author="ska2342" created="Mon, 21 Jan 2013 16:43:30 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1146] Symbol name starting with digits to defn throws &quot;Unmatched delimiter )&quot;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1146</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;When trying to use an invalid symbol name when defining a function, the error message thrown is a confusing and wrong one. The error message is &quot;RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:219)&quot;, which unfortunately is the only message seen in nrepled emacs.&lt;/p&gt;

&lt;p&gt;$ java -jar clojure-1.5.0-RC2.jar&lt;br/&gt;
Clojure 1.5.0-RC2&lt;br/&gt;
user=&amp;gt; (defn 45fn [] nil)&lt;br/&gt;
NumberFormatException Invalid number: 45fn  clojure.lang.LispReader.readNumber (LispReader.java:255)&lt;br/&gt;
[]&lt;br/&gt;
nil&lt;br/&gt;
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:219)&lt;/p&gt;

&lt;p&gt;Expected:&lt;br/&gt;
When trying to (defn or (def a thing with a non valid symbol name, the last thrown error message should be one stating that the given symbol name is not a valid one.&lt;/p&gt;</description>
                <environment>$java -jar clojure-1.5.0-RC2.jar&lt;br/&gt;
&lt;br/&gt;
$java -version&lt;br/&gt;
java version &amp;quot;1.6.0_37&amp;quot;&lt;br/&gt;
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-10M3909)&lt;br/&gt;
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)&lt;br/&gt;
Mac OS X:&lt;br/&gt;
System Version: Mac OS X 10.6.8 (10K549)&lt;br/&gt;
Kernel Version: Darwin 10.8.0&lt;br/&gt;
</environment>
            <key id="15961">CLJ-1146</key>
            <summary>Symbol name starting with digits to defn throws &quot;Unmatched delimiter )&quot;</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="claj">Linus Ericsson</reporter>
                        <labels>
                        <label>reader</label>
                    </labels>
                <created>Sun, 13 Jan 2013 15:41:03 -0600</created>
                <updated>Sun, 13 Jan 2013 15:41:03 -0600</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1143] Minor correction to doc string of ns macro</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1143</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The doc string of ns says &quot;If :refer-clojure is not used, a default (refer &apos;clojure) is used.&quot;  &apos;clojure should be replaced with &apos;clojure.core&lt;/p&gt;

&lt;p&gt;Clojure group thread: &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/clojure/rDjZodxOMh8&quot;&gt;https://groups.google.com/forum/?fromgroups=#!topic/clojure/rDjZodxOMh8&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="15954">CLJ-1143</key>
            <summary>Minor correction to doc string of ns macro</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="jafingerhut">Andy Fingerhut</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jan 2013 13:32:17 -0600</created>
                <updated>Fri, 10 May 2013 12:30:41 -0500</updated>
                                    <version>Release 1.6</version>
                                <fixVersion>Release 1.6</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="30416" author="jafingerhut" created="Thu, 10 Jan 2013 13:34:23 -0600"  >&lt;p&gt;clj-1143-ns-doc-string-correction-v1.txt dated Jan 10 2013 replaces (refer &apos;clojure) with (refer &apos;clojure.core) in the doc string of the ns macro.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11800" name="clj-1143-ns-doc-string-correction-v1.txt" size="918" author="jafingerhut" created="Thu, 10 Jan 2013 13:34:23 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10004">Screened</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1115] multi arity into</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1115</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Any reason why into isn&apos;t multi arity?&lt;/p&gt;

&lt;p&gt;(into to &amp;amp; froms) =&amp;gt; (reduce into to froms)&lt;/p&gt;


&lt;p&gt;(into #{} &lt;span class=&quot;error&quot;&gt;&amp;#91;3 3 4&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;2 1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;a&amp;quot;&amp;#93;&lt;/span&gt;) looks better than (reduce into #{} [&lt;span class=&quot;error&quot;&gt;&amp;#91;3 3 4&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;2 1&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;a&amp;quot;&amp;#93;&lt;/span&gt;])&lt;/p&gt;</description>
                <environment></environment>
            <key id="15854">CLJ-1115</key>
            <summary>multi arity into</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="yongqli">Yongqian Li</reporter>
                        <labels>
                    </labels>
                <created>Sun, 25 Nov 2012 07:50:56 -0600</created>
                <updated>Sun, 9 Dec 2012 07:39:55 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="30051" author="halgari" created="Tue, 27 Nov 2012 11:25:46 -0600"  >&lt;p&gt;Seems to be a valid enhancement. I can&apos;t see any issues we&apos;d have with it. Vetted. &lt;/p&gt;</comment>
                    <comment id="30090" author="halgari" created="Thu, 29 Nov 2012 14:06:44 -0600"  >&lt;p&gt;Added patch &amp;amp; test. This patch retains the old performance characteristics of into in the case that there is only one collection argument. For example: (into [] &lt;span class=&quot;error&quot;&gt;&amp;#91;1 2 3&amp;#93;&lt;/span&gt;) . &lt;/p&gt;

&lt;p&gt;Since the multi-arity version will be slightly slower, I opted to provide it as a second body instead of unifying both into a single body. If someone has a problem with this, I can rewrite the patch. At least this way, into won&apos;t get slower. &lt;/p&gt;</comment>
                    <comment id="30195" author="richhickey" created="Sun, 9 Dec 2012 07:39:55 -0600"  >&lt;p&gt;This is a good example of an idea for an enhancement I haven&apos;t approved, and thus is not yet vetted.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11726" name="multi-arity-into.diff" size="3156" author="halgari" created="Thu, 29 Nov 2012 14:06:44 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1095] Allow map-indexed to accept multiple collections (a la map)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1095</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Bring external interface of map-indexed in line with map. Existing usages of map-indexed unchanged both in implementation and interface.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;examples&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(map vector (range 10 20) (range 30 35)) ;=&amp;gt; ([10 30] [11 31] [12 32] [13 33] [14 34])
(map-indexed vector (range 10 20) (range 30 35)) ;=&amp;gt; ([0 10 30] [1 11 31] [2 12 32] [3 13 33] [4 14 34])&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The attached patch is not necessarily the best implementation (I haven&apos;t benchmarked it or tried any alternatives yet) but hopefully enough to start a conversation about whether this is an addition that is warranted. I know I wished for this behavior a few weeks ago though I ended up finding another way.&lt;/p&gt;

&lt;p&gt;(I haven&apos;t sent my CA yet, but I have it signed and ready to send in the next few days)&lt;/p&gt;</description>
                <environment></environment>
            <key id="15784">CLJ-1095</key>
            <summary>Allow map-indexed to accept multiple collections (a la map)</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="bjeanes">Bo Jeanes</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Oct 2012 16:30:01 -0500</created>
                <updated>Thu, 8 Nov 2012 14:58:13 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="29802" author="aaron" created="Thu, 25 Oct 2012 17:11:09 -0500"  >&lt;p&gt;Can you add a test for the improved functionality?&lt;/p&gt;</comment>
                    <comment id="29803" author="bjeanes" created="Thu, 25 Oct 2012 17:20:56 -0500"  >&lt;p&gt;You bet. I tried to before submitting this but found no existing tests for map-indexed to expand upon. Given that, I decided to just start the conversation first. If you think this is a good addition, I&apos;ll find a place to stick the tests and add a new patch file.&lt;/p&gt;</comment>
                    <comment id="29804" author="bjeanes" created="Thu, 25 Oct 2012 20:05:14 -0500"  >&lt;p&gt;Add two unit tests for &lt;tt&gt;map-indexed&lt;/tt&gt;. One tests old behavior (single collection) and the second tests mapping across 3 collections. &lt;/p&gt;

&lt;p&gt;There were no existing tests for &lt;tt&gt;map-indexed&lt;/tt&gt; that I could see to expand upon (using &lt;tt&gt;git grep map-indexed src/clojure&lt;/tt&gt;)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11615" name="0001-map-indexed-accepts-multiple-collections.patch" size="2422" author="bjeanes" created="Thu, 25 Oct 2012 16:30:01 -0500" />
                    <attachment id="11616" name="0002-Add-test-for-multi-collection-map-indexed-fn.patch" size="924" author="bjeanes" created="Thu, 25 Oct 2012 20:05:14 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1088] repl/source could support protocol functions</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1088</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;user=&amp;gt; (source clojure.core.protocols/coll-reduce)
Source not found&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But since the protocol fn&apos;s var&apos;s metadata points to the protocol var, and the protocol var knows the file and line where it was defined, it would be trivial to improve &apos;source&apos; to look like this:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;user=&amp;gt; (source clojure.core.protocols/coll-reduce)
(defprotocol CollReduce
  &quot;Protocol &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; collection types that can implement reduce faster than
  first/next recursion. Called by clojure.core/reduce. Baseline
  implementation defined in terms of Iterable.&quot;
  (coll-reduce [coll f] [coll f val]))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="15763">CLJ-1088</key>
            <summary>repl/source could support protocol functions</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="chouser@n01se.net">Chouser</reporter>
                        <labels>
                    </labels>
                <created>Sun, 21 Oct 2012 09:53:35 -0500</created>
                <updated>Sun, 21 Oct 2012 12:41:12 -0500</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="29737" author="chouser@n01se.net" created="Sun, 21 Oct 2012 10:00:50 -0500"  >&lt;p&gt;Add one-line patch to clojure.repl/source so that it will find the protocol definition for a given protocol function.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11592" name="0001-Add-support-for-protocol-fns-to-repl-source.-CLJ-1088.patch" size="1965" author="chouser@n01se.net" created="Sun, 21 Oct 2012 10:00:50 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1078] Added queue, queue* and queue? to clojure.core</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1078</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This patch adds functions for PersistentQueue. queue, queue? and queue* match the list functions of the same naming conventions. Patches include updates to tests. &lt;/p&gt;</description>
                <environment></environment>
            <key id="15723">CLJ-1078</key>
            <summary>Added queue, queue* and queue? to clojure.core</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="halgari">Timothy Baldridge</reporter>
                        <labels>
                        <label>data-structures</label>
                        <label>queue</label>
                    </labels>
                <created>Wed, 26 Sep 2012 23:38:59 -0500</created>
                <updated>Sat, 6 Apr 2013 08:06:15 -0500</updated>
                                    <version>Release 1.5</version>
                                                        <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="29551" author="jafingerhut" created="Fri, 28 Sep 2012 08:43:06 -0500"  >&lt;p&gt;Timothy, I tried applying both of these Sep 26, 2012 patches to latest Clojure master as of that date.  I had to apply 0001-make-PersistentQueue-ctor-public.patch by hand since it failed to apply using git or patch.  It built fine, but failed to pass several of the Clojure tests.  Have you looked into those test failures to see if you can find the cause and fix them?  I tested on Ubuntu 11.10 with Oracle JDK 1.6 and 1.7, and saw similar failures with both.&lt;/p&gt;</comment>
                    <comment id="29817" author="halgari" created="Fri, 26 Oct 2012 17:23:06 -0500"  >&lt;p&gt;Fixed the patch. Tests pass, created the patch, applied it to a different copy of the source and the tests still pass. So this new patch should be good to go.&lt;/p&gt;</comment>
                    <comment id="29818" author="jafingerhut" created="Fri, 26 Oct 2012 17:43:43 -0500"  >&lt;p&gt;Timothy, I&apos;m not sure how you are getting successful results when applying this patch.  Can you try the steps below and see what happens for you?  I get errors trying to apply the patch with latest Clojure master as of Oct 26, 2012.  Also please use the steps on the JIRA workflow page to create a git format patch (&lt;a href=&quot;http://dev.clojure.org/display/design/JIRA+workflow&quot;&gt;http://dev.clojure.org/display/design/JIRA+workflow&lt;/a&gt; under &quot;Development&quot; heading).&lt;/p&gt;

&lt;p&gt;% git clone git://github.com/clojure/clojure.git&lt;br/&gt;
% cd clojure&lt;br/&gt;
% patch -p1 &amp;lt; queues.patch&lt;br/&gt;
patching file src/clj/clojure/core.clj&lt;br/&gt;
patching file src/jvm/clojure/lang/PersistentQueue.java&lt;br/&gt;
Hunk #1 FAILED at 32.&lt;br/&gt;
1 out of 1 hunk FAILED &amp;#8211; saving rejects to file src/jvm/clojure/lang/PersistentQueue.java.rej&lt;br/&gt;
patching file test/clojure/test_clojure/data_structures.clj&lt;br/&gt;
Hunk #1 succeeded at 123 with fuzz 2.&lt;br/&gt;
Hunk #2 succeeded at 861 with fuzz 2.&lt;br/&gt;
Hunk #3 FAILED at 872.&lt;br/&gt;
1 out of 3 hunks FAILED &amp;#8211; saving rejects to file test/clojure/test_clojure/data_structures.clj.rej&lt;br/&gt;
patching file test/clojure/test_clojure/java_interop.clj&lt;/p&gt;</comment>
                    <comment id="29821" author="halgari" created="Fri, 26 Oct 2012 18:08:27 -0500"  >&lt;p&gt;I was using git apply. I tried the method you show above, and now I&apos;m seeing the same issues you show above. &lt;/p&gt;</comment>
                    <comment id="29822" author="jafingerhut" created="Fri, 26 Oct 2012 18:26:54 -0500"  >&lt;p&gt;Just so you know, the preferred way to create and apply patches are the &quot;git format-patch master --stdout &amp;gt; patch.txt&quot; to create a patch (after doing the branching commands described on the JIRA workflow page to create a branch for your changes), and the &quot;git am --keep-cr -s &amp;lt; patch.txt&quot; to apply a patch.  If a patch was created that way and applies cleanly with that command, then you are definitely good to go.&lt;/p&gt;

&lt;p&gt;The &quot;patch -p1 &amp;lt; patch.txt&quot; command is just a secondary method sometimes used to try to apply patches that aren&apos;t in the format produced above, or have errors when applying using that method.&lt;/p&gt;</comment>
                    <comment id="29824" author="halgari" created="Fri, 26 Oct 2012 21:15:43 -0500"  >&lt;p&gt;Just so you know, the preferred way to create and apply patches are the &quot;git format-patch master --stdout &amp;gt; patch.txt&quot; to create a patch (after doing the branching commands described on the JIRA workflow page to create a branch for your changes), and the &quot;git am --keep-cr -s &amp;lt; patch.txt&quot; to apply a patch. If a patch was created that way and applies cleanly with that command, then you are definitely good to go.&lt;/p&gt;

&lt;p&gt;The &quot;patch -p1 &amp;lt; patch.txt&quot; command is just a secondary method sometimes used to try to apply patches that aren&apos;t in the format produced above, or have errors when applying using that method.&lt;/p&gt;</comment>
                    <comment id="29825" author="halgari" created="Fri, 26 Oct 2012 21:16:07 -0500"  >&lt;p&gt;added patch&lt;/p&gt;</comment>
                    <comment id="29826" author="jafingerhut" created="Fri, 26 Oct 2012 21:37:45 -0500"  >&lt;p&gt;That one applies cleanly and passes all tests.  It should show up on the next list of prescreened patches.  Thanks.&lt;/p&gt;</comment>
                    <comment id="30086" author="richhickey" created="Thu, 29 Nov 2012 09:54:51 -0600"  >&lt;p&gt;we don&apos;t use the queue* convention elsewhere, e.g. vec and vector. I think queue should take a collection like vec and set. (queue &lt;span class=&quot;error&quot;&gt;&amp;#91;1 2 3&amp;#93;&lt;/span&gt;) could be made to &apos;adopt&apos; the collection as front.&lt;/p&gt;</comment>
                    <comment id="30215" author="jafingerhut" created="Tue, 11 Dec 2012 13:00:59 -0600"  >&lt;p&gt;Patch queue.patch dated Oct 26 2012 no longer applies cleanly after recent &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-1000&quot; title=&quot;Performance drop in PersistentHashMap.valAt(...) in v.1.4 -- Util.hasheq(...) ?&quot;&gt;&lt;del&gt;CLJ-1000&lt;/del&gt;&lt;/a&gt; commits, but only because of one line of changed patch context.  It still applies cleanly with &quot;patch -p1 &amp;lt; queue.patch&quot;.  Not bothering to update the stale patch given Rich&apos;s comments suggesting more substantive changes.&lt;/p&gt;</comment>
                    <comment id="30883" author="steveminer@gmail.com" created="Sat, 6 Apr 2013 08:06:15 -0500"  >&lt;p&gt;See also &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-976&quot; title=&quot;Implement reader literal and print support for PersistentQueue data structure&quot;&gt;CLJ-976&lt;/a&gt; (tagged literal support for PersistentQueue)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11622" name="queue.patch" size="6548" author="halgari" created="Fri, 26 Oct 2012 21:16:07 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1072] Replace old metadata reader macro syntax</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1072</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;5 files still have old metadata reader syntax hash-caret instead of just caret:&lt;/p&gt;

&lt;p&gt;src/clj/clojure/core.clj&lt;br/&gt;
src/clj/clojure/gvec.clj&lt;br/&gt;
src/clj/clojure/java/browse_ui.clj&lt;br/&gt;
src/clj/clojure/java/io.clj&lt;br/&gt;
src/clj/clojure/repl.clj&lt;/p&gt;</description>
                <environment></environment>
            <key id="15709">CLJ-1072</key>
            <summary>Replace old metadata reader macro syntax</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="samaaron">Sam Aaron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Sep 2012 05:30:17 -0500</created>
                <updated>Fri, 12 Apr 2013 08:13:37 -0500</updated>
                                    <version>Release 1.4</version>
                                <fixVersion>Release 1.6</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="29511" author="stuart.sierra" created="Fri, 21 Sep 2012 07:56:24 -0500"  >&lt;p&gt;Modified this ticket to cover all remaining cases of old metadata syntax. Added patch.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11515" name="0001-CLJ-1072-Replace-old-metadata-reader-macro-syntax.patch" size="8627" author="stuart.sierra" created="Fri, 21 Sep 2012 07:56:24 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1060] &apos;list*&apos; returns not a list</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1060</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Function &apos;list?&apos; returns sequence, but not a list.&lt;br/&gt;
It is a bit confusing.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;user=&amp;gt; (list? (list* 1 &apos;(2 3)))
&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="15670">CLJ-1060</key>
            <summary>&apos;list*&apos; returns not a list</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="azhlobich">Andrei Zhlobich</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Sep 2012 06:32:23 -0500</created>
                <updated>Fri, 18 Jan 2013 09:41:40 -0600</updated>
                                    <version>Release 1.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="29457" author="stu" created="Mon, 17 Sep 2012 06:52:32 -0500"  >&lt;p&gt;should the docstring for list* change to say it returns a seq?&lt;/p&gt;</comment>
                    <comment id="30057" author="halgari" created="Tue, 27 Nov 2012 11:58:18 -0600"  >&lt;p&gt;Is there a reason why we can&apos;t have list* actually return a list? The cost of creating a list vs a cons is negligible.&lt;/p&gt;</comment>
                    <comment id="30369" author="mnicky" created="Fri, 4 Jan 2013 14:02:16 -0600"  >&lt;p&gt;The question is what to do with the one-argument case of list*, because in cases like: (list* {:a 1 :b 2}) it doesn&apos;t return IPersistentList as well. I propose just applying &apos;list&apos;.&lt;/p&gt;

&lt;p&gt;I added patch &apos;list-star-fix.diff&apos; (dated 04/Jan/2013) with Cons implementing IPersistentList and doing (apply list args) in one-argument case of list*. To be able to use &apos;apply&apos; in list* I had to declare it before the definition of list* in the source code. The apply itself also uses list*, but luckily not the one-argument version of list*, so it should be safe... The patch also contains simple unit tests.&lt;/p&gt;

&lt;p&gt;Discussion is also here: &lt;a href=&quot;https://groups.google.com/forum/#!topic/clojure/co8lcKymfi8&quot;&gt;https://groups.google.com/forum/#!topic/clojure/co8lcKymfi8&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="30370" author="michalmarczyk" created="Fri, 4 Jan 2013 16:11:56 -0600"  >&lt;p&gt;(apply list args) would make (list* (range)) hang, where currently it returns a partially-realized lazy seq. Also, even for non-lazy seqs &amp;#8211; possibly lists themselves &amp;#8211; it would always build a new list from scratch, right?&lt;/p&gt;

&lt;p&gt;Also, if I&apos;m reading the patch correctly, it would make 2+-ary list&amp;#42; overloads and cons return lists &amp;#8211; that is, IPersistentList instances &amp;#8211; always (Conses would now be lists), but repeatedly calling next on such a list might eventually produce a non-list. The only way around that would be to make all seqs into IPersistentLists &amp;#8211; that doesn&apos;t seem desirable at first glance...?&lt;/p&gt;

&lt;p&gt;On a side note, for the case where the final &quot;args&quot; argument is in fact a list, we already have a &quot;prepend many items&quot; function, namely conj. list&amp;#42; currently acts as the vararg variant of cons (in line with Lisp tradition); I&apos;m actually quite happy with that.&lt;/p&gt;</comment>
                    <comment id="30372" author="michalmarczyk" created="Fri, 4 Jan 2013 16:19:30 -0600"  >&lt;p&gt;I&apos;m in favour of the &quot;list&quot; -&amp;gt; &quot;seq&quot; tweak to the docstring though, assuming impl remains unchanged.&lt;/p&gt;</comment>
                    <comment id="30376" author="mnicky" created="Fri, 4 Jan 2013 18:13:37 -0600"  >&lt;p&gt;Yep, these are all valid points, thanks! I see this as a question whether the list* function is a list constructor or not. If yes (and it would be possible to implement it in a satisfactory way), it should probably return a list.&lt;/p&gt;

&lt;p&gt;We could avoid building a new list by sth like:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (list? args)
  args
  (apply list args))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;(btw, &apos;vec&apos; also creates a new vector even when the argument itself is a vector)&lt;/p&gt;

&lt;p&gt;The contract of next seems to be to return a seq, not a list - its docstring reads: &lt;em&gt;&quot;Returns a seq of the items after the first. Calls seq on its argument. If there are no more items, returns nil.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Btw, in some Lisp/Scheme impls I checked, cons seems to be a list as well. E.g. in CLisp (and similar in Guile and Racket):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;gt; (listp (cons 2 &apos;()))
T
&amp;gt; (listp (list* 1 2 &apos;()))
T&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11792" name="list-star-fix.diff" size="2783" author="mnicky" created="Fri, 4 Jan 2013 13:50:20 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1057] Var&apos;s .setDynamic does not set :dynamic in metadata</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1057</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;((juxt (comp :dynamic meta) #(.isDynamic %)) #&apos;*agent*)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="15667">CLJ-1057</key>
            <summary>Var&apos;s .setDynamic does not set :dynamic in metadata</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="bbloom">Brandon Bloom</reporter>
                        <labels>
                    </labels>
                <created>Sun, 2 Sep 2012 13:06:21 -0500</created>
                <updated>Mon, 3 Dec 2012 09:10:16 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="30151" author="halgari" created="Mon, 3 Dec 2012 09:10:16 -0600"  >&lt;p&gt;This is actually an enhancement as no where in the clojure code is provision made for syncing var&apos;s metadata and dynamic state. .isDynamic is the authoritative source, and the calling of .setDynamic is configured by the compiler. If you&apos;d like to see this change, please, feel free to bring it up on clojure-dev for a discussion.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1044] Enable refering to -&gt;type inside deftype</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1044</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Inside defrecord is possible to refer to -&amp;gt;type-ctor, that is not possible inside deftype.&lt;br/&gt;
This patch adds an implicit declare, as done in defrecord&lt;/p&gt;</description>
                <environment></environment>
            <key id="15634">CLJ-1044</key>
            <summary>Enable refering to -&gt;type inside deftype</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="bronsa">Nicola Mometto</reporter>
                        <labels>
                    </labels>
                <created>Sat, 18 Aug 2012 08:02:50 -0500</created>
                <updated>Sat, 15 Dec 2012 07:35:38 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="30164" author="halgari" created="Mon, 3 Dec 2012 11:29:57 -0600"  >&lt;p&gt;Seems valid. Vetting. &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11442" name="001-enable-factory-ctor-inside-deftype.diff" size="835" author="bronsa" created="Sat, 18 Aug 2012 08:02:50 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1027] Outdated documentation for gen-class&apos;s :exposes-methods option</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1027</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The docstring for gen-class says the following regarding the :exposes-methods option:&lt;/p&gt;

&lt;p&gt;&quot;It is sometimes necessary to call the superclass&apos; implementation of an&lt;br/&gt;
overridden method. Those methods may be exposed and referred in &lt;br/&gt;
the new method implementation by a local name.&quot;&lt;/p&gt;

&lt;p&gt;To me, this suggests that supplying something like `{foo fooSuper}` allows me to use the symbol `fooSuper` in my new method implementation. Doing this actually results in an error while compiling because `fooSuper` cannot be resolved. It seems that what actually happens is that a `fooSuper` instance method is defined, which calls the superclass&apos;s implementation. The docstring should be updated to reflect this.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15580">CLJ-1027</key>
            <summary>Outdated documentation for gen-class&apos;s :exposes-methods option</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="aperiodic">Dan Lidral-Porter</reporter>
                        <labels>
                        <label>docs</label>
                        <label>documentation</label>
                    </labels>
                <created>Wed, 18 Jul 2012 19:01:35 -0500</created>
                <updated>Wed, 18 Jul 2012 19:01:35 -0500</updated>
                                    <version>Release 1.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-1020] clojure.inspector/inspect-table gives up when first element of coll is nil</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1020</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;clojure.inspector/inspect-table gives up when first element of coll is nil. The patch provided is rather trivial...instead of blindly choosing the first element (which might be nil), it would be more convenient to choose the first element that is NOT nil and use its keys for columns...a similar issue exists with clojure.pprint/print-table where the keys of the first element are used (if not provided explicitly). The same is not true for &apos;inspect-table&apos; though. As a result, one cannot &apos;inspect&apos; a collection of maps where the first element is nil. My (trivial) patch looks for the first element which is NOT nil and uses its keys instead. Maps have to have the same length anyway so no problems there...&lt;/p&gt;</description>
                <environment>Ubuntu 12.04, Java 7, Clojure 1.4</environment>
            <key id="15563">CLJ-1020</key>
            <summary>clojure.inspector/inspect-table gives up when first element of coll is nil</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="jimpil">Dimitrios Piliouras</reporter>
                        <labels>
                        <label>patch,</label>
                    </labels>
                <created>Mon, 2 Jul 2012 05:26:42 -0500</created>
                <updated>Thu, 13 Sep 2012 14:30:24 -0500</updated>
                                    <version>Release 1.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="28981" author="jafingerhut" created="Thu, 12 Jul 2012 13:01:18 -0500"  >&lt;p&gt;clj-1020-inspect-table-skip-nil-rows-patch1.txt of July 12, 2012 is identical to inspector.patch of July 2, 2012, except it is in the desired git format.  Proper attribution is given to author Dimitrios Piliouras in the patch.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11379" name="clj-1020-inspect-table-skip-nil-rows-patch1.txt" size="722" author="jafingerhut" created="Thu, 12 Jul 2012 13:01:18 -0500" />
                    <attachment id="11359" name="inspector.patch" size="329" author="jimpil" created="Mon, 2 Jul 2012 05:26:42 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-1017] Metadata expressions are evaluated after the expression they affect</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1017</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Repro:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (def x (atom 1))&lt;br/&gt;
#&apos;user/x&lt;br/&gt;
user=&amp;gt; ^{:foo (swap! x inc)} {:bar (swap! x inc)}&lt;br/&gt;
{:bar 2}&lt;br/&gt;
user=&amp;gt; (meta *1)&lt;br/&gt;
{:foo 3}&lt;/p&gt;

&lt;p&gt;Presumably this is because ^:foo x expands to (with-meta x {:foo true}) but probably should have reversed argument order or use a let expression.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15551">CLJ-1017</key>
            <summary>Metadata expressions are evaluated after the expression they affect</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="bbloom">Brandon Bloom</reporter>
                        <labels>
                    </labels>
                <created>Sat, 23 Jun 2012 17:18:49 -0500</created>
                <updated>Sat, 23 Jun 2012 17:18:49 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-980] Documentation for extend-type falsely implies that &amp; is allowed in protocol fn signatures</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-980</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The documentation for extend-type contains the following example:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(extend-type MyType 
    Countable
      (cnt [c] ...)
    Foo
      (bar [x y] ...)
      (baz ([x] ...) ([x y &amp;amp; zs] ...)))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;However, &lt;tt&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;x y &amp;amp; zs&amp;#93;&lt;/span&gt;&lt;/tt&gt; is not a valid parameter list for a protocol fn. The documentation should be appropriately amended.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15402">CLJ-980</key>
            <summary>Documentation for extend-type falsely implies that &amp; is allowed in protocol fn signatures</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="charles-dyfis-net">Charles Duffy</reporter>
                        <labels>
                        <label>documentation</label>
                    </labels>
                <created>Thu, 3 May 2012 12:08:35 -0500</created>
                <updated>Wed, 19 Dec 2012 08:00:13 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="28599" author="jszakmeister" created="Fri, 25 May 2012 04:00:27 -0500"  >&lt;p&gt;v2 of the patch is simply converts the patch to git format.  I made sure that Mr. Duffy got proper attribution.  I also took a stab at a simple log message.  Any problems with the latter are mine, and I&apos;m happy to fix it up if necessary.&lt;/p&gt;</comment>
                    <comment id="29190" author="aaron" created="Wed, 15 Aug 2012 22:08:35 -0500"  >&lt;p&gt;This doesn&apos;t update the entire doc string. The expansion is updated, but the signature section isn&apos;t. Here&apos;s what shows up.&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;user=&amp;gt; (doc extend-type)
-------------------------
clojure.core/extend-type
([t &amp;amp; specs])
Macro
  A macro that expands into an extend call. Useful when you are
  supplying the definitions explicitly inline, extend-type
  automatically creates the maps required by extend.  Propagates the
  class as a type hint on the first argument of all fns.

  (extend-type MyType 
    Countable
      (cnt [c] ...)
    Foo
      (bar [x y] ...)
      (baz ([x] ...) ([x y &amp;amp; zs] ...)))

  expands into:

  (extend MyType
   Countable
     {:cnt (fn [c] ...)}
   Foo
     {:baz (fn ([x] ...) ([x y ...] ...))
      :bar (fn [x y] ...)})
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="29267" author="tsdh" created="Sat, 25 Aug 2012 06:44:49 -0500"  >&lt;p&gt;This is very much related to &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-1024&quot;&gt;http://dev.clojure.org/jira/browse/CLJ-1024&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;NOTE: While varargs are not supported in protocol declarations, dynamic extension of a protocol via extend (extend-type, extend-protocol) &lt;b&gt;does&lt;/b&gt; allow for varargs and also destructuring, cause the method impls are actually normal clojure functions.&lt;/p&gt;

&lt;p&gt;So if a Foo protocol declares a (foo &lt;span class=&quot;error&quot;&gt;&amp;#91;this a b c&amp;#93;&lt;/span&gt;) method, you can extend/extend-type/extend-protocol it dynamically using (foo &lt;span class=&quot;error&quot;&gt;&amp;#91;this &amp;amp; more&amp;#93;&lt;/span&gt; (do-magick)) where `a b c` are conflated into the `more` parameter.&lt;/p&gt;

&lt;p&gt;However, that doesn&apos;t work for method implementations defined by deftype, defrecord, and reify.&lt;/p&gt;

&lt;p&gt;So with respect to the facts, the example in the docstring is actually correct, so I&apos;m not sure if it should be changed.  However, what&apos;s supported in which cases should be documented better as it is right now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11164" name="clojure--extend-type-doc-fix.diff" size="408" author="charles-dyfis-net" created="Thu, 3 May 2012 12:08:35 -0500" />
                    <attachment id="11257" name="extended-type-doc-fix-v2.patch" size="755" author="jszakmeister" created="Fri, 25 May 2012 04:00:27 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10006">Incomplete</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-863] interleave should accept 1 or 0 arguments</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-863</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;interleave should handle 0 and 1 arguments in the same way that concat does (i.e., 0 args --&amp;gt; empty seq, 1 args --&amp;gt; identity).&lt;/p&gt;</description>
                <environment></environment>
            <key id="14807">CLJ-863</key>
            <summary>interleave should accept 1 or 0 arguments</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="joegallo">Joe Gallo</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Oct 2011 14:50:34 -0500</created>
                <updated>Fri, 12 Apr 2013 10:03:08 -0500</updated>
                                    <version>Release 1.3</version>
                                <fixVersion>Release 1.6</fixVersion>
                                        <due></due>
                    <votes>5</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="28814" author="richhickey" created="Fri, 15 Jun 2012 09:31:29 -0500"  >&lt;p&gt;(lazy-seq nil) should be ()&lt;/p&gt;</comment>
                    <comment id="28817" author="joegallo" created="Fri, 15 Jun 2012 10:13:06 -0500"  >&lt;p&gt;Hey Rich, if you&apos;re talking about the first line of the diff:&lt;/p&gt;

&lt;p&gt;+  ([] (lazy-seq nil))&lt;/p&gt;

&lt;p&gt;Then that&apos;s the implementation, not the tests &amp;#8211; given an empty vector of arguments, return (lazy-seq nil), which I just copied from the existing definition of concat.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br/&gt;
Joe&lt;/p&gt;</comment>
                    <comment id="29591" author="mdzaebel" created="Wed, 3 Oct 2012 13:19:59 -0500"  >&lt;p&gt;(defn interleave &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;amp; s&amp;#93;&lt;/span&gt; (apply mapcat list s))&lt;/p&gt;</comment>
                    <comment id="29592" author="m0smith" created="Wed, 3 Oct 2012 20:47:53 -0500"  >&lt;p&gt;Marc&apos;s definition doesn&apos;t work for no arguments.  Maybe:&lt;/p&gt;

&lt;p&gt;(defn interleave &lt;br/&gt;
    ([] ()) &lt;br/&gt;
    (&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;amp; s&amp;#93;&lt;/span&gt; (apply mapcat list s)))&lt;/p&gt;</comment>
                    <comment id="29608" author="mdzaebel" created="Fri, 5 Oct 2012 13:07:13 -0500"  >&lt;p&gt;Yes, but my solution is too slow, as it uses &quot;apply&quot;.&lt;/p&gt;</comment>
                    <comment id="30343" author="jafingerhut" created="Tue, 1 Jan 2013 11:54:06 -0600"  >&lt;p&gt;Patch clj-863-make-interleave-handle-odd-args-like-concat-patch-v1.txt dated Jan 1 2013 is identical to Joe Gallo&apos;s 0001-make-interleave-handle-odd-arugments-in-the-same-man.patch patch dated Oct 24 2011, except it returns () instead of (lazy-seq nil) as per Rich&apos;s comment.  If concat should also return () instead of (lazy-seq nil), perhaps another ticket should be created to fix that.  Also presumptuously changing ticket state from Incomplete back to Vetted, since the reason it was marked Incomplete should now be addressed, and it was Screened before.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10496" name="0001-make-interleave-handle-odd-arugments-in-the-same-man.patch" size="1247" author="joegallo" created="Mon, 24 Oct 2011 14:50:36 -0500" />
                    <attachment id="11785" name="clj-863-make-interleave-handle-odd-args-like-concat-patch-v1.txt" size="1235" author="jafingerhut" created="Tue, 1 Jan 2013 11:54:06 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>

<item>
            <title>[CLJ-704] range function has missing documentation</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-704</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The range function&apos;s documentation does indicate the following usage:&lt;/p&gt;

&lt;p&gt;(range 10 0 -1) -&amp;gt; (10, 9, 8, 7, 6, 5, 4, 3, 2, 1)&lt;/p&gt;

&lt;p&gt;Current doc:&lt;/p&gt;

&lt;p&gt;Returns a lazy seq of nums from start (inclusive) to end&lt;br/&gt;
(exclusive), by step, where start defaults to 0, step to 1, and end&lt;br/&gt;
to infinity.&lt;/p&gt;

&lt;p&gt;Suggestion:&lt;/p&gt;

&lt;p&gt;Returns a lazy seq of nums from start (inclusive) to end&lt;br/&gt;
(exclusive), by step, where start defaults to 0, step to 1, and end&lt;br/&gt;
to infinity.&lt;/p&gt;

&lt;p&gt;Its also possible to step down rather than up, for example counting&lt;br/&gt;
backwards from 10 by -1: (range 10 0 -1).  &lt;/p&gt;</description>
                <environment>All</environment>
            <key id="14313">CLJ-704</key>
            <summary>range function has missing documentation</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="mrhus">Maarten Hus</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Jan 2011 19:32:56 -0600</created>
                <updated>Fri, 11 May 2012 09:32:21 -0500</updated>
                                    <version>Release 1.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="26134" author="raek" created="Sat, 15 Jan 2011 07:39:05 -0600"  >&lt;p&gt;The current doc actually mentions the &apos;step&apos; parameter briefly:&lt;/p&gt;

&lt;p&gt;&quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt; to end (exclusive), by &lt;b&gt;step&lt;/b&gt;, where start &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&quot;&lt;/p&gt;

&lt;p&gt;But as this might be easy to miss, an addition to the doc is still a good idea, I think.&lt;/p&gt;

&lt;p&gt;My suggestion:&lt;/p&gt;

&lt;p&gt;Returns a lazy seq of nums from start (inclusive) to end&lt;br/&gt;
(exclusive), by step, where start defaults to 0, step to 1, and end&lt;br/&gt;
to infinity. &lt;b&gt;Step may be negative to count backwards.&lt;/b&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-107] GC Issue 103: bit-count function</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-107</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Reported by a...@thened.net, Apr 08, 2009

I posted &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; small patch to the mailing list last week but received no
feedback, so I&apos;m attaching it here to make sure it doesn&apos;t get lost.  I
have submitted a CA.

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/4345f76a12bac6fe/
&lt;/span&gt;
The &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; function bit-count returns the count of 1-bits in a number, like
C&apos;s popcount or Common Lisp&apos;s logcount.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13504">CLJ-107</key>
            <summary>GC Issue 103: bit-count function</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="jafingerhut">Andy Fingerhut</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:59:00 -0500</created>
                <updated>Thu, 15 Nov 2012 20:40:50 -0600</updated>
                                                    <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22781" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/107&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/107&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
bit-count.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dqone2w4er3RbzeJe5afGb/download/dqone2w4er3RbzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dqone2w4er3RbzeJe5afGb/download/dqone2w4er3RbzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22782" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dqone2w4er3RbzeJe5afGb&quot;&gt;file:dqone2w4er3RbzeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22783" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #19, #30, #31, #126, #17, #42, #47, #50, #61, #64, #69, #71, #77, #79, #84, #87, #89, #96, #99, #103, #107, #112, #113, #114, #115, #118, #119, #121, #122, #124)&lt;/p&gt;</comment>
                    <comment id="29954" author="jafingerhut" created="Thu, 15 Nov 2012 20:40:14 -0600"  >&lt;p&gt;clj-107-add-bit-count-v1.txt is probably a correct updated version of the old patch linked above.  Added a couple of unit tests.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11681" name="clj-107-add-bit-count-v1.txt" size="1980" author="jafingerhut" created="Thu, 15 Nov 2012 20:40:14 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                        </customfields>
    </item>
</channel>
</rss>