<!--
RSS generated by JIRA (4.4#649-r158309) at Wed Jun 19 22:13: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+ORDER+BY+status+DESC%2C+priority+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+ORDER+BY+status+DESC%2C+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="1000" total="1014"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[CLJ-1] Add chunk support to map filter et al</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-1</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;add conditional logic to test for chunked seq and handle specially&lt;/p&gt;</description>
                <environment></environment>
            <key id="13398">CLJ-1</key>
            <summary>Add chunk support to map filter et al</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 13 Jun 2009 10:38:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:43:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:43:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22450" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/1&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/1&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
chunked-doseq.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dyQbLWIiCr3RSfeJe5aVNr/download/dyQbLWIiCr3RSfeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dyQbLWIiCr3RSfeJe5aVNr/download/dyQbLWIiCr3RSfeJe5aVNr&lt;/a&gt;&lt;br/&gt;
chunked-doseq-v2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ayZsEAIHer3OuReJe5afGb/download/ayZsEAIHer3OuReJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ayZsEAIHer3OuReJe5afGb/download/ayZsEAIHer3OuReJe5afGb&lt;/a&gt;&lt;br/&gt;
chunked-concat.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ddNltiJ1Gr3Q4TeJe5aVNr/download/ddNltiJ1Gr3Q4TeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ddNltiJ1Gr3Q4TeJe5aVNr/download/ddNltiJ1Gr3Q4TeJe5aVNr&lt;/a&gt;&lt;br/&gt;
chunked-for.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d1Zsv2Ke4r3QR8eJe5afGb/download/d1Zsv2Ke4r3QR8eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d1Zsv2Ke4r3QR8eJe5afGb/download/d1Zsv2Ke4r3QR8eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22451" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:dyQbLWIiCr3RSfeJe5aVNr&quot;&gt;file:dyQbLWIiCr3RSfeJe5aVNr&lt;/a&gt;]: doseq with chunked seq support&lt;/p&gt;</comment>
                    <comment id="22452" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Is it ok to call chunk-rest before chunk-first is consumed?&lt;/p&gt;

&lt;p&gt;Anyway, I must have done something terribly wrong.  The doseq in chunked-doseq.diff passes all existing tests, but runs dramatically slower than the old doseq on both chunked and non-chunked seqs.&lt;/p&gt;

&lt;p&gt;I didn&apos;t test performance until after I&apos;d attached the patch, otherwise I would have kept it to myself.&lt;/p&gt;</comment>
                    <comment id="22453" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:ayZsEAIHer3OuReJe5afGb&quot;&gt;file:ayZsEAIHer3OuReJe5afGb&lt;/a&gt;]: Add chunked seq support to doseq, v2&lt;/p&gt;</comment>
                    <comment id="22454" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;a href=&quot;file:chunked-doseq-v2.diff&quot;&gt;file:chunked-doseq-v2.diff&lt;/a&gt; should be good to go.  It&apos;s in the same performance ballpark as the pre-chunk doseq for unchunked seqs, and noticeably faster for chunked seqs.  It passes all existing tests.&lt;/p&gt;</comment>
                    <comment id="22455" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:1abb7a56de1678321054af7fce183184f06974dd&amp;#93;&lt;/span&gt;]) Add chunked seq support to doseq, v2.  Refs #1&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22456" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: set approval back to &apos;none&apos;, awaiting patches for more functions.&lt;/p&gt;</comment>
                    <comment id="22457" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:ddNltiJ1Gr3Q4TeJe5aVNr&quot;&gt;file:ddNltiJ1Gr3Q4TeJe5aVNr&lt;/a&gt;]: Add chunked seq support to concat&lt;/p&gt;</comment>
                    <comment id="22458" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:aIu4XoJ1Kr3OYMeJe5afGb&quot;&gt;file:aIu4XoJ1Kr3OYMeJe5afGb&lt;/a&gt;]: Add chunked seq support to concat&lt;/p&gt;</comment>
                    <comment id="22459" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Added chunked seq support to concat: &lt;a href=&quot;file:chunked-concat.diff&quot;&gt;file:chunked-concat.diff&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because concat had been defined before any of the chunk fns, I moved the the chunk fns to much earlier in core.clj than they were.  This also required changing &apos;chunk-cons&apos; to use static methods directly instead of core fns.&lt;/p&gt;

&lt;p&gt;This patch includes a commit to fix an issue in the chunked doseq, where seq was called on chunk-rest too early.  When combinded with chunked concat this caused some laziness tests to fail.&lt;/p&gt;</comment>
                    <comment id="22460" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:d1Zsv2Ke4r3QR8eJe5afGb&quot;&gt;file:d1Zsv2Ke4r3QR8eJe5afGb&lt;/a&gt;]: Add support for chunked seqs to &apos;for&apos;&lt;/p&gt;</comment>
                    <comment id="22461" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:dbe1710652618c842e513760e985c2219d71926b&amp;#93;&lt;/span&gt;]) delay seq on chunk-rest in doseq&lt;/p&gt;

&lt;p&gt;doseq was calling seq on chunk-rest too early.  When combinded with chunked&lt;br/&gt;
concat this caused some laziness tests to fail.  Refs #1&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22462" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:4af9fcf218c04db9b38fb4ce35591f1ff17a4f15&amp;#93;&lt;/span&gt;]) Add chunked seq support to concat&lt;/p&gt;

&lt;p&gt;concat is defined early, so I moved the the chunk fns up which required&lt;br/&gt;
changing &apos;chunk-cons&apos; to use static methods directly instead of core fns.&lt;br/&gt;
Refs #1&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22463" author="importer" created="Tue, 24 Aug 2010 06:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:14316ae2110a779ffc8ac9c3da3f1c41852c4289&amp;#93;&lt;/span&gt;]) Add support for chunked seqs to &apos;for&apos;.  Refs #1&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-3] Test ticket</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-3</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;this is a test ticket&lt;/p&gt;</description>
                <environment></environment>
            <key id="13400">CLJ-3</key>
            <summary>Test ticket</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Jun 2009 20:25:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22466" author="importer" created="Tue, 24 Aug 2010 11:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/3&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/3&lt;/a&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-9] GC Issue 5: Allow single classes in import</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-9</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 m...@kotka.de, Dec 17, 2008
Currently &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; expects lists of a packages with classes, which should be imported
from the given &lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;.

(&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &apos;(&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt; ClassA ClassB ...) ...)

Sometimes however one just wants to &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; a single class from a &lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;, but
one still has to specify the list form:

(&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &apos;(&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt; ClassA))

use/require also allow a similar style of prefix list. However, they also allow a
shortcut in &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; one requires only one lib with a given prefix. The attached
patch modifies &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; to allow also &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; style of shortcut:

(&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &apos;&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;.ClassA)

This change would be backward compatible.


 modified-&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt;.patch
1.3 KB Download
Comment 1 by m...@kotka.de, Dec 17, 2008
I&apos;m sorry &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the dupe. The proxy gave me an error message, so I submitted again...
Also sorry &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the wrong categorisation. Should be Enhancement not Defect...
Comment 2 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Comment 3 by richhickey, Dec 17, 2008
 Issue 4  has been merged into &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; issue.
Comment 4 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: richhickey
Comment 5 by richhickey, Dec 17, 2008
I think the conditional here should test &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; symbol? rather than seq?, i.e. reverse
the condition. We should avoid hardwiring lists when possible.
Comment 6 by m...@kotka.de, Dec 19, 2008
Ok. Checks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; symbol? now and &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; branches reversed. 
 modified-&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt;.patch
1.3 KB Download
Comment 7 by richhickey, Dec 21, 2008
patch applied (svn 1179) - thanks!
Status: Done&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13406">CLJ-9</key>
            <summary>GC Issue 5: Allow single classes in import</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 11:48:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22480" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/9&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/9&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
modified-import.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bRbEa2w28r3P8LeJe5afGb/download/bRbEa2w28r3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bRbEa2w28r3P8LeJe5afGb/download/bRbEa2w28r3P8LeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22481" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bRbEa2w28r3P8LeJe5afGb&quot;&gt;file:bRbEa2w28r3P8LeJe5afGb&lt;/a&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-6] GC Issue 1: :validator as keyword arg for ref/atom/agent</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-6</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 richhickey, Dec 14, 2008
&lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; to keyword args &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; reference ctors:
(ref val &amp;amp; options)
(atom va &amp;amp; options)
(agent val &amp;amp; options)

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Labels: -Priority-Medium Priority-High
Comment 2 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Status: Accepted
Comment 3 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: ---
Comment 4 by richhickey, Jan 05, 2009
svn 1193
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13403">CLJ-6</key>
            <summary>GC Issue 1: :validator as keyword arg for ref/atom/agent</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:42:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22469" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/6&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/6&lt;/a&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-12] GC Issue 8: :default as keyword arg to defmulti</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-12</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 richhickey, Dec 17, 2008
rather than positional arg

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Status: Accepted
Comment 2 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: ---
Comment 3 by m...@kotka.de, Jan 05, 2009
Attached is a patch, which turns the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; dispatch value from a positional argument
into a keyword argument. The syntax is:

(defmulti name dispatch-fn :&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; dispatch-value)

Uses of the old syntax &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an exception pointing to the &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; syntax.
 issue-8.diff
1.4 KB Download
Comment 4 by m...@kotka.de, Jan 11, 2009
Another update of the patch, also including docstring and metadata support, similar to defn.

This was brought up several times on the list. Eg. in the thread:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/tree/browse_frm/thread/21af6e0431ae2e63/f7751913e875953f?
&lt;/span&gt;rnum=11&amp;amp;_done=%2Fgroup%2Fclojure%2Fbrowse_frm%2Fthread%2F21af6e0431ae2e63%2Ff7751913e875953f%
3F#doc_b5a6f9049a2ff250
 issue-8.diff
2.5 KB Download
Comment 5 by richhickey, Jan 22, 2009
Patch applied - svn 1226 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13409">CLJ-12</key>
            <summary>GC Issue 8: :default as keyword arg to defmulti</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 11:52:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22488" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/12&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/12&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-8.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d_WTlyw28r3Qr1eJe5aVNr/download/d_WTlyw28r3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d_WTlyw28r3Qr1eJe5aVNr/download/d_WTlyw28r3Qr1eJe5aVNr&lt;/a&gt;&lt;br/&gt;
issue-8-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d_WV5iw28r3Qr1eJe5aVNr/download/d_WV5iw28r3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d_WV5iw28r3Qr1eJe5aVNr/download/d_WV5iw28r3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22489" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:d_WTlyw28r3Qr1eJe5aVNr&quot;&gt;file:d_WTlyw28r3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22490" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:d_WV5iw28r3Qr1eJe5aVNr&quot;&gt;file:d_WV5iw28r3Qr1eJe5aVNr&lt;/a&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-13] GC Issue 9: Not all *vars* have doc strings</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-13</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 richhickey, Dec 17, 2008
Need to audit and fix

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: ---
Comment 2 by mmcgrana, Jan 05, 2009
Possible audit method &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; clojure.core *vars missing doc strings:

(prn
  (let [publics (ns-publics &apos;clojure.core)
        stared  (filter #(re-find #&lt;span class=&quot;code-quote&quot;&gt;&quot;^\*&quot;&lt;/span&gt; (str (first %))) publics)
        undoced (remove #(:doc (meta (second %))) stared)]
    (map first undoced)))

=&amp;gt; (*compile-path* *ns* *allow-unresolved-vars* *macro-meta* ...
Comment 3 by chouser, Jan 09, 2009
For Vars interned via Java code, there&apos;s no original &apos;def&apos; statement
where docstrings can be added.  Should a block of statments like
following be added to the end of clojure/core.clj ?

(alter-meta! #&apos;*compile-path* assoc :doc
  &quot;Specifies the directory where &apos;compile&apos; will write out .class
  files.  This directory must be in the classpath &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &apos;compile&apos; to
  work.&quot;)

Comment 4 by richhickey, Jan 10, 2009
That seems right to me
Comment 5 by Chousuke, Jan 18, 2009
Here is a patch that adds at least *some* documentation &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; some of the variables.
It&apos;s missing a few that I did not know the purpose &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;, though.

--
Jarkko
 &lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;-doc.patch
2.5 KB Download
Comment 6 by richhickey, Jan 22, 2009
Patch applied - svn 1225 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13410">CLJ-13</key>
            <summary>GC Issue 9: Not all *vars* have doc strings</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 11:53:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22491" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/13&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/13&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
var-doc.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aC6tlAw3ar3Qr1eJe5aVNr/download/aC6tlAw3ar3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aC6tlAw3ar3Qr1eJe5aVNr/download/aC6tlAw3ar3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22492" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aC6tlAw3ar3Qr1eJe5aVNr&quot;&gt;file:aC6tlAw3ar3Qr1eJe5aVNr&lt;/a&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-11] GC Issue 7: Make syntax-quote Classname. aware</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-11</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 richhickey, Dec 17, 2008
should turn into fully.qualified.Classname.

Comment 1 by m...@kotka.de, Jan 02, 2009
The attached patch fixes &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; issue. It checks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Symbol w/o namespace and a trailing dot.
Then the dot is removed, the Symbol resolved and the dot added again.

The second patch fixes a related issue with .methodName Symbols: those were also resolved
when in fact they should not have been. So the patch checks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Symbols w/o namespace
and a leading dot. Those Symbols are simply left alone and quoted as is.

The second patch should be applied after the first.
 issue-7.diff
785 bytes Download
 issue-7a.diff
611 bytes Download
Comment 2 by richhickey, Jan 07, 2009
Patches applied svn 1202 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13408">CLJ-11</key>
            <summary>GC Issue 7: Make syntax-quote Classname. aware</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:51:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22485" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/11&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/11&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-7.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dAAAIgw28r3PSteJe5afGb/download/dAAAIgw28r3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dAAAIgw28r3PSteJe5afGb/download/dAAAIgw28r3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
issue-7a.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dAADmKw28r3PSteJe5afGb/download/dAADmKw28r3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dAADmKw28r3PSteJe5afGb/download/dAADmKw28r3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22486" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dAAAIgw28r3PSteJe5afGb&quot;&gt;file:dAAAIgw28r3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22487" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dAADmKw28r3PSteJe5afGb&quot;&gt;file:dAADmKw28r3PSteJe5afGb&lt;/a&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-7] GC Issue 2: gen-class - :exposes should expose static fields as static methods</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-7</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 richhickey, Dec 14, 2008
right now it doesn&apos;t look at type of field, and always generates instance
methods

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: ---
Comment 2 by richhickey, Dec 18, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Labels: Priority-High
Comment 3 by chouser, Mar 06, 2009
The attached patch was tested using &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; gen-class call:

  (ns clojure.contrib.test-clojure.gen-class
    (:gen-class
      :&lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; javax.swing.border.TitledBorder
      :exposes {TEXT_SPACING {:get getSpacing :set setSpacing}
                title {:get getString :set setString}}))

Then:

  (compile &apos;clojure.contrib.test-clojure.gen-class)
  (def x (clojure.contrib.test_clojure.gen_class. &lt;span class=&quot;code-quote&quot;&gt;&quot;hi&quot;&lt;/span&gt;))

  (.getString x)  ==&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;hi&quot;&lt;/span&gt;
  (.setString x &lt;span class=&quot;code-quote&quot;&gt;&quot;yo&quot;&lt;/span&gt;)
  (.getString x)  ==&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;yo&quot;&lt;/span&gt;

  (.getSpacing x)
  ==&amp;gt; java.lang.IncompatibleClassChangeError: Expected non-&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; field
clojure.contrib.test_clojure.gen_class.TEXT_SPACING (NO_SOURCE_FILE:0)

With the patch applied, .getString and .setString work the same, but now:

  (clojure.contrib.test_clojure.gen_class/getSpacing)  ==&amp;gt; 2
  (clojure.contrib.test_clojure.gen_class/setSpacing 10)
  ==&amp;gt; java.lang.IllegalAccessError (NO_SOURCE_FILE:0)

This last error is because the &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; field is &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt;.

--Chouser
 genclass-exposes-statics.patch
2.2 KB Download
Comment 4 by richhickey, Apr 12, 2009
Patch applied - r1345 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13404">CLJ-7</key>
            <summary>GC Issue 2: gen-class - :exposes should expose static fields as static methods</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:43:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22470" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/7&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/7&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
genclass-exposes-statics.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dvSatqw24r3PSteJe5afGb/download/dvSatqw24r3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dvSatqw24r3PSteJe5afGb/download/dvSatqw24r3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22471" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dvSatqw24r3PSteJe5afGb&quot;&gt;file:dvSatqw24r3PSteJe5afGb&lt;/a&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-4] test ticket 2</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-4</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;a second test ticket&lt;/p&gt;</description>
                <environment></environment>
            <key id="13401">CLJ-4</key>
            <summary>test ticket 2</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Jun 2009 20:28:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22467" author="importer" created="Tue, 24 Aug 2010 11:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/4&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/4&lt;/a&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-10] GC Issue 6: Include condp in clojure.core</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-10</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 m...@kotka.de, Dec 17, 2008
fcase from clojure.contrib is planned to be included in clojure.core
as condp. Currently there are two suggestions, on how to implement
&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.

The attached patch proposes the following form:

(condp predicate expr
  test-expr result-expr
  ...)

For each pair test-expr and result-expr the predicate will
be called in the form (predicate test-expr result-expr). If
the predicate returns &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, the result-expr is executed.

Using the vector binding form as known from let and friends
one might also assign the result of the call to predicate to
a local which may be used in the result-expr.

(condp [local predicate] expr
  test-expr result-expr
  ...)

If the number of test-expr result-expr pairs is odd, then
the last clause is evaluated, in &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; no previous clause was
chosen by the predicate. If the number of pairs is even,
an exception is thrown.

Furthermore the following changes to cond are proposed
to implement functionality similar to clojure.contrib.cond-let.

(cond
  [local test-expr] result-expr
  ...)

In &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; the test-expr in cond is a vector the first item is
used as the name of local which is bound to result of the
test-expr (second item in the vector) in result-expr.

This patch is backward-compatible.

Additionally another solution using templates was proposed
on the google group. More information on &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; proposal
may be found in the following thread:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/19544014a89f24e9/dfdecc1bc
&lt;/span&gt;8330785?lnk=gst&amp;amp;q=stab+condp#dfdecc1bc8330785

 cond-condp.patch
2.9 KB Download
Comment 1 by richhickey, Dec 17, 2008
You meant: (predicate test-expr expr) right?

I think we should take any changes to cond off the table at present. 

It would be nicer &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; condp could &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; binding on a per-clause basis, as you did &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
cond, but doing it the same way would rule out vectors as test exprs (with predicates
like nth, I guess).

The alternative is Scheme&apos;s:

test-expr =&amp;gt; result-fn

where result-fn is a fn of one arg, passed the result of the predicate.

This can end up being more compact. I guess in Clojure we&apos;d use a keyword:

test-expr :&amp;gt; result-fn

Comment 2 by m...@kotka.de, Dec 18, 2008
Modified the implementation. The syntax is now as follows:

(condp predicate expr
  test-expr result-expr
  test-expr :&amp;gt; result-expr
  ...)

In the first &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; result-expr is evaluated and its result is returned
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (predicate test-expr expr) returns non-nil/non-&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;.

In the second &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;, result-expr is expected to evaluate to a function
of one argument, which is passed the result of the predicate call.
Again: only &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the result of the predicate call is non-nil/non-&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;.

In &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; there is a single clause at the end which does not fit the above
patterns it is taken as &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; in &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; no test-expr yields a success.
If no such &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; is given an exception is thrown.

The patterns may be freely mixed.

Cond is not modified.
 condp.diff
2.6 KB Download
Comment 3 by richhickey, Dec 21, 2008
In the end I found these patches too complex and wrote my own, thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the input!
svn 1180
Status: Done&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13407">CLJ-10</key>
            <summary>GC Issue 6: Include condp in clojure.core</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:50:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22482" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/10&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/10&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
cond-condp.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cYdAoCw28r3PSteJe5afGb/download/cYdAoCw28r3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cYdAoCw28r3PSteJe5afGb/download/cYdAoCw28r3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
condp.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cYdDdIw28r3PSteJe5afGb/download/cYdDdIw28r3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cYdDdIw28r3PSteJe5afGb/download/cYdDdIw28r3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22483" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cYdAoCw28r3PSteJe5afGb&quot;&gt;file:cYdAoCw28r3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22484" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cYdDdIw28r3PSteJe5afGb&quot;&gt;file:cYdDdIw28r3PSteJe5afGb&lt;/a&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-14] GC Issue 10: remove all #=()s from non-dup prints</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-14</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 richhickey, Dec 17, 2008
Need to audit and fix

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Owner: ---
Comment 2 by chouser, Jan 09, 2009
Currently:

user=&amp;gt; (java.util.HashMap. {:a 1})
#=(java.util.HashMap. {:a 1})

What&apos;s the desired output?  Perhaps the unreadable:

#&amp;lt;java.util.HashMap. {:a 1}&amp;gt;

Comment 3 by richhickey, Jan 10, 2009
Yes, the unreadable form is good
Comment 4 by chouser, Jan 10, 2009
All occurrences of #= are in RT.java and core_print.clj.

In core_print.clj, all occurrences of #= are in print-dup methods,
except &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; one occurrence in the print-ctor function.  print-ctor is
in turn used only in print-dup methods, except &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; 3 print-method&apos;s
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Java set, map, and collection types.  The attached patch removes
those print-method&apos;s, causing the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; method to be used, which
generates informative output &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; humans but which is not readable by
LispReader.

In RT.java, #= is generated by the print() method when
PRINT_INITIALIZED is unbound or &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt; and Var objects.
Changing these to print non-dup style output makes the Clojure compile
process &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; exceptions, so I&apos;m guess these need to stay the way they
are.

For the record, these outputs can be tested at the REPL like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;:

(defmacro pre-init [x]
  `(binding [clojure.core/print-initialized &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;]
    (clojure.lang.RT/print ~x *out*)
    (println)))

user=&amp;gt; (pre-init &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;)
#=java.lang.&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;
nil
user=&amp;gt; (pre-init #&apos;filter)
#=(&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; clojure.core/filter)
nil

--The janitor
 remove-hash-equals.patch
1.7 KB Download
Comment 5 by richhickey, Jan 14, 2009
Patch applied, svn 1209 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13411">CLJ-14</key>
            <summary>GC Issue 10: remove all #=()s from non-dup prints</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 11:54:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22493" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/14&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/14&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
remove-hash-equals.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a7a0y0w3ar3PSteJe5afGb/download/a7a0y0w3ar3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a7a0y0w3ar3PSteJe5afGb/download/a7a0y0w3ar3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22494" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a7a0y0w3ar3PSteJe5afGb&quot;&gt;file:a7a0y0w3ar3PSteJe5afGb&lt;/a&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-18] GC Issue 14: make RT.ROOT_CLASSLOADER load on demand, possibly never if AOT compiled</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-18</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 richhickey, Dec 17, 2008
To enable applets and other situations not supporting custom classloaders
or dynamic classloading

Comment 1 by richhickey, Dec 17, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Labels: -Type-Defect Type-Enhancement
Comment 2 by richhickey, Jan 07, 2009
svn 1201
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13415">CLJ-18</key>
            <summary>GC Issue 14: make RT.ROOT_CLASSLOADER load on demand, possibly never if AOT compiled</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:57:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22507" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/18&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/18&lt;/a&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-16] GC Issue 12: improve doc for contains?</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-16</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 richhickey, Dec 17, 2008
Explain the behavior of contains? &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; vectors, i.e. associative

Comment 1 by richhickey, Dec 18, 2008
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Labels: Priority-High
Comment 2 by chouser, Jan 09, 2009
Expands both &apos;contains?&apos; and &apos;some&apos; docstrings.
 contains-docs.patch
1.3 KB Download
Comment 3 by richhickey, Jan 14, 2009
patch applied, svn 1214 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13413">CLJ-16</key>
            <summary>GC Issue 12: improve doc for contains?</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:55:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22496" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/16&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/16&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
contains-docs.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bU13Y0w3ar3Qr1eJe5aVNr/download/bU13Y0w3ar3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bU13Y0w3ar3Qr1eJe5aVNr/download/bU13Y0w3ar3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22497" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bU13Y0w3ar3Qr1eJe5aVNr&quot;&gt;file:bU13Y0w3ar3Qr1eJe5aVNr&lt;/a&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-25] GC Issue 21: bigdec truncates rational</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-25</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 tomfaulhaber, Dec 28, 2008
The clojure.core/bigdec function truncates rationals to ints:

(bigdec 1/2) =&amp;gt; 0M

As opposed to:

(bigdec 0.5) =&amp;gt; 0.5M

This happens because rationals fall into the number? &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; in bigdec which
converts the rational to a &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; before converting to BigDecimal.

I&apos;m not sure that &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; behavior is completely wrong (since there&apos;s no way
to specify the behavior of 1/3 in the current API, &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; instance), but we
should probably at least document it.


Comment 1 by jbondeson, Jan 30, 2009
I discussed &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; along with another issue here:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/1f8029b8556ce851/9b7538b192490097?lnk=gst&amp;amp;q=ratio#9b7538b192490097
&lt;/span&gt;
(bigdec (/ 1 3)) should probably behave exactly like (/ 1M 3) which &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; an
ArithmeticException unless you are inside a &lt;span class=&quot;code-quote&quot;&gt;&quot;with-precision&quot;&lt;/span&gt; block.

I have attached a rather simple fix &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; to have Ratio -&amp;gt; BigDecimal conversion
behave like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.
 bigdec-ratio.diff
521 bytes Download
Comment 2 by richhickey, Feb 09, 2009
fixed in svn 1257 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13422">CLJ-25</key>
            <summary>GC Issue 21: bigdec truncates rational</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:03:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22525" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/25&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/25&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
bigdec-ratio.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-hcCaw3er3Qr1eJe5aVNr/download/b-hcCaw3er3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-hcCaw3er3Qr1eJe5aVNr/download/b-hcCaw3er3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22526" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:b-hcCaw3er3Qr1eJe5aVNr&quot;&gt;file:b-hcCaw3er3Qr1eJe5aVNr&lt;/a&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-24] GC Issue 20: release-pending-sends</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-24</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 richhickey, Dec 23, 2008
Agents in perpetual loops would like to send actions that don&apos;t wait &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
current action completion

Comment 1 by richhickey, Dec 23, 2008
added in svn 1185
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13421">CLJ-24</key>
            <summary>GC Issue 20: release-pending-sends</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:02:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22524" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/24&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/24&lt;/a&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-26] GC Issue 22: Make sure all integer ops return smallest representation</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-26</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 richhickey, Dec 28, 2008
Right now not all integers that can be represented as longs are, leading to
cases of different representations of integers of same value, and the
resulting problems &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; hashCode.

Comment 1 by christophe.grand, Dec 29, 2008
added LongOps 
uncommented the two lines in reduce(BigInteger)
 LongOps.patch
4.9 KB Download
Comment 2 by richhickey, Dec 29, 2008
Thanks! I&apos;m having some problems applying the patch. I get a LongOps class with
several opsWith(LongOps) entries and other errors.

Would it be possible to produce a patch/diff with more context?
Comment 3 by christophe.grand, Dec 29, 2008
diff -u5 &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; time, hoping it works better &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; you than plain svn diff.
 LongOps.diff
5.6 KB Download
Comment 4 by richhickey, Dec 29, 2008
Patch applied - svn 1190 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13423">CLJ-26</key>
            <summary>GC Issue 22: Make sure all integer ops return smallest representation</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:03:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22527" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/26&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/26&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
LongOps.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/czfSXuw3er3P8LeJe5afGb/download/czfSXuw3er3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/czfSXuw3er3P8LeJe5afGb/download/czfSXuw3er3P8LeJe5afGb&lt;/a&gt;&lt;br/&gt;
LongOps.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/czfVTsw3er3P8LeJe5afGb/download/czfVTsw3er3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/czfVTsw3er3P8LeJe5afGb/download/czfVTsw3er3P8LeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22528" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:czfSXuw3er3P8LeJe5afGb&quot;&gt;file:czfSXuw3er3P8LeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22529" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:czfVTsw3er3P8LeJe5afGb&quot;&gt;file:czfVTsw3er3P8LeJe5afGb&lt;/a&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-28] GC Issue 24: Remove hard search for .class files in RT.load</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-28</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 richhickey, Dec 29, 2008
On Android, class can be loadable without accessible .class file, so no
.class or .clj is not an error. Must &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; to load speculatively in that &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;.

Comment 1 by richhickey, Dec 29, 2008
svn 1188
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13425">CLJ-28</key>
            <summary>GC Issue 24: Remove hard search for .class files in RT.load</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:05:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22534" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/28&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/28&lt;/a&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-20] GC Issue 16: Pretty printing</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-20</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 richhickey, Dec 17, 2008
A rudimentary pprint
Some efforts have been posted to group, no consensus yet&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13417">CLJ-20</key>
            <summary>GC Issue 16: Pretty printing</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="tomfaulhaber">Tom Faulhaber</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:58:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22510" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/20&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/20&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
add-pprint.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aPTaMOvS8r36QjeJe5cbCb/download/aPTaMOvS8r36QjeJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aPTaMOvS8r36QjeJe5cbCb/download/aPTaMOvS8r36QjeJe5cbCb&lt;/a&gt;&lt;br/&gt;
add-pprint.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aXqnnYvS8r3630eJe5cbLA/download/aXqnnYvS8r3630eJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aXqnnYvS8r3630eJe5cbLA/download/aXqnnYvS8r3630eJe5cbLA&lt;/a&gt;&lt;br/&gt;
verify-added-metadata-for-pprint-api.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dtjKrQvVCr36mfeJe5cbLr/download/dtjKrQvVCr36mfeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dtjKrQvVCr36mfeJe5cbLr/download/dtjKrQvVCr36mfeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22511" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;richhickey said: Should now be - move pprint to clojure.jar&lt;/p&gt;</comment>
                    <comment id="22512" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="22513" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;tomfaulhaber said: We&apos;ll address this by moving the version of pprint from contrib into clojure for 1.2.&lt;/p&gt;

&lt;p&gt;The plan is:&lt;/p&gt;

&lt;p&gt;1.  Remove the gen-class requirement from pprint (see ticket 81 in clojure)&lt;/p&gt;

&lt;p&gt;2. Create a branch of clojure that includes:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The clojure.contrib.pprint tree less the examples directory (I&apos;ll put these in their own github project for the moment).&lt;/li&gt;
	&lt;li&gt;A new doc directory for the supporting docs that get picked up by autodoc (this is broken right now, but I&apos;m about to fix it).&lt;/li&gt;
	&lt;li&gt;tests moved from contrib to clojure tests&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;3. Create a patch that matches my branch. Add it to the ticket.&lt;/p&gt;

&lt;p&gt;4. Commit the patch once it&apos;s reviewed&lt;/p&gt;

&lt;p&gt;5. Update contrib to point back to clojure with the appropriate deprecation warnings.&lt;/p&gt;</comment>
                    <comment id="22514" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;tomfaulhaber said: [&lt;a href=&quot;file:aPTaMOvS8r36QjeJe5cbCb&quot;&gt;file:aPTaMOvS8r36QjeJe5cbCb&lt;/a&gt;]: The patch that add clojure.pprint&lt;/p&gt;</comment>
                    <comment id="22515" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;tomfaulhaber said: [&lt;a href=&quot;file:aXqnnYvS8r3630eJe5cbLA&quot;&gt;file:aXqnnYvS8r3630eJe5cbLA&lt;/a&gt;]: The patch that adds clojure.pprint&lt;/p&gt;</comment>
                    <comment id="22516" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:dtjKrQvVCr36mfeJe5cbLr&quot;&gt;file:dtjKrQvVCr36mfeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22517" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;stu said: The following vars are the doc&apos;ed, public API. These are the same as contrib, minus earmuffs on code-dispatch and simple-dispatch.&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;*print-base*
*print-miser-width*
*print-pprint-dispatch*
*print-pretty*
*print-radix*
*print-right-margin*
*print-suppress-namespaces*
cl-format
code-dispatch
formatter
formatter-out
fresh-line
get-pretty-writer
pp
pprint
pprint-indent
pprint-logical-block
pprint-newline
pprint-tab
set-pprint-dispatch
simple-dispatch
with-pprint-dispatch
write
write-out&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="22518" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;stu said: Tom&apos;s patch looks good. My patch simply adds a test for :added metadata. &lt;/p&gt;

&lt;p&gt;Don&apos;t forget: We&apos;ll need a separate code change to refer some vars at the repl.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-30] GC Issue 26: agent error queue</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-30</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 richhickey, Jan 01, 2009
Route agent errors to a queue

Comment 1 by chouser, May 26, 2009
The attached patch allows agents to have an error-callback, which could be used to
route errors to one or more queues.

Example usage:

user=&amp;gt; (send-off (agent nil
                   :error-callback (fn [a es]
                                     (.printStackTrace (first es))
                                     (clear-agent-errors a)))
                 (fn f [_]
                   (&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;/sleep 1000)
                   (send-off *agent* f)))
#&amp;lt;Agent@5dd2b9b7: nil&amp;gt;
user=&amp;gt; (shutdown-agents)
nil
user=&amp;gt;
java.lang.RuntimeException: Error executing action user$eval__394$f__399@63d87b85
        at clojure.lang.Agent$Action.execute(Agent.java:63)
        at clojure.lang.Agent$Action.doRun(Agent.java:107)
        at clojure.lang.Agent$Action.run(Agent.java:118)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.java:619)
Caused by: java.util.concurrent.RejectedExecutionException
        at
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1760)
        at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
        at clojure.lang.Agent$Action.execute(Agent.java:57)
        ... 5 more

 error-callback.patch
3.9 KB Download&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13427">CLJ-30</key>
            <summary>GC Issue 26: agent error queue</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:06:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22537" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/30&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/30&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
error-callback.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dY6WBiw3er3R14eJe5aVNr/download/dY6WBiw3er3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dY6WBiw3er3R14eJe5aVNr/download/dY6WBiw3er3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
agent-error-handler-v1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cwEwcA_RSr3RpIeJe5aVNr/download/cwEwcA_RSr3RpIeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cwEwcA_RSr3RpIeJe5aVNr/download/cwEwcA_RSr3RpIeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22538" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dY6WBiw3er3R14eJe5aVNr&quot;&gt;file:dY6WBiw3er3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22539" author="importer" created="Tue, 24 Aug 2010 03:44: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="22540" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;richhickey said: could you please name them set/get-agent-error-callback and mark them as experimental? thanks&lt;/p&gt;</comment>
                    <comment id="22541" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;richhickey said: &amp;lt;pre&amp;gt;could you please name them set/get-agent-error-callback and mark them as experimental? thanks&amp;gt;&amp;lt;/pre&amp;gt;&lt;/p&gt;</comment>
                    <comment id="22542" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;richhickey said: &lt;tt&gt;could you please name them set/get-agent-error-callback and mark them as experimental? thanks&lt;/tt&gt;&lt;/p&gt;</comment>
                    <comment id="22543" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &amp;lt;pre&amp;gt;I was under the impression this patch had some significant&lt;br/&gt;
flaws:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://clojure-log.n01se.net/date/2009-05-26.html#11:22-11:50&quot;&gt;http://clojure-log.n01se.net/date/2009-05-26.html#11:22-11:50&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Specific issues:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;error handlers using clear-agent-errors&lt;/li&gt;
	&lt;li&gt;the error being a seq instead of a single error&lt;/li&gt;
	&lt;li&gt;no way for the handler to know what the action or action&lt;br/&gt;
   args were (needed to re-run the action)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Is marking this as &quot;experimental&quot; sufficient to cover those&lt;br/&gt;
issues for now?&amp;lt;/pre&amp;gt;&lt;/p&gt;</comment>
                    <comment id="22544" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;richhickey said: &amp;lt;pre&amp;gt;&lt;br/&gt;
I agree this still needs work, but would be nice to get it in people&apos;s hands&lt;br/&gt;
to get some feedback.&lt;/p&gt;

&lt;p&gt;I guess don&apos;t mark it fixed until we are happy with it? Or, we could create a branch&lt;br/&gt;
&amp;lt;/pre&amp;gt;&lt;/p&gt;</comment>
                    <comment id="22545" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;richhickey said: We need to finesse this a bit or pull for 1.1. I&apos;m not sure anyone is using it, so we&apos;ve had no feedback. I don&apos;t want to marry the error seq, so how about just simply:&lt;/p&gt;

&lt;p&gt;agent + exception&lt;br/&gt;
clear-agent-errors is not ok in a handler&lt;br/&gt;
mark as experimental - subject to change&lt;/p&gt;</comment>
                    <comment id="22546" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;chouser@n01se.net said: A proposed solution is discussed here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.assembla.com/wiki/show/clojure/Agent_exception_handlers&quot;&gt;http://www.assembla.com/wiki/show/clojure/Agent_exception_handlers&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22547" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:cwEwcA_RSr3RpIeJe5aVNr&quot;&gt;file:cwEwcA_RSr3RpIeJe5aVNr&lt;/a&gt;]: Implementation of :error-handler proposal &amp;#8211; still needs docstrings and more testing, but code should be complete.&lt;/p&gt;</comment>
                    <comment id="22548" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:b63af1ad6ce38b50552be3c424ea166cb063ee7c&amp;#93;&lt;/span&gt;]) Add agent error handlers and error modes :fail and :continue. Fixes #30&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-32] GC Issue 28: Substraction sometimes yields wrong result due to IntegerOps.Negate overflow (with patch</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-32</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 olov.lassus, Jan 02, 2009
Negating &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;.MIN_VALUE overflows but should &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; a BigInteger.  
It also affects binary subtraction since Clojure &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; it using  
negation and addition. The overflow occurs silently without throwing  
an exception.

These examples trigger the flaw:

user=&amp;gt; (- -2147483648)
-2147483648

user=&amp;gt; (- -1 -2147483648)
-2147483649


The attached patch apply cleanly against trunk r1195. Same examples after
applying it:

user=&amp;gt; (- -2147483648)
2147483648

user=&amp;gt; (- -1 -2147483648)
2147483647

 detect_negate_overflow.patch
507 bytes Download
Comment 1 by richhickey, Jan 07, 2009
fixed in svn 1203
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13429">CLJ-32</key>
            <summary>GC Issue 28: Substraction sometimes yields wrong result due to IntegerOps.Negate overflow (with patch</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:07:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22554" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/32&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/32&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
detect_negate_overflow.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aC6MlEw3ir3Qr1eJe5aVNr/download/aC6MlEw3ir3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aC6MlEw3ir3Qr1eJe5aVNr/download/aC6MlEw3ir3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22555" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aC6MlEw3ir3Qr1eJe5aVNr&quot;&gt;file:aC6MlEw3ir3Qr1eJe5aVNr&lt;/a&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-29] GC Issue 25: ClassNotFoundException when loading a clojure app under the Android vm</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-29</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 va3pip, Dec 29, 2008
What (small set of) steps will reproduce the problem?
Compile and run a clojure based Android app under the emulator.  While
loading, it&apos;ll &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; a clojure.core__init class not found exception. A good
sample clojure Android app is at: 
    http:&lt;span class=&quot;code-comment&quot;&gt;//github.com/Nafai77/helloandroid/tree/master
&lt;/span&gt;
What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?
It should be able to find clj based classes

What version are you using?
svn 1191

Please provide any additional information below.
I&apos;ve attached a patch to RT.java that changes classForName() and
loadClassForName() to &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; classloader &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; DynamicClassLoader
fails to find the requested class.  I probably overlooked some corner &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;
with these 2 changes, so I&apos;ll expect you&apos;ll fix/change &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch :) - but
I&apos;ll send in a CA tomorrow anyways, just in &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;.  Note: it still won&apos;t run
the app as there&apos;s a VerifyError with StringBuilder.append() - &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; details,
see:   http:&lt;span class=&quot;code-comment&quot;&gt;//paste.lisp.org/display/72811
&lt;/span&gt;
 dalvikvm.patch
791 bytes Download
Comment 1 by richhickey, Dec 30, 2008
svn 1192
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13426">CLJ-29</key>
            <summary>GC Issue 25: ClassNotFoundException when loading a clojure app under the Android vm</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:05:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22535" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/29&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/29&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
dalvikvm.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFLbLCw3er3R14eJe5aVNr/download/dFLbLCw3er3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFLbLCw3er3R14eJe5aVNr/download/dFLbLCw3er3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22536" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dFLbLCw3er3R14eJe5aVNr&quot;&gt;file:dFLbLCw3er3R14eJe5aVNr&lt;/a&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-23] GC Issue 19: Unquote not in syntax-quote yield (unquote x)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-23</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 richhickey, Dec 23, 2008
Currently yields an Unquote object
clojure/unquote would remain undefined, thus would still be error &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;
evaluated, but user macros could use &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; escaping

Comment 1 by richhickey, Dec 23, 2008
added svn 1184
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13420">CLJ-23</key>
            <summary>GC Issue 19: Unquote not in syntax-quote yield (unquote x)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:01:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22523" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/23&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/23&lt;/a&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-38] GC Issue 34: A Lisp reader without access to EvalReader()</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-38</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 dresweng...@dreish.org, Jan 06, 2009
Like any good Lisp, Clojure can compile and run code &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; reading, read and compile code &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; 
running, and read and run code &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; compiling.

Unfortunately that means it isn&apos;t safe &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; an application to use (read) to read something from an 
untrusted source. If the input stream contains, e.g., #=(eval (def core-app-function #(&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; 
(Exception.)))), the application would blow up.

Feature request is &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; a version of the reader that has #= shut off, &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; reading untrusted data.

(Discussion was on #clojure; rhickey asked me to add &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, so there&apos;s no Google Group discussion 
that I&apos;m aware of.)
Comment 1 by christophe.grand, Jan 17, 2009
the aforementioned discussion: http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-01-06.html#18:41c
&lt;/span&gt;Comment 2 by the.stuart.sierra, Feb 18, 2009
Common Lisp has *read-eval*:
http:&lt;span class=&quot;code-comment&quot;&gt;//www.lispworks.com/documentation/HyperSpec/Body/v_rd_eva.htm
&lt;/span&gt;
A similar flag might be an easy way to implement a &lt;span class=&quot;code-quote&quot;&gt;&quot;safe&quot;&lt;/span&gt; reader.
Comment 3 by jhawk28, Mar 17, 2009
adds the *read-eval*
 Issue 34.patch.txt
2.1 KB Download
Comment 4 by richhickey, Apr 12, 2009
Patch applied - r1347 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13435">CLJ-38</key>
            <summary>GC Issue 34: A Lisp reader without access to EvalReader()</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:11:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22567" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/38&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/38&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
Issue34.patch.txt - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c3JgXGw3ir3PSteJe5afGb/download/c3JgXGw3ir3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c3JgXGw3ir3PSteJe5afGb/download/c3JgXGw3ir3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22568" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c3JgXGw3ir3PSteJe5afGb&quot;&gt;file:c3JgXGw3ir3PSteJe5afGb&lt;/a&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-33] GC Issue 29: Range sometimes yields wrong sequence (with patch)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-33</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 olov.lassus, Jan 02, 2009
The clojure.lang.Range type is implemented with integer type start and end
indices. The core.clj range function should detect when an index doesn&apos;t
fit inside an &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; and create an increasing sequence using iterate instead.
The current implementation detects too large positive, but not too large
negative ranges. The overflow occurs silently without throwing an exception.

Before:
user=&amp;gt; (take 1 (range -2147483649 0))
(2147483647)


After applying the patch which apply cleanly against trunk r1195:
user=&amp;gt; (take 1 (range -2147483649 0))
(-2147483649)


I also made the range function slightly less conservative &amp;lt; vs &amp;lt;= wise.
This shouldn&apos;t affect correctness but (range 0 2147483647) will now &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
a Range (after patch) instead of a LazyCons (before).

 support_large_negative_range.patch
918 bytes Download
Comment 1 by richhickey, Jan 07, 2009
Patch applied - svn 1204 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13430">CLJ-33</key>
            <summary>GC Issue 29: Range sometimes yields wrong sequence (with patch)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:08:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22556" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/33&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/33&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
support_large_negative_range.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a9MAyww3ir3Qr1eJe5aVNr/download/a9MAyww3ir3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a9MAyww3ir3Qr1eJe5aVNr/download/a9MAyww3ir3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22557" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a9MAyww3ir3Qr1eJe5aVNr&quot;&gt;file:a9MAyww3ir3Qr1eJe5aVNr&lt;/a&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-37] GC Issue 33: resultset-seq breaks when the result set contains duplicate column names (with patch)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-37</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 arohner, Jan 05, 2009
What (small set of) steps will reproduce the problem?

Create a java.sql.ResultSet containing two columns with the same name, and
then pass it to resultset-seq. 

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?
The expected output is an exception message that is helpful in diagnosing
the problem. resultset-seq instead &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; &quot;java.lang.RuntimeException:
java.lang.IllegalArgumentException: Too many arguments to struct constructor&quot; 

What version are you using?
This was first reproduced in r1060. svn shows the function has not been
touched since 2008-07-29

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/e533e9cdf758f210?q=#43e5775c2d959dc7
&lt;/span&gt;http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/58e4921de5c86c3c/7ca1de2daad839da?show_docid=7ca1de2daad839da
&lt;/span&gt;
The attached patch modifies resultset-seq to &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an exception with the
message &quot;
 resultset-seq.patch
1.5 KB Download
Comment 1 by arohner, Jan 05, 2009
The attached patch modifies resultset-seq to &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an exception with the message
&lt;span class=&quot;code-quote&quot;&gt;&quot;result set must have unique column names&quot;&lt;/span&gt; when the column names are duplicated. It
also moves the definition of the set function above resultset-seq.
Comment 2 by richhickey, Feb 09, 2009
shouldn&apos;t &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; use distinct? instead of set+count
Comment 3 by arohner, Feb 09, 2009
You&apos;re right. I was not aware of distinct? Attaching v2 of the patch. This time,
rather than moving the definition of set up, I&apos;ve moved the definition of
resultset-seq to below the definition of distinct?
 resultset-seq.v2.patch
2.2 KB Download
Comment 4 by richhickey, Apr 12, 2009
Fixed (also moved to using column labels) - r1346 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report.
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13434">CLJ-37</key>
            <summary>GC Issue 33: resultset-seq breaks when the result set contains duplicate column names (with patch)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:11:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22564" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/37&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/37&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
resultset-seq.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cAajI6w3ir3PSteJe5afGb/download/cAajI6w3ir3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cAajI6w3ir3PSteJe5afGb/download/cAajI6w3ir3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
resultset-seq.v2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cAamwsw3ir3PSteJe5afGb/download/cAamwsw3ir3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cAamwsw3ir3PSteJe5afGb/download/cAamwsw3ir3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22565" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cAajI6w3ir3PSteJe5afGb&quot;&gt;file:cAajI6w3ir3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22566" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cAamwsw3ir3PSteJe5afGb&quot;&gt;file:cAamwsw3ir3PSteJe5afGb&lt;/a&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-34] GC Issue 30: Add doc string to ns macro</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-34</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 richhickey, Jan 04, 2009
Support
(ns
  &lt;span class=&quot;code-quote&quot;&gt;&quot;doc string goes here&quot;&lt;/span&gt;
 ...)

Comment 1 by m...@kotka.de, Jan 04, 2009
Allow optional docstrings &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; a namespace as:

(ns foo.bar
  &lt;span class=&quot;code-quote&quot;&gt;&quot;docstring here&quot;&lt;/span&gt;
  ...)

Attached patch uses the namespace symbol to transport the docstring to the namespace.

The Namespace class is modified to call its superclass constructor with the metadata
of the symbol passed in as name. If the first item of the references part of the ns macro
is a string, it is attached to the metadata of the given Symbol. From there it is again
transferred to the meta data of the Namespace.

Modified doc to check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the given symbol being a Namespace. If so its docstring is
retrieved and printed. If the symbol does not name a Namespace, it is interpreted as
a Var.

Added helper print-namespace-doc to complement print-doc.


 issue-30.diff
2.2 KB Download
Comment 2 by richhickey, Jan 22, 2009
Patch applied - svn 1224 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13431">CLJ-34</key>
            <summary>GC Issue 30: Add doc string to ns macro</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22558" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/34&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/34&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-30.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bvKds6w3ir3Qr1eJe5aVNr/download/bvKds6w3ir3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bvKds6w3ir3Qr1eJe5aVNr/download/bvKds6w3ir3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22559" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bvKds6w3ir3Qr1eJe5aVNr&quot;&gt;file:bvKds6w3ir3Qr1eJe5aVNr&lt;/a&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-40] GC Issue 36: Add Counted marker interface</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-40</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 richhickey, Jan 07, 2009
Marker &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt; with no methods. Would indicate O(1) count &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
collections. Could be used to optimize vectr creation and some sequence ops

Comment 1 by chouser, Feb 10, 2009
Besides Java built-in classes, RT.count() works on
IPersistentCollection objects, so these are the ones that need to be
examined to see &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; they should implement Counted.

(defn getClassesInDir [basedir subdir]
  (let [regex (re-pattern (str basedir #&lt;span class=&quot;code-quote&quot;&gt;&quot;(.*)\.class&quot;&lt;/span&gt;))]
    (map #(&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;/forName (.replace (second (re-find regex (str %))) &lt;span class=&quot;code-quote&quot;&gt;&quot;/&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;.&quot;&lt;/span&gt;))
         (.listFiles (java.io.File. (str basedir subdir))))))

(def clj-classes (getClassesInDir &lt;span class=&quot;code-quote&quot;&gt;&quot;/home/chouser/build/clojure/classes/&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;clojure/lang&quot;&lt;/span&gt;))

(defn has-count? [c]
  (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; (.getMethod c &lt;span class=&quot;code-quote&quot;&gt;&quot;count&quot;&lt;/span&gt; (into-array &lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt; []))
    (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; NoSuchMethodException e)))

(count (filter has-count? clj-classes))  ==&amp;gt; 62 -- hopefully there are some useful
base classes.

(defn has-own-count? [c]
  (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; (.getDeclaredMethod c &lt;span class=&quot;code-quote&quot;&gt;&quot;count&quot;&lt;/span&gt; (into-array &lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt; []))
    (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; NoSuchMethodException e)))

(count (filter has-own-count? clj-classes))  ==&amp;gt; 26 -- better

user=&amp;gt; (dorun (map println (sort (map str (filter has-own-count? clj-classes)))))
class clojure.lang.AMapEntry
class clojure.lang.APersistentSet
class clojure.lang.APersistentVector$RSeq
class clojure.lang.APersistentVector$Seq
class clojure.lang.APersistentVector$SubVector
class clojure.lang.ASeq
class clojure.lang.ArraySeq
class clojure.lang.ArraySeq$ArraySeq_double
class clojure.lang.ArraySeq$ArraySeq_float
class clojure.lang.ArraySeq$ArraySeq_int
class clojure.lang.ArraySeq$ArraySeq_long
class clojure.lang.Cons
class clojure.lang.LazilyPersistentVector
class clojure.lang.PersistentArrayMap
class clojure.lang.PersistentArrayMap$Seq
class clojure.lang.PersistentHashMap
class clojure.lang.PersistentList
class clojure.lang.PersistentList$EmptyList
class clojure.lang.PersistentQueue
class clojure.lang.PersistentQueue$Seq
class clojure.lang.PersistentStructMap
class clojure.lang.PersistentTreeMap
class clojure.lang.PersistentTreeMap$Seq
class clojure.lang.PersistentVector
class clojure.lang.Range
&lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt; clojure.lang.IPersistentCollection

The promise of Counted is non-obvious &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; some of these.  For example,
APersistentSet and PersistentStructMap both have count() methods that
rely on IPersistentMap, which does not itself promise Counted.
However everything in clojure.lang that currently provides
IPersistentMap also promises Counted, so it seems appropriate &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
APersistentSet and PersistentStructMap to promise Counted as well.

Similarly, APersistentVector$Seq uses count() from IPersistentVector
which does not itself promise Counted.  But since PersistentVector and
LazilyPersistentVector are both Counted, APersistentVector$Seq can
promise Counted.

Finally, PersistentQueue and PersistentQueue$Seq use ISeq.count(), but
the only ISeqs they use are PersistentList or seqs on vectors, so both
can also promise Counted.

If any of those conclusions are incorrect, or &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the Counted marker
should be moved up to a parent &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt; in any of those cases, please
let me know.

The first patch attached marks almost all of the &apos;has-own-count?&apos;
classes listed earlier as Counted.  The four non-Counted classes from
that list are:

(dorun (map println (filter #(and (has-own-count? %)
                                  (not (isa? % clojure.lang.Counted)))
                            clj-classes)))
clojure.lang.ASeq
clojure.lang.PersistentTreeMap$Seq
clojure.lang.Cons
clojure.lang.IPersistentCollection

There are total of 36 Counted classes, and 27 non-Counted
IPersistentCollection classes.

 add-counted.patch
10.2 KB Download
Comment 2 by richhickey, Feb 10, 2009
Thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; doing the legwork on &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, fixed in 1268
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13437">CLJ-40</key>
            <summary>GC Issue 36: Add Counted marker interface</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22570" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/40&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/40&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
add-counted.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/adJv1uw3mr3PSteJe5afGb/download/adJv1uw3mr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/adJv1uw3mr3PSteJe5afGb/download/adJv1uw3mr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22571" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:adJv1uw3mr3PSteJe5afGb&quot;&gt;file:adJv1uw3mr3PSteJe5afGb&lt;/a&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-39] GC Issue 35: Wiki is closed to the public</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-39</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 dresweng...@dreish.org, Jan 07, 2009
Last night on IRC, the GC Wiki was suggested as a way to organize a users&apos;
wish-list so rhickey can conveniently ignore it and focus on real issues in
the issue tracker.  Unfortunately, it appears only rhickey is allowed to
edit, much less add pages to, the wiki.

Comment 1 by richhickey, Jan 07, 2009
No, the suggestion was to use the user wiki:

http:&lt;span class=&quot;code-comment&quot;&gt;//en.wikibooks.org/wiki/Clojure_Programming
&lt;/span&gt;Status: WontFix&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13436">CLJ-39</key>
            <summary>GC Issue 35: Wiki is closed to the public</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:13:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22569" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/39&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/39&lt;/a&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-44] GC Issue 40: Overflow check in Numbers.minus (+ patch)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-44</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 achim.passen, Jan 10, 2009
There are some corner cases where &lt;span class=&quot;code-quote&quot;&gt;&quot;-&quot;&lt;/span&gt;  overflows but does not &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an &lt;span class=&quot;code-quote&quot;&gt;&quot;integer overflow&quot;&lt;/span&gt; 
exception:

user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE) 
-1 
user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MIN_VALUE) 
-1 

The problem seems to be that negating MIN_VALUE yields MIN_VALUE   
again, so it slips through the overflow check. The patch adds extra checks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; MIN_VALUE.

version: SVN r1205

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/3db6cb2b71008e73
&lt;/span&gt;
 overflow.diff
693 bytes Download
Comment 1 by richhickey, Jan 14, 2009
patch applied - svn 1212 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13441">CLJ-44</key>
            <summary>GC Issue 40: Overflow check in Numbers.minus (+ patch)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:16:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22578" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/44&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/44&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
overflow.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bz9pX-w3mr3PSteJe5afGb/download/bz9pX-w3mr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bz9pX-w3mr3PSteJe5afGb/download/bz9pX-w3mr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22579" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bz9pX-w3mr3PSteJe5afGb&quot;&gt;file:bz9pX-w3mr3PSteJe5afGb&lt;/a&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-43] GC Issue 39: Reader metadata fails for empty collection literals</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-43</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 chouser, Jan 09, 2009
What (small set of) steps will reproduce the problem?

Originally reported by Tomasz Skutnik.

user=&amp;gt; (meta #^{:some :metadata} [])
nil
user=&amp;gt; (meta #^{:some :metadata} ())
nil
user=&amp;gt; (meta #^{:some :metadata} {})
nil

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I expect to see metadata {:some :metadata} as I &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; in these cases:

user=&amp;gt; (meta #^{:some :metadata} [1])
{:some :metadata}
user=&amp;gt; (meta &apos;#^{:some :metadata} (1))
{:some :metadata}
user=&amp;gt; (meta #^{:some :metadata} {:a 1})
{:some :metadata}
user=&amp;gt; (meta (with-meta [] {:some :metadata}))
{:some :metadata}
user=&amp;gt; (meta (with-meta () {:some :metadata}))
{:some :metadata}
user=&amp;gt; (meta (with-meta {} {:some :metadata}))
{:some :metadata}

What version are you using?

SVN 1205

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/686e161b780565e0
&lt;/span&gt;
Please provide any additional information below.

Comment 1 by richhickey, Jan 14, 2009
fixed in svn 1213 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13440">CLJ-43</key>
            <summary>GC Issue 39: Reader metadata fails for empty collection literals</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:15:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22577" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/43&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/43&lt;/a&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-41] GC Issue 37: .hashCode and .equals for Clojure vectors/seqs break Java contract.</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-41</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 wolfe.a.jason, Jan 07, 2009
What (small set of) steps will reproduce the problem?

(list (.equals [1 2] (seq [1 2])) (.hashCode [1 2]) (.hashCode &apos;(1 2)))


What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I see (&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; 994 -1919631597)
I think I should see (&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; i i), or perhaps (&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; i j) &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; some ints i, j


What version are you using?

svn 1162


Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/5d11bc0da25a7ecc/06d6cd888a516119?hl=en&amp;amp;lnk=gst&amp;amp;q=.hashcode#06d6cd888a516119
&lt;/span&gt;
Nobody asked me to add &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; here so I hope &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; isn&apos;t out of line ... 


Please provide any additional information below.

The crux is, the Java API says:

&quot;If two objects are equal according to the equals(&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)  method, then
calling the hashCode method on each of the two objects must produce the
same integer result. &quot;

As you can see here:

user&amp;gt; (doseq [s [&apos;(1 2) (seq &apos;(1 2)) [1 2] (seq [1 2]) (ArrayList. [1
2])]]
  (print &lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt; (.hashCode s))
  (doseq [t [&apos;(1 2) (seq &apos;(1 2)) [1 2] (seq [1 2]) (ArrayList. [1
2])]]
    (print &lt;span class=&quot;code-quote&quot;&gt;&quot;\t&quot;&lt;/span&gt; (.equals s t))))

 -1919631597     &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
 -1919631597     &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
 994             &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
 -1919631597     &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
 994             &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;   &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;   &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;   &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; 

&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; contract is violated by Clojure collections.  In particular, 
(.equals [1 2] (seq [1 2]) but they have different .hashCode()s.  

Some issues &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; can cause
  - Clojure hash-map and array-map have different behaviors
  - (get (hash-map {(vector &amp;amp;args) &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;} (list &amp;amp;args)) will &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    iff there is a hash collision between the vector and list (?) 
  - Unexpected pain in unknown places when using Clojure objects in Java
code that expects the contract to hold

-Jason

Comment 1 by wolfe.a.jason, Jan 07, 2009
P.S. I realized that the reason &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the discrepancy might be that java.util.list
hashCodes (used by vectors) are defined in a front-to-back manner.  This makes it
perhaps non-obvious how to efficiently compute them recursively back-to-front, as one
might like to to &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; seqs (so that each &lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt;-seq can cache its hash value).  This
code shows that &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; can in fact be done efficiently.

(defn forward-hash &lt;span class=&quot;code-quote&quot;&gt;&quot;How hashCode() is defined in java.util.List&quot;&lt;/span&gt;  [s]
  (loop [s (seq s) h (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 1)]
    (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; s 
        (recur (&lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; s) (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; (unchecked-add (unchecked-multiply h 31) (hash (first s)))))
      h)))


(def &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;-pow 
     (memoize 
      (fn [x n]
 (let [x (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x) n (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; n)]
   (cond (zero? n) 1
  (even? n) (let [h (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;-pow x (/ n 2))] (unchecked-multiply h h))
  :&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;     (unchecked-multiply x (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;-pow x (dec n))))))))

(defn backward-hash &lt;span class=&quot;code-quote&quot;&gt;&quot;Compute the same value as forward-hash, but back-to-front.&quot;&lt;/span&gt;  [s]
  (let [s (seq s) p (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;-pow 31 (count (&lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; s)))]
    (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; s 
        (unchecked-add (unchecked-multiply 30 p)
         (unchecked-add (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; (backward-hash (&lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; s)))
          (unchecked-multiply (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; (hash (first s))) p)))
 1)))
   

user&amp;gt; (map #(% (vec (range 1000))) [forward-hash backward-hash #(.hashCode %)])
(133786869 133786869 133786869)

HTH, Jason

P.P.S. I&apos;ll put my Contributor Agreement in the mail today.   
Comment 2 by wolfe.a.jason, Jan 07, 2009
Note on a small special &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;: Java &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; effectively has hash code 0 (I think) whereas
java.util.List hashCode() must be 1 &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; empty Lists.  Fortunately, the REPL says:

user&amp;gt; (.equals [1] (seq [1]))
&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
user&amp;gt; (.equals [] (seq []))
&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;

so I guess the empty vector is not .equal to the empty seq anyway (as mandated by the
Java API).  So, giving non-empty seqs java.util.List hashCodes would in fact be the
right thing to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;, it seems to me.  


Comment 3 by richhickey, Jan 15, 2009
Fixed - svn 1215 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13438">CLJ-41</key>
            <summary>GC Issue 37: .hashCode and .equals for Clojure vectors/seqs break Java contract.</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22572" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/41&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/41&lt;/a&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-45] GC Issue 41: [PATCH] several macros claim to want only 2 binding forms, allow more</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-45</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 Chousuke, Jan 10, 2009
several macros only check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (even? (count bindings)) even though they
should check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; exactly 2 bindings. 

Trivial fix attached.

--
Jarkko Oranen
 fix-check.patch
1.5 KB Download
Comment 1 by chouser, Jan 10, 2009
Whoops.  Thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; catching that, Jarkko.
Comment 2 by richhickey, Jan 14, 2009
patch applied - svn 1211 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13442">CLJ-45</key>
            <summary>GC Issue 41: [PATCH] several macros claim to want only 2 binding forms, allow more</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:17:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22580" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/45&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/45&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix-check.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bU2G4ow3mr3PSteJe5afGb/download/bU2G4ow3mr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bU2G4ow3mr3PSteJe5afGb/download/bU2G4ow3mr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22581" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bU2G4ow3mr3PSteJe5afGb&quot;&gt;file:bU2G4ow3mr3PSteJe5afGb&lt;/a&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-46] GC Issue 42: Classes from :methods argument vectors are not resolved before passing to overload-names (+ patch (?))</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-46</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 m...@kotka.de, Jan 10, 2009
What (small set of) steps will reproduce the problem?

Try to compile the following namespace definition:

(ns foo.Bar
  (:gen-class
     :methods [[toString [&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;] &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;]]))

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I expect &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; to compile normally, but the following exception is thrown:

1:1 user=&amp;gt; (binding [*compile-path* &lt;span class=&quot;code-quote&quot;&gt;&quot;tmp&quot;&lt;/span&gt;] (compile &apos;foo.Bar))
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.IllegalArgumentException: No matching field found: 
getSimpleName &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; class clojure.lang.Symbol (Bar.clj:1)

What version are you using?

SVN rev. 1195

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:

The issue was brought up by baggins on #clojure:
http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-01-10.html#07:54
&lt;/span&gt;
Please provide any additional information below.

Attached is a patch, which fixes the symptom. But I&apos;m not sure, whether it fixes the issue.
 issue-42.diff
851 bytes Download
Comment 1 by richhickey, Jan 14, 2009
Path applied - svn 1210 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13443">CLJ-46</key>
            <summary>GC Issue 42: Classes from :methods argument vectors are not resolved before passing to overload-names (+ patch (?))</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:17:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22582" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/46&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/46&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-42.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cdfd3ww3mr3Qr1eJe5aVNr/download/cdfd3ww3mr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cdfd3ww3mr3Qr1eJe5aVNr/download/cdfd3ww3mr3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22583" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cdfd3ww3mr3Qr1eJe5aVNr&quot;&gt;file:cdfd3ww3mr3Qr1eJe5aVNr&lt;/a&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-27] GC Issue 23: mod (modulo) operator</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-27</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 mark.engelberg, Dec 28, 2008
mod (modulo) is similar to rem, but the result will always have the same
positive/negative sign as the second input:

(mod 2 5) -&amp;gt; 2
(mod 2 -5) -&amp;gt; -3
(mod -2 5) -&amp;gt; 3
(mod -2 -5) -&amp;gt; -2

Note that rem always has a result whose sign matches the first input:
(rem 2 5) -&amp;gt; 2
(rem 2 -5) -&amp;gt; 2
(rem -2 5) -&amp;gt; -2
(rem -2 -5) -&amp;gt; -2

So mod and rem yield the same answer &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; both inputs are positive, or both
are negative.  However, when the signs are mixed, they differ.

Sample code:
(defn mod [a b]
  (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (or (&amp;lt; a 0 b) (&amp;lt; b 0 a))
    (+ (rem a b) b)
    (rem a b)))
Comment 1 by achim.passen, Dec 29, 2008
A patch that adds mod and sgn
 mod-sgn.diff
6.9 KB Download
Comment 2 by richhickey, Jan 07, 2009
hmm... Mark&apos;s sample code looks much simpler - anything wrong with it?
Comment 3 by achim.passen, Jan 08, 2009
Not at all, it&apos;s functionally equivalent. I implemented it in Java mainly to be consistent with the other basic math 
op implementations. The Java version seems to be a tick faster (~500ms vs ~600ms on 100000 pairs of 
randomly typed random numbers here).

Attached is a simplified patch which adds LongOps support and gets rid of signum.


 r1205+mod.diff
4.9 KB Download
Comment 4 by richhickey, Jan 22, 2009
Added Mark&apos;s version, SVN 1227 - thanks!
Status: Fixed
Comment 6 by timothypratley, Feb 12, 2009
Yet another &apos;fixed&apos; version:
(mod 9 -3) -&amp;gt; 0
(mod 4.5 2) -&amp;gt; 0.5
 mod-fix.patch
759 bytes Download
Comment 7 by richhickey, Feb 23, 2009
patch applied - svn 1302 - thanks!&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13424">CLJ-27</key>
            <summary>GC Issue 23: mod (modulo) operator</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:04:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22530" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/27&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/27&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
mod-fix.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5Ksw6w3er3PSteJe5afGb/download/c5Ksw6w3er3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5Ksw6w3er3PSteJe5afGb/download/c5Ksw6w3er3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
r1205mod.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5KveQw3er3PSteJe5afGb/download/c5KveQw3er3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5KveQw3er3PSteJe5afGb/download/c5KveQw3er3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
mod-sgn.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5KxFww3er3PSteJe5afGb/download/c5KxFww3er3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5KxFww3er3PSteJe5afGb/download/c5KxFww3er3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22531" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c5Ksw6w3er3PSteJe5afGb&quot;&gt;file:c5Ksw6w3er3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22532" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c5KveQw3er3PSteJe5afGb&quot;&gt;file:c5KveQw3er3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22533" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c5KxFww3er3PSteJe5afGb&quot;&gt;file:c5KxFww3er3PSteJe5afGb&lt;/a&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-49] GC Issue 45: :post-init option for gen-class</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-49</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 chouser, Jan 15, 2009
Describe the feature/change.

It&apos;s currently impossible to create a class with gen-class that calls
its own (or its &lt;span class=&quot;code-keyword&quot;&gt;super&lt;/span&gt;-classes&apos;) methods when it is constructed.  This
is a problem &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there is stateful initialization required by the
superclass &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; which it has only methods, not ctor args.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/d1fbdb7450b46dee/b5539e4a21c411c6
&lt;/span&gt;http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-01-15.html#10:22-10:37a
&lt;/span&gt;
Comment 1 by chouser, Mar 07, 2009
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
 gen-class-post-init.patch
3.7 KB Download
Comment 2 by cjkent, Mar 24, 2009
I&apos;ve applied the patch and it works, but only &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; I define a post-init function with
no args.  I was expecting at least a single &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;&quot;&lt;/span&gt; arg.  Or is there another way to
get a reference to the newly created object?
Comment 3 by chouser, Mar 24, 2009
The args given to your class&apos;s constructor are passed directly to your post-init
function.  But you have a good point -- the &apos;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;&apos; arg should probably be included. 
I&apos;ve attached a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; patch that allows &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;:

(ns clojure.contrib.test-clojure.gen-class
  (:gen-class
     :&lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; javax.swing.border.TitledBorder
     :constructors {[&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;] [&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;]}
     :init my-init
     :post-init after-ctor))

(defn -my-init [x y s]
  (println &lt;span class=&quot;code-quote&quot;&gt;&quot;Init ignoring&quot;&lt;/span&gt; x &lt;span class=&quot;code-quote&quot;&gt;&quot;and&quot;&lt;/span&gt; y &lt;span class=&quot;code-quote&quot;&gt;&quot;, going with&quot;&lt;/span&gt; (str &lt;span class=&quot;code-quote&quot;&gt;&quot;foo+&quot;&lt;/span&gt; s))
  [[(str &lt;span class=&quot;code-quote&quot;&gt;&quot;foo+&quot;&lt;/span&gt; s)] nil])

(defn -after-ctor [&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; x y s]
  (print &lt;span class=&quot;code-quote&quot;&gt;&quot;Constructing&quot;&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;with &quot;&lt;/span&gt;)
  (prn x y s))

user=&amp;gt; (compile &apos;clojure.contrib.test-clojure.gen-class)
clojure.contrib.test-clojure.gen-class

user=&amp;gt; (clojure.contrib.test_clojure.gen_class. 3 4 &lt;span class=&quot;code-quote&quot;&gt;&quot;hello&quot;&lt;/span&gt;)
Init ignoring 3 and 4 , going with foo+hello
Constructing #&amp;lt;gen_class clojure.contrib.test_clojure.gen_class@1ab2b55&amp;gt; with 3 4 &lt;span class=&quot;code-quote&quot;&gt;&quot;hello&quot;&lt;/span&gt;
#&amp;lt;gen_class clojure.contrib.test_clojure.gen_class@1ab2b55&amp;gt;

 post-init.patch
3.8 KB Download
Comment 4 by cjkent, Mar 25, 2009
Great, that works perfectly.  Thanks.
Comment 5 by richhickey, Apr 12, 2009
Patch applied - r1348 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13446">CLJ-49</key>
            <summary>GC Issue 45: :post-init option for gen-class</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:21:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22588" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/49&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/49&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
post-init.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/acQi8-w3qr3PSteJe5afGb/download/acQi8-w3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/acQi8-w3qr3PSteJe5afGb/download/acQi8-w3qr3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
gen-class-post-init.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/acQlMww3qr3PSteJe5afGb/download/acQlMww3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/acQlMww3qr3PSteJe5afGb/download/acQlMww3qr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22589" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:acQi8-w3qr3PSteJe5afGb&quot;&gt;file:acQi8-w3qr3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22590" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:acQlMww3qr3PSteJe5afGb&quot;&gt;file:acQlMww3qr3PSteJe5afGb&lt;/a&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-52] GC Issue 48: Per defmulti hierarchies</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-52</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 m...@kotka.de, Jan 17, 2009
Describe the feature/change.

This is an issue from the TODO list.

Currently multimethods use the global-hierarchy. However sometimes it is useful, to define
a dedicated hierarchy &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; a given set of multimethods. The attached patch adds a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;
:hierarchy argument to defmulti which specifies the desired hierarchy. The hierarchy may be
any IRef.

The patch depends on the patch of  issue #8 .

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/f8b1be403c927b03/438c21a8007
&lt;/span&gt;2a105?lnk=gst&amp;amp;q=per+defmulti+hierarchies

 issue-48.diff
3.4 KB Download
Comment 1 by richhickey, Feb 09, 2009
patch applied - svn 1262 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13449">CLJ-52</key>
            <summary>GC Issue 48: Per defmulti hierarchies</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:23:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22599" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/52&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/52&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-48.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bFLf80w3qr3PSteJe5afGb/download/bFLf80w3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bFLf80w3qr3PSteJe5afGb/download/bFLf80w3qr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22600" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bFLf80w3qr3PSteJe5afGb&quot;&gt;file:bFLf80w3qr3PSteJe5afGb&lt;/a&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-35] GC Issue 31: Report more incorrect usages of binding vectors</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-35</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 chouser, Jan 05, 2009
What (small set of) steps will reproduce the problem?

The (&amp;lt; x y) form of the following expression is silently ignored:
(take 100 (&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; [x  (range 1000) y (range 1000) (&amp;lt; x y)][x y])) 

What version are you using?

SVN 1195

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/56793fb65903cece
&lt;/span&gt;
Please provide any additional information below.

The attached patch is identical to the one in the discussion thread.
 binding-assertions.patch
8.1 KB Download
Comment 1 by richhickey, Jan 07, 2009
patch applied - svn 1205 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13432">CLJ-35</key>
            <summary>GC Issue 31: Report more incorrect usages of binding vectors</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22560" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/35&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/35&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
binding-assertions.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bQyrVOw3ir3R14eJe5aVNr/download/bQyrVOw3ir3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bQyrVOw3ir3R14eJe5aVNr/download/bQyrVOw3ir3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22561" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bQyrVOw3ir3R14eJe5aVNr&quot;&gt;file:bQyrVOw3ir3R14eJe5aVNr&lt;/a&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-48] GC Issue 44: non-Exception throwables stay wrapped in InvocationTargetException</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-48</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 s-google...@localtoast.org, Jan 14, 2009
What (small set of) steps will reproduce the problem?

Invoke a java method which &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; an AssertionError (or any other subclass
of Error), through reflection.

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I&apos;d expect to &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; the AssertionError object itself (which is the &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;
a type-annotated call). Instead, I end up catching an InvocationTargetException

What version are you using?

r1214

Comment 1 by richhickey, Jan 24, 2009
Could you please provide some Clojure code that demonstrates the problem?
Comment 2 by s-google...@localtoast.org, Jan 29, 2009
; method defined through clojure &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; brevity, any java method which &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; a
non-Exception will suffice
user=&amp;gt; (defn &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt;-error [] (&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Error)))
#&apos;user/&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt;-error

; expected behavior (type annotation creates a direct call)
user=&amp;gt; (let [#^clojure.lang.IFn o &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt;-error] (.invoke o))
java.lang.Error (NO_SOURCE_FILE:0)

; unexpected behavior, the reflect code has wrapped our Throwable
user=&amp;gt; (let [o &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt;-error] (.invoke o))
java.lang.reflect.InvocationTargetException (NO_SOURCE_FILE:0)


Comment 3 by richhickey, Feb 23, 2009
fixed - svn 1303 - thank &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report
Status: Fixed
Comment 4 by berlin.brown, Feb 24, 2009
I am getting &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; error also, is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; fixed in the december release:


(defn simple-mkdirs-handler
  &lt;span class=&quot;code-quote&quot;&gt;&quot;Simple utility to make directories.  Throws error on invalid directory.&quot;&lt;/span&gt;
  [dirname]
  ;;;;;;;;;;;;;;;;;
  (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (empty? dirname) (&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Error. &lt;span class=&quot;code-quote&quot;&gt;&quot;ERR: &amp;lt;mkdirs&amp;gt; Invalid Directory&quot;&lt;/span&gt;))
      (let [file (&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; File dirname)]
        (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (not (.canWrite file))
          (&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Error. &lt;span class=&quot;code-quote&quot;&gt;&quot;ERR: &amp;lt;mkdirs&amp;gt; Invalid Directory. Cannot write.&quot;&lt;/span&gt;))
          (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; (.mkdirs file)
               (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception e
                      (&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Error. (str &quot;ERR: &amp;lt;mkdirs&amp;gt; Invalid Directory. Cannot
mkdir =&amp;gt; &quot; 
                                          (.getMessage e))))))))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13445">CLJ-48</key>
            <summary>GC Issue 44: non-Exception throwables stay wrapped in InvocationTargetException</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:19:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22587" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/48&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/48&lt;/a&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-22] GC Issue 18: with-open allows multiple bindings but silently closes only the first</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-22</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 Chousuke, Dec 18, 2008
in Clojure rev 1175
------------------------------
(&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &apos;(java.io StringReader))
(def stream1 (StringReader. &lt;span class=&quot;code-quote&quot;&gt;&quot;Test&quot;&lt;/span&gt;))
(def stream2 (StringReader. &lt;span class=&quot;code-quote&quot;&gt;&quot;Test2&quot;&lt;/span&gt;))

(with-open [a stream1 b stream2] (println &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;-nothing&quot;&lt;/span&gt;))

(.ready stream2) ; should &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an exception, but doesn&apos;t, since stream2 is
not closed

the reason is simple enough: in with-open, the bindings parameter is passed
to let, but in the &lt;span class=&quot;code-keyword&quot;&gt;finally&lt;/span&gt; clause, only a simple (.close ~(first bindings))
is emitted.

I have a patch to make with-open support multiple bindings cleanly, but I
&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; not have a CA so I can&apos;t submit it.

--
Jarkko Oranen




Comment 1 by m...@kotka.de, Dec 18, 2008
Reading the docstring I get the impression, that only one binding was intended at the beginning.
However allowing multiple bindings would a) not be a problem, b) justify the let style binding and
c) have pratical relevance.

I attached a simple patch.
 with-open.diff
887 bytes Download
Comment 2 by Chousuke, Dec 19, 2008
The patch is essentially identical to the solution I came up with, except that I used
let* instead of let &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; safety because destructuring doesn&apos;t make sense &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; with-open.

I&apos;m going to have to go submit a CA so that next time I have an issue with a solution
I can actually submit the patch myself :)
Comment 3 by richhickey, Dec 19, 2008
That is a good point - destructuring is not supported. I don&apos;t think let* is the way
to achieve that - no one should be writing let* directly. The macro could just check
that all bindings are to simple symbols.

Also, the closes should happen in reverse order.

This can be achieved by solving the last, most important problem - you can&apos;t just &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; with one let, as each binding could potentially fail:

open a
open b
&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; exception opening c

b and a never closed.

i.e., multi-binding with-open must use nested lets/trys, maybe could be defined in
terms of recursive calls to current macro.
Comment 4 by m...@kotka.de, Dec 19, 2008
Argh. I should really think, before writing.

Ok. Here the next idea:
with-open calls itself recursively. It checks that the next binding target (?) is a symbol.
Then it assigns just &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; one binding to a let and again calls itself wrapped in a &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;. This
gives in particular the reverse order &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; closing. And in &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; something bad happens
during opening ensures that previously opened streams are closed.

I had one problem though: Since we check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the bindings being a vector, one has
to take care, that one passes around the bindings again as a vector. Or one uses an
&lt;span class=&quot;code-keyword&quot;&gt;inner&lt;/span&gt; macro, where with-open does the check and then passes on to with-open*,
which also accepts a seq.

I took a different route and simply did a subvec instead of a take or drop. Then
we check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the vector several times, but I think &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is the least intrusive version.
I had to move the subvec defn upwards, though.

 with-open.diff
2.3 KB Download
Comment 5 by richhickey, Dec 23, 2008
Patch applied (svn 1182) - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13419">CLJ-22</key>
            <summary>GC Issue 18: with-open allows multiple bindings but silently closes only the first</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:00:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22520" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/22&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/22&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
with-open.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aq046Aw3er3PSteJe5afGb/download/aq046Aw3er3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aq046Aw3er3PSteJe5afGb/download/aq046Aw3er3PSteJe5afGb&lt;/a&gt;&lt;br/&gt;
with-open-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aq08wqw3er3PSteJe5afGb/download/aq08wqw3er3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aq08wqw3er3PSteJe5afGb/download/aq08wqw3er3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22521" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aq046Aw3er3PSteJe5afGb&quot;&gt;file:aq046Aw3er3PSteJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22522" author="importer" created="Tue, 24 Aug 2010 04:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aq08wqw3er3PSteJe5afGb&quot;&gt;file:aq08wqw3er3PSteJe5afGb&lt;/a&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-56] GC Issue 52: Make set/union accept any number of arguments</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-56</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 konrad.h...@laposte.net, Jan 20, 2009
Describe the feature/change.

set/union currently accepts two sets as arguments. The operation is well defined &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; any number of 
sets and similar operations (+, concat, ...) take any number of arguments, so I think set/union 
should &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; so as well.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:


 set-union.diff
575 bytes Download
Comment 1 by scgilardi, Jan 20, 2009
There are implementations here as well:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/5bb548afe2cbbe02
&lt;/span&gt;
At one point, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; was on Rich&apos;s &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; Clojure &lt;span class=&quot;code-quote&quot;&gt;&quot;to-&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;&quot;&lt;/span&gt; list.

Comment 2 by wolfe.a.jason, Jan 22, 2009
On a somewhat related note, let me plug my own post about efficient set operations:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/29609929e94f279c?hl=en#
&lt;/span&gt;
(I am in favor of multi-arg set functions as well; &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; my versions don&apos;t &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, I
believe &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; can be done simply by (reduce union #{} sets) or (reduce
intersection/difference (first sets) (&lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; sets))


Comment 3 by wolfe.a.jason, Feb 02, 2009
This may now be subsumed by &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; issue:

http:&lt;span class=&quot;code-comment&quot;&gt;//code.google.com/p/clojure/issues/detail?id=64&amp;amp;colspec=ID%20Type%20Status%20Priority%20Reporter%20Owner%20Summary
&lt;/span&gt;
which includes a patch &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; multi-arg, more efficient
clojure.set/union/difference/intersection functions.
Comment 4 by richhickey, Feb 22, 2009
(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13453">CLJ-56</key>
            <summary>GC Issue 52: Make set/union accept any number of arguments</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:26:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22607" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/56&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/56&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
set-union.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5rguUw3qr3PSteJe5afGb/download/c5rguUw3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5rguUw3qr3PSteJe5afGb/download/c5rguUw3qr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22608" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c5rguUw3qr3PSteJe5afGb&quot;&gt;file:c5rguUw3qr3PSteJe5afGb&lt;/a&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-51] GC Issue 47: format, name and namespace are not hinted {:tag String}</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-51</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 christophe.grand, Jan 15, 2009
format, name and namespace are not hinted {:tag &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;}

(If you can&apos;t apply &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch, I promise to never use svn diff again!)
 name-namespace-format.patch
933 bytes Download
Comment 1 by christophe.grand, Jan 16, 2009
A broader patch that removes many reflection warnings from clojure.core files.
(I don&apos;t see how to prevent inlinable fns to raise warnings &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; their &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;&quot;&lt;/span&gt;.)
 clojure-core-hints.patch
14.6 KB Download
Comment 2 by christophe.grand, Jan 17, 2009
added hints to to-array and to-array-2d.
 clojure-core-hints2.patch
15.2 KB Download
Comment 3 by richhickey, Jan 24, 2009
This is great!

patch applied - svn 1229 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13448">CLJ-51</key>
            <summary>GC Issue 47: format, name and namespace are not hinted {:tag String}</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:22:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22595" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/51&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/51&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-core-hints.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a67udew3qr3P8LeJe5afGb/download/a67udew3qr3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a67udew3qr3P8LeJe5afGb/download/a67udew3qr3P8LeJe5afGb&lt;/a&gt;&lt;br/&gt;
clojure-core-hints2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a67xgIw3qr3P8LeJe5afGb/download/a67xgIw3qr3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a67xgIw3qr3P8LeJe5afGb/download/a67xgIw3qr3P8LeJe5afGb&lt;/a&gt;&lt;br/&gt;
name-namespace-format.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a67z28w3qr3P8LeJe5afGb/download/a67z28w3qr3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a67z28w3qr3P8LeJe5afGb/download/a67z28w3qr3P8LeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22596" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a67udew3qr3P8LeJe5afGb&quot;&gt;file:a67udew3qr3P8LeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22597" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a67xgIw3qr3P8LeJe5afGb&quot;&gt;file:a67xgIw3qr3P8LeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22598" author="importer" created="Tue, 24 Aug 2010 07:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a67z28w3qr3P8LeJe5afGb&quot;&gt;file:a67z28w3qr3P8LeJe5afGb&lt;/a&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-59] GC Issue 55: &quot;repeat&quot; with multiple arities and remove &quot;replicate&quot;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-59</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 timothypratley, Jan 28, 2009
&lt;span class=&quot;code-quote&quot;&gt;&quot;repeat&quot;&lt;/span&gt; with multiple arities and remove &lt;span class=&quot;code-quote&quot;&gt;&quot;replicate&quot;&lt;/span&gt;
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/bb2bd6ad6986fed
&lt;/span&gt;f


 repeat.patch
746 bytes Download
Comment 1 by timothypratley, Jan 28, 2009
opps didn&apos;t mean to submit &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; yet sorry, hang on.
Comment 2 by timothypratley, Jan 28, 2009
Please find attached the &apos;real&apos; patch! Sorry, first time using &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; system.
 repeat.patch
3.1 KB Download
 contrib-repeat.patch
740 bytes Download
Comment 3 by richhickey, Feb 09, 2009
I don&apos;t have a CA from you, please see:

http:&lt;span class=&quot;code-comment&quot;&gt;//clojure.org/contributing
&lt;/span&gt;Comment 4 by richhickey, Apr 12, 2009
Repeat now supports an optional number-of-repetitions arg. Removing replicate is
another issue
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13456">CLJ-59</key>
            <summary>GC Issue 55: &quot;repeat&quot; with multiple arities and remove &quot;replicate&quot;</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:29:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22612" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/59&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/59&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
repeat.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a6jRnuw3ur3O2PeJe5afGb/download/a6jRnuw3ur3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a6jRnuw3ur3O2PeJe5afGb/download/a6jRnuw3ur3O2PeJe5afGb&lt;/a&gt;&lt;br/&gt;
repeat-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a6jT6sw3ur3O2PeJe5afGb/download/a6jT6sw3ur3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a6jT6sw3ur3O2PeJe5afGb/download/a6jT6sw3ur3O2PeJe5afGb&lt;/a&gt;&lt;br/&gt;
contrib-repeat.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a6jWBIw3ur3O2PeJe5afGb/download/a6jWBIw3ur3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a6jWBIw3ur3O2PeJe5afGb/download/a6jWBIw3ur3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22613" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a6jRnuw3ur3O2PeJe5afGb&quot;&gt;file:a6jRnuw3ur3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22614" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a6jT6sw3ur3O2PeJe5afGb&quot;&gt;file:a6jT6sw3ur3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22615" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:a6jWBIw3ur3O2PeJe5afGb&quot;&gt;file:a6jWBIw3ur3O2PeJe5afGb&lt;/a&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-50] GC Issue 46: callable defstruct (PersistentStructMap$Def extends AFn)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-50</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 chouser, Jan 15, 2009
Describe the feature/change.

This much works already:
(defstruct rect :width :height)
(struct rect 5 10)  ==&amp;gt; {:width 5, :height 10}

With the included patch you can also:
(rect 5 10)  ==&amp;gt; {:width 5, :height 10}

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/12a138ad58ff6c36/b20b68ef939fccf7
&lt;/span&gt;
Comment 1 by chouser, Jan 15, 2009
Forgot the patch attachment.
 structmap-def-&lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt;-restfn.patch
923 bytes Download&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13447">CLJ-50</key>
            <summary>GC Issue 46: callable defstruct (PersistentStructMap$Def extends AFn)</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:21:00 -0500</created>
                <updated>Mon, 15 Nov 2010 08:14:04 -0600</updated>
                    <resolved>Mon, 15 Nov 2010 08:14:04 -0600</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22591" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/50&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/50&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
structmap-def-extends-restfn.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aFFlyCw3qr3R14eJe5aVNr/download/aFFlyCw3qr3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aFFlyCw3qr3R14eJe5aVNr/download/aFFlyCw3qr3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22592" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aFFlyCw3qr3R14eJe5aVNr&quot;&gt;file:aFFlyCw3qr3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22593" author="importer" created="Tue, 24 Aug 2010 14:44: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="22594" author="importer" created="Tue, 24 Aug 2010 14:44:00 -0500"  >&lt;p&gt;richhickey said: I&apos;m not sure I want to touch structmaps prior to implements&lt;/p&gt;</comment>
                    <comment id="25941" author="chouser@n01se.net" created="Sun, 14 Nov 2010 21:22:54 -0600"  >&lt;p&gt;This ticket has survived almost two years, two bug tracker migrations&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; and now who uses structs anymore?  Records have essentially this syntax for their ctors.  I nominate this ticket be closed as &quot;wontfix&quot; or equivalent.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;: &lt;a href=&quot;http://code.google.com/p/clojure/issues/detail?id=46&quot;&gt;http://code.google.com/p/clojure/issues/detail?id=46&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10013">Test</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-62] GC Issue 58: `() gives strange compiler error (i.e. backquote of empty list)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-62</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 tuomas.lukka, Jan 29, 2009

What (small set of) steps will reproduce the problem?

Run the code `()   

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I&apos;d expect it to &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; a quoted empty list. Instead an error results:

Exception in thread &lt;span class=&quot;code-quote&quot;&gt;&quot;main&quot;&lt;/span&gt; java.lang.UnsupportedOperationException: Unknown
Collection type (test.clj:1)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.load(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4476)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.loadFile(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4437)
 at clojure.lang.Script.main(Script.java:65)
Caused by: java.lang.UnsupportedOperationException: Unknown Collection type
 at clojure.lang.LispReader$SyntaxQuoteReader.syntaxQuote(LispReader.java:711)
 at clojure.lang.LispReader$SyntaxQuoteReader.invoke(LispReader.java:655)
 at clojure.lang.LispReader.read(LispReader.java:143)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.load(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4466)
 ... 2 more

What version are you using?

20081217

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

no

Please provide any additional information below.

Comment 1 by richhickey, Feb 09, 2009
fixed in svn 1255 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13459">CLJ-62</key>
            <summary>GC Issue 58: `() gives strange compiler error (i.e. backquote of empty list)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:31:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22621" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/62&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/62&lt;/a&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-61] GC Issue 57: Compiler internal error when expanding macro: class not found</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-61</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 tuomas.lukka, Jan 29, 2009
 
------------------------------

What (small set of) steps will reproduce the problem?

Run the following code:

(defmacro b [] (let [ x (fn [] []) ] x))
(def a (fn [] (b)))


What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I&apos;d expect it to either pass or give a proper error. What I get
is

Exception in thread &lt;span class=&quot;code-quote&quot;&gt;&quot;main&quot;&lt;/span&gt; java.lang.ExceptionInInitializerError (test.clj:2)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$DefExpr.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:308)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4147)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.load(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4470)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.loadFile(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4437)
 at clojure.lang.Script.main(Script.java:65)
Caused by: java.lang.ExceptionInInitializerError
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.newInstance0(&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.java:355)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.newInstance(&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.java:308)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnExpr.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3218)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$DefExpr.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:297)
 ... 4 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
clojure.core$b__1$x__3
 at clojure.lang.RT.readString(RT.java:1192)
 at clojure.core$a__7.&amp;lt;clinit&amp;gt;(test.clj:2)
 ... 12 more
Caused by: java.lang.ClassNotFoundException: clojure.core$b__1$x__3
 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:52)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.loadClass(&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.java:307)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.loadClass(&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.java:252)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.loadClassInternal(&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.java:320)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.forName0(Native Method)
 at java.lang.&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.forName(&lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;.java:247)
 at clojure.lang.RT.classForName(RT.java:1506)
 at clojure.lang.LispReader$EvalReader.invoke(LispReader.java:908)
 at clojure.lang.LispReader$DispatchReader.invoke(LispReader.java:530)
 at clojure.lang.LispReader.read(LispReader.java:143)
 at clojure.lang.RT.readString(RT.java:1188)
 ... 13 more


What version are you using?

20081217

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

no&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13458">CLJ-61</key>
            <summary>GC Issue 57: Compiler internal error when expanding macro: class not found</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:31:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22618" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/61&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/61&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22619" author="importer" created="Tue, 24 Aug 2010 03:44: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="22620" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;stu said: The code appears to run correctly against current master.&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-65] GC  Issue 62:    Make clojure.main not exit when exception during --init if user requested a repl</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-65</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 arohner, Jan 31, 2009

Describe the feature/change.

clojure.main should not exit &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there was an exception in an --init file
and the user requested a repl. i.e.

java -cp clojure.jar clojure.main --init file-with-errors.clj -r 

should not exit. Having a repl is useful to read doc strings and experiment
with fixes &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the problem.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/f96109d71fa47200#
&lt;/span&gt;
The attached patch adds a &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;/&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; around the init method &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the repl in
clojure.main. It does not change the behavior &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; where the user
specifies a file to run rather than a repl.

Comment 1  by richhickey, Feb 09, 2009
patch applied - svn 1258 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13462">CLJ-65</key>
            <summary>GC  Issue 62:    Make clojure.main not exit when exception during --init if user requested a repl</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:43:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22628" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/65&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/65&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
main-not-exit.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bcXZ2Cw3Cr3Qr1eJe5aVNr/download/bcXZ2Cw3Cr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bcXZ2Cw3Cr3Qr1eJe5aVNr/download/bcXZ2Cw3Cr3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22629" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bcXZ2Cw3Cr3Qr1eJe5aVNr&quot;&gt;file:bcXZ2Cw3Cr3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22630" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-60] GC Issue 56: Make printed IRef&apos;s more useful</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-60</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 chouser, Jan 28, 2009
Describe the feature/change.

Currently when you print an IRef, the contents are not printed.  With
the attached patch:

user=&amp;gt; (agent 99)
#&amp;lt;Agent@1dee400: 99&amp;gt;

user=&amp;gt; (atom #{:bomb})
#&amp;lt;Atom@e3849c: #{:bomb}&amp;gt;

user=&amp;gt; (ref &lt;span class=&quot;code-quote&quot;&gt;&quot;erence&quot;&lt;/span&gt;)
#&amp;lt;Ref@44cbbe: &lt;span class=&quot;code-quote&quot;&gt;&quot;erence&quot;&lt;/span&gt;&amp;gt;

Note that they&apos;re no more readable in the (read) sense.  Also note
that Vars are unchanged:

user=&amp;gt; #&apos;nil?
#&apos;clojure.core/nil?

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/e63c5e3e1f429f6e
&lt;/span&gt;
 print-iref.patch
694 bytes Download
Comment 1 by richhickey, Feb 09, 2009
patch applied - svn 1254 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13457">CLJ-60</key>
            <summary>GC Issue 56: Make printed IRef&apos;s more useful</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:30:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22616" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/60&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/60&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
print-iref.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bprrp8w3ur3O2PeJe5afGb/download/bprrp8w3ur3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bprrp8w3ur3O2PeJe5afGb/download/bprrp8w3ur3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22617" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:bprrp8w3ur3O2PeJe5afGb&quot;&gt;file:bprrp8w3ur3O2PeJe5afGb&lt;/a&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-63] GC Issue 60: Ratio to floating point conversion miscalculation</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-63</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 jbondeson, Jan 30, 2009
Originally discussed here:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/1f8029b8556ce851/9b7538b192490097?lnk=gst&amp;amp;q=ratio#9b7538b192490097
&lt;/span&gt;
The current implementation of conversion of clojure.lang.Ratio class
to a fixed precision floating point value is not what one would expect. 
For example:

user&amp;gt; (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt; (/ (expt 2 1024) 3))
Infinity
when in fact it should &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;: 5.992310449541053E307  

Attached is the fix &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the Ratio class to allow &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the proper conversion
to a &lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt; or &lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt; by using a BigDecimal division with a fixed precision.

Additionally, I sent in my CA on Monday, so it should be there anytime now.
 ratio-conv.diff
1.0 KB Download
Comment 1 by richhickey, Feb 09, 2009
patch applied - svn 1256 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13460">CLJ-63</key>
            <summary>GC Issue 60: Ratio to floating point conversion miscalculation</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:32:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22622" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/63&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/63&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ratio-conv.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ckgKFGw3ur3R14eJe5aVNr/download/ckgKFGw3ur3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ckgKFGw3ur3R14eJe5aVNr/download/ckgKFGw3ur3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22623" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:ckgKFGw3ur3R14eJe5aVNr&quot;&gt;file:ckgKFGw3ur3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22624" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-66] GC Issue 63:    docstring for refer-clojure is outdated</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-66</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 chouser, Feb 02, 2009

What (small set of) steps will reproduce the problem?

user=&amp;gt; (doc refer-clojure)
-------------------------
clojure.core/refer-clojure
([&amp;amp; filters])
Macro
  Same as (refer &apos;clojure &amp;lt;filters&amp;gt;)
nil

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

Docstring should be:
Same as (refer &apos;clojure.core &amp;lt;filters&amp;gt;)

What version are you using?

1241 trunk

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/598502ccfc42a5ce
&lt;/span&gt;
Please provide any additional information below.

Comment 1 by richhickey, Feb 09, 2009
fixed in svn 1259 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13463">CLJ-66</key>
            <summary>GC Issue 63:    docstring for refer-clojure is outdated</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:46:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22631" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/66&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/66&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22632" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-55] GC Issue 51: defmacro forms return nil when evaled</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-55</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 christophe.grand, Jan 19, 2009
defmacro forms &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; nil when evaled &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; defn and def forms &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; the
defined Var.

 defmacro-returns-&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;.patch
700 bytes Download
Comment 1 by richhickey, Jan 24, 2009
patch applied - svn 1230 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13452">CLJ-55</key>
            <summary>GC Issue 51: defmacro forms return nil when evaled</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:25:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22605" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/55&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/55&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
defmacro-returns-var.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cGmKtuw3qr3P8LeJe5afGb/download/cGmKtuw3qr3P8LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cGmKtuw3qr3P8LeJe5afGb/download/cGmKtuw3qr3P8LeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22606" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cGmKtuw3qr3P8LeJe5afGb&quot;&gt;file:cGmKtuw3qr3P8LeJe5afGb&lt;/a&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-54] GC Issue 50: Fully qualified/classpath relative filename in a Var&apos;s metadata</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-54</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 m...@kotka.de, Jan 19, 2009
Describe the feature/change.

Currently only the basename of the file where a Var is defined is stored in its metadata.
Unfortunately &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is ambiguous. So extracting the exact position in the source tree
through use of the metadata is not possible.

Attached is a patch which stores

- the classpath relative filename &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; files loaded through the classpath or
- an absolute filename &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; files loaded via load-file

in the metadata of the Var. This removes any ambiguity.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:

This was briefly asked on the #clojure channel.
http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-01-19.html#11:55
&lt;/span&gt;
 issue-50.diff
921 bytes Download
Comment 1 by richhickey, Apr 12, 2009
Patch applied - r1349 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13451">CLJ-54</key>
            <summary>GC Issue 50: Fully qualified/classpath relative filename in a Var&apos;s metadata</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:24:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22603" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/54&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/54&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-50.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/clMnZGw3qr3PSteJe5afGb/download/clMnZGw3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/clMnZGw3qr3PSteJe5afGb/download/clMnZGw3qr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22604" author="importer" created="Tue, 24 Aug 2010 03:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:clMnZGw3qr3PSteJe5afGb&quot;&gt;file:clMnZGw3qr3PSteJe5afGb&lt;/a&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-36] GC Issue 32: Fix stray CPL comments and docstring for &apos;delay&apos;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-36</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 chouser, Jan 05, 2009
What (small set of) steps will reproduce the problem?

N/A

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

N/A

What version are you using?

SVN 1195

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/b2d73537eca894f0/d5a3b1e31f80c49f
&lt;/span&gt;
Please provide any additional information below.

 comments.patch
5.6 KB Download
Comment 1 by richhickey, Jan 06, 2009
oops - gotta change that comment template in all my editors

patch applied svn 1197 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13433">CLJ-36</key>
            <summary>GC Issue 32: Fix stray CPL comments and docstring for &apos;delay&apos;</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:10:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22562" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/36&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/36&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
comments.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-6ZScw3ir3Qr1eJe5aVNr/download/b-6ZScw3ir3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-6ZScw3ir3Qr1eJe5aVNr/download/b-6ZScw3ir3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22563" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:b-6ZScw3ir3Qr1eJe5aVNr&quot;&gt;file:b-6ZScw3ir3Qr1eJe5aVNr&lt;/a&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-70] GC Issue 67: clojure.lang.Compile doesn&apos;t provide a way to control *warn-on-reflection*</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-70</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 cemer...@snowtide.com, Feb 06, 2009

Attached is a patch to add a warn-on-reflection option to  
clojure.lang.Compile.  In &lt;span class=&quot;code-object&quot;&gt;short&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the clojure.compile.warn-on-
reflection system property is set to &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&quot;&lt;/span&gt;, then *warn-on-reflection*  
is set to &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the duration of the compile process &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the libs  
specified as command line args. 

This feature was discussed in #clojure on 2009.02.05:
http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-02-05.html#08:18
&lt;/span&gt;
Comment 1  by richhickey, Feb 09, 2009

patch applied - svn 1260 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13467">CLJ-70</key>
            <summary>GC Issue 67: clojure.lang.Compile doesn&apos;t provide a way to control *warn-on-reflection*</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:57:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22643" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/70&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/70&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0002-added-warn-on-reflection-option-to-c.l.Compile.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/avzlIQw3Kr3R14eJe5aVNr/download/avzlIQw3Kr3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/avzlIQw3Kr3R14eJe5aVNr/download/avzlIQw3Kr3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22644" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:avzlIQw3Kr3R14eJe5aVNr&quot;&gt;file:avzlIQw3Kr3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22645" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-72] GC Issue 69: Documentation: repl_and_main page should discuss use of java -jar clojure.jar</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-72</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 hlship, Feb 08, 2009

In many cases, when you have a script with no extra dependencies outside of
Clojure, it is easiest to:

java -jar clojure.jar myscript.clj

This should be mentioned on:

http:&lt;span class=&quot;code-comment&quot;&gt;//clojure.org/repl_and_main
&lt;/span&gt;
Comment 1 by richhickey, Feb 09, 2009

This was discussed and it was agreed that &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; causes more problems later on &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;
users when &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; to use other jars and -cp doesn&apos;t work

Status: WontFix&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13469">CLJ-72</key>
            <summary>GC Issue 69: Documentation: repl_and_main page should discuss use of java -jar clojure.jar</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:00:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22656" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/72&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/72&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22657" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#72, #82)&lt;/p&gt;

&lt;p&gt;WontFix on google code&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-71] GC Issue 68: every? returns nil instead of false</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-71</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 pedro.dhb, Feb 07, 2009


What (small set of) steps will reproduce the problem?

(every? #{\space} &lt;span class=&quot;code-quote&quot;&gt;&quot;dam&quot;&lt;/span&gt;) #=&amp;gt; nil


What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?
The expected output is &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; according to the API docs &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; every?. Currently nil is returned.

What version are you using?
SVN revision 1252

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:
It was mentioned on the IRC but not in the groups.

Please provide any additional information below.
_END _INFO



Comment 1 by slash2314, Feb 24, 2009

If need needs to &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; in &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;, I propose the following patch.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13468">CLJ-71</key>
            <summary>GC Issue 68: every? returns nil instead of false</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:58:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22646" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/71&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/71&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
every-false.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bjODraw3Kr3O2PeJe5afGb/download/bjODraw3Kr3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bjODraw3Kr3O2PeJe5afGb/download/bjODraw3Kr3O2PeJe5afGb&lt;/a&gt;&lt;br/&gt;
0001-core-make-every-return-false-instead-of-nil.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bZMX5WxNqr3P5SeJe5afGb/download/bZMX5WxNqr3P5SeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bZMX5WxNqr3P5SeJe5afGb/download/bZMX5WxNqr3P5SeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22647" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bjODraw3Kr3O2PeJe5afGb&quot;&gt;file:bjODraw3Kr3O2PeJe5afGb&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22648" author="importer" created="Tue, 24 Aug 2010 04: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="22649" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;richhickey said: No CA from original submitter - fresh patch welcome&lt;/p&gt;</comment>
                    <comment id="22650" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#42, #71)&lt;/p&gt;</comment>
                    <comment id="22651" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:drpB3kxNar3PzkeJe5afGb&quot;&gt;file:drpB3kxNar3PzkeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22652" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bZMX5WxNqr3P5SeJe5afGb&quot;&gt;file:bZMX5WxNqr3P5SeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22653" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: Sorry for the &quot;double post&quot;. &lt;br/&gt;
This new patch compiles fine for me and passes all the tests in contrib, so it doesn&apos;t look like anything depends on every? returning nil.&lt;/p&gt;</comment>
                    <comment id="22654" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:b03e19aa341fea01c1279a74f4184f6538d0f72e&amp;#93;&lt;/span&gt;]) core: make every? return false instead of nil&lt;/p&gt;

&lt;p&gt;Refs #71&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22655" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Created ticket #133 to track this fix against Clojure 1.0.  That allows this ticket to be closed.&lt;/p&gt;

&lt;p&gt;Dup&apos;ing a ticket like this is a bit of work, but if we like the results it can probably be automated pretty easily.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-53] GC Issue 49: Complement ~x =&gt; (unquote x) with ~@x =&gt; (unquote-splicing x)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-53</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 m...@kotka.de, Jan 18, 2009
Describe the feature/change.

Currently, ~ outside a syntax-quote is expanded to (clojure.core/unquote ..).
However &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is not done &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; ~@. The attached patch also introduces the
expansion of ~@ to (clojure.core/unquote-splicing ...).

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/6d0c5f7e37909055
&lt;/span&gt;

 issue-49.diff
2.2 KB Download
Comment 1 by richhickey, Feb 09, 2009
patch applied - svn 1263 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13450">CLJ-53</key>
            <summary>GC Issue 49: Complement ~x =&gt; (unquote x) with ~@x =&gt; (unquote-splicing x)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:24:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22601" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/53&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/53&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-49.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b1TQrsw3qr3Qr1eJe5aVNr/download/b1TQrsw3qr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b1TQrsw3qr3Qr1eJe5aVNr/download/b1TQrsw3qr3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22602" author="importer" created="Tue, 24 Aug 2010 06:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:b1TQrsw3qr3Qr1eJe5aVNr&quot;&gt;file:b1TQrsw3qr3Qr1eJe5aVNr&lt;/a&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-57] GC Issue 53: tree-seq arbitrarily requires its root arg to be a branch</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-57</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 christophe.grand, Jan 24, 2009
r1228:
user=&amp;gt; (tree-seq (constantly &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;) seq [1 2 3])
([1 2 3] 1 2 3) ; I expected ([1 2 3])

The actual behaviour of tree-seq is undefined when the root isn&apos;t a branch
since children is called upon root without any check.

The attached patch fixes &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; by always checking &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; a node is a branch
before calling children on it.

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/335707370295b654
&lt;/span&gt;


 tree-seq.patch
1.6 KB Download
Comment 1 by richhickey, Jan 24, 2009
patch applied - svn 1231 - thanks!
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13454">CLJ-57</key>
            <summary>GC Issue 53: tree-seq arbitrarily requires its root arg to be a branch</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 19:26:00 -0500</created>
                <updated>Tue, 24 Aug 2010 10:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 10:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22609" author="importer" created="Tue, 24 Aug 2010 10:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/57&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/57&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
tree-seq.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/doKXrMw3qr3PSteJe5afGb/download/doKXrMw3qr3PSteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/doKXrMw3qr3PSteJe5afGb/download/doKXrMw3qr3PSteJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22610" author="importer" created="Tue, 24 Aug 2010 10:44:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:doKXrMw3qr3PSteJe5afGb&quot;&gt;file:doKXrMw3qr3PSteJe5afGb&lt;/a&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-76] GC  Issue 73:    proxy macro allows invalid method declaration</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-76</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 jbondeson, Feb 09, 2009

This patch was originally discussed in IRC on 2009-02-09.

The proxy macro allows you to define methods of the same name within the
same block.  This results in a last-defined-wins scenario.

user&amp;gt; (def p (proxy [java.util.concurrent.Future] [] (get [] 0) (get
[timeout unit] 2)))
#&apos;user/p
user&amp;gt; (.get p 30 java.util.concurrent.TimeUnit/MILLISECONDS)
2
user&amp;gt; (.get p)
java.lang.IllegalArgumentException: Wrong number of args passed to:
user$fn--1271$fn (NO_SOURCE_FILE:0)

If the definitions are reversed the results are reversed:

user&amp;gt; (def q (proxy [java.util.concurrent.Future] [] (get [timeout unit] 2)
(get [] 0)))
#&apos;user/q
user&amp;gt; (.get q)
0
user&amp;gt; (.get q 30 java.util.concurrent.TimeUnit/MILLISECONDS)
java.lang.IllegalArgumentException: Wrong number of args passed to:
user$fn--1416$fn (NO_SOURCE_FILE:0)

The correct way to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; multiple files of different -arity is:

user&amp;gt; (def r (proxy [java.util.concurrent.Future] [] (get ([] 0) ([timeout
unit] 2))))
#&apos;user/r
user&amp;gt; (.get r)
0
user&amp;gt; (.get r 30 java.util.concurrent.TimeUnit/MILLISECONDS)
2

The attached patch will &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; an incorrect method redefinition and &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an
IllegalArgumentException identifying the method redefined.

Comment 1  by richhickey, Feb 10, 2009

patch applied - svn 1257 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13473">CLJ-76</key>
            <summary>GC  Issue 73:    proxy macro allows invalid method declaration</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:15:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22675" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/76&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/76&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
proxy-method-redefinition-error.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/co7pRWw3Sr3Qr1eJe5aVNr/download/co7pRWw3Sr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/co7pRWw3Sr3Qr1eJe5aVNr/download/co7pRWw3Sr3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22676" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:co7pRWw3Sr3Qr1eJe5aVNr&quot;&gt;file:co7pRWw3Sr3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22677" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-75] CG  Issue 72:    clojure.main/repl manipulates *in* in the body of the loop rather than in a read hook, can&apos;t override that behavior</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-75</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 scgilardi, Feb 09, 2009

What (small set of) steps will reproduce the problem?

    The defect is apparent by inspecting the source &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; clojure.main/repl.
Defect reported by Eric Thorsen.

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

    N/A

What version are you using?

    svn 1263

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

    http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/237632fbd6b3c01b
&lt;/span&gt;
Please provide any additional information below.

    A patch is attached. I cleaned up the read manipulations into a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;
repl-read hook. clojure.main/repl is more readable now. I also made
functions in clojure.main &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; repl-prompt and repl-caught, formerly inline
functions. Clarified some hook descriptions in the docs string &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; repl.
Avoided using a &lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; (even &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt;) &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the eof sentinel in eval-opt.

Note: the number of arguments to the read hook has changed. When &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch
is applied, all previous read hooks will need an update. I&apos;ll handle the
one in clojure.contrib.repl-ln.

Comment 1  by richhickey, Feb 10, 2009

Thanks! While &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch says it is based on rev 1263, it doesn&apos;t seem to reflect the
changes of rev 1258:

http:&lt;span class=&quot;code-comment&quot;&gt;//code.google.com/p/clojure/source/diff?spec=svn1258&amp;amp;r=1258&amp;amp;format=side&amp;amp;path=/trunk/src/clj/clojure/main.clj
&lt;/span&gt;
added &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;  issue 62 :

http:&lt;span class=&quot;code-comment&quot;&gt;//code.google.com/p/clojure/issues/detail?id=62
&lt;/span&gt;
Is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; just an oversight or was there a problem with that patch?


Comment 2 by scgilardi, Feb 10, 2009

It was just an oversight. I&apos;m sorry about that. Thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; catching it. The enclosed
patch: repl-read-2.patch includes the functionality from the fix to  issue 62 .

Comment 3  by richhickey, Feb 10, 2009

patch applied - svn 1269 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13472">CLJ-75</key>
            <summary>CG  Issue 72:    clojure.main/repl manipulates *in* in the body of the loop rather than in a read hook, can&apos;t override that behavior</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:12:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22671" 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/75&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/75&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
repl-read.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aZ0c5yw3Sr3R14eJe5aVNr/download/aZ0c5yw3Sr3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aZ0c5yw3Sr3R14eJe5aVNr/download/aZ0c5yw3Sr3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
repl-read-2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aZ0fMmw3Sr3R14eJe5aVNr/download/aZ0fMmw3Sr3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aZ0fMmw3Sr3R14eJe5aVNr/download/aZ0fMmw3Sr3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22672" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aZ0c5yw3Sr3R14eJe5aVNr&quot;&gt;file:aZ0c5yw3Sr3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22673" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aZ0fMmw3Sr3R14eJe5aVNr&quot;&gt;file:aZ0fMmw3Sr3R14eJe5aVNr&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22674" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-67] GC Issue 64: Efficient, multi-arg clojure.set/union/difference/intersection</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-67</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 wolfe.a.jason, Feb 02, 2009

Describe the feature/change.

Efficient set operations that use information about set sizes to iterate
through smaller sets.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/29609929e94f279c?hl=en&amp;amp;tvc=2&amp;amp;q=jason+set
&lt;/span&gt;
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/b35ca9035762e1a4/67786ac082d5f6f4?hl=en&amp;amp;lnk=gst&amp;amp;q=jason+set#67786ac082d5f6f4
&lt;/span&gt;
In particular, the second link describes the algorithms implemented in the
patch.

Also, since you didn&apos;t respond to my question, I decided to go ahead and
merge with &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; issue:

http:&lt;span class=&quot;code-comment&quot;&gt;//code.google.com/p/clojure/issues/detail?id=52&amp;amp;colspec=ID%20Type%20Status%20Priority%20Reporter%20Owner%20Summary
&lt;/span&gt;
and make multi-arg versions.  I can provide a two-arg patch instead &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you
prefer.

Right now, there is no calling of &lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt; or &lt;span class=&quot;code-quote&quot;&gt;&quot;set?&quot;&lt;/span&gt;, and so very unexpected
behavior may occur when non-sets are passed:

user=&amp;gt; (union #{1 2} #{4 5} [5 6 7] #{7 8})
[5 6 7 7 8 1 2 4 5]

(Since the vector is largest, it is used as the seed, and calling &lt;span class=&quot;code-quote&quot;&gt;&quot;into&quot;&lt;/span&gt; on
it uses vector rather than set semantics).

user=&amp;gt; (intersection #{0 1} [5 6 7])
#{0 1}

(Since the set is smallest, it is used as the seed.  Then, when we ask the
vector &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; it &lt;span class=&quot;code-quote&quot;&gt;&quot;contains?&quot;&lt;/span&gt; 0 or 1, it uses vector contains-index semantics
rather than set contains-value semantics).

If calling &lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt; on the arguments is low-overhead &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; things that are
already sets, I would be in favor of that rather than allowing the above
behaviors.  But, I got the impression you would not be, so I left &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; out
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; now.  

Please let me know &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you have any questions.

Comment 1  by richhickey, Feb 09, 2009

I don&apos;t understand the homemade sorts and two-arg-xxx fns

Comment 2 by wolfe.a.jason, Feb 09, 2009

The &lt;span class=&quot;code-quote&quot;&gt;&quot;homemade sorts&quot;&lt;/span&gt; are several times faster than &lt;span class=&quot;code-quote&quot;&gt;&quot;sort&quot;&lt;/span&gt; or the equivalent, because
they only need to extract the largest or smallest set from the arglist.  I couldn&apos;t
find a more concise or clear way of writing them that didn&apos;t slow the entire
functions down significantly when passed a few small sets.

The two-arg fns are just helpers, to avoid repeating the same code several times.

Take intersection, &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; instance.  The basic algorithm is:
  - Find and extract the smallest set from the arg-list
  - Successively intersect &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; with each other set, using two-arg-intersection
    (which iterates through the first set, which will always be smaller).
This means that intersection is O((size of smallest set) * (number of sets)) rather
than O(sum of set sizes) as you would get with a simpler implementation.



Comment 3 by richhickey, Feb 10, 2009

You could probably use min-key + remove &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you don&apos;t need a full sort:

(let [mv (apply min-key count vs) ovs (remove #(identical? mv %) vs)]...

If the hand bubble still has utility, you could make it its own function. The
duplication in union and intersection is not good.

As far as the external two-arg-fns, all I meant was that there&apos;s no reason not to
make these the two-arg arity overloads themselves, i.e. the variable arity
&apos;difference&apos; can reduce with the arity-2 &apos;difference&apos;. Lots of Clojure code does &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.


Comment 4 by wolfe.a.jason, Feb 10, 2009

My main goal in writing these was efficiency; in particular, my objective was to
perform as close to the current versions (with reduce) when passed a bunch of small
(e.g., single-element sets).  This meant trying to reduce the amount of per-argument
overhead.

I originally had factored out an extract-min (i.e., hand-bubble) function, but &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; it
to work &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; both union and intersection it had to take a compare or key function as
argument, and &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; seemed to slow things down substantially over inlining (along with
the one or two extra conses needed).

Similarly, the problem with making the two-arg version of intersection an arity
overload is that (the only way I can see how to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; it) &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; would triple-up on calls
to count.  I guess there&apos;s no reason not to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; it &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; difference though; that&apos;s
probably an artifact of an earlier version.

Anyway, I&apos;ll &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; some more experiments, &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; to clean these up a bit more, and submit
an updated patch.  In general, what&apos;s your feeling about trading off clarity of code
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; efficiency?  For instance, &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; getting rid of the inlined hand-bubble causes a 50%
performance hit on small sets, is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; worth it?

Thanks!

Comment 5 by richhickey, Feb 10, 2009

&amp;gt; In general, what&apos;s your feeling about trading off clarity of code &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; efficiency?  

I&apos;m generally against it.

&amp;gt; For instance, &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; getting rid of the inlined hand-bubble causes a 50% performance
hit on small sets, is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; worth it? 

Yes. Really, I don&apos;t want micro-optimized code like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; in Clojure. Things change
pretty fast in JVM optimization, and the tweaks you make now can become completely
irrelevant or even counterproductive in the &lt;span class=&quot;code-keyword&quot;&gt;future&lt;/span&gt;. Best to keep things simple and clear.


Comment 6 by wolfe.a.jason, Feb 11, 2009

OK, a second stab at a patch is attached.  I&apos;ve tried to clean things up as much as I
could without hurting efficiency too much.

In particular,
 - I extracted a bubble-max-key function.  I must have done something wrong before,
since &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; didn&apos;t actually slow things down by much.
 - I got rid of the &lt;span class=&quot;code-quote&quot;&gt;&quot;two-arg&quot;&lt;/span&gt; functions.  This had no effect &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; difference, but
slowed down intersection by up to 40% by tripling calls to &lt;span class=&quot;code-quote&quot;&gt;&quot;count&quot;&lt;/span&gt;.

Overall, intersection is up to 45% slower than the previous version, union is up to
25% slower, and difference is the same.  If you really don&apos;t like bubble-max-key, you
can replace it by

(defn bubble-max-key [k coll]
  (let [max (apply max-key k coll)]
    (cons max (remove #(identical? max %) coll))))

but &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; will make union and intersection run about twice as slow on inputs like
[#{1} #{2} #{3}].

Thanks!

Comment 7  by richhickey, Feb 11, 2009

patch applied - svn 1276 - thanks!

Your analysis of how much % slower is flawed though, a classic example of improving
the time of something that will be only a small part of the total runtime with
non-trivial sized sets, i.e. the algorithmic differences matter, the constant factors
per set (count calls etc) don&apos;t.

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13464">CLJ-67</key>
            <summary>GC Issue 64: Efficient, multi-arg clojure.set/union/difference/intersection</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:48:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22633" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/67&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/67&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
set-patch.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aZFbHiw3Gr3Qr1eJe5aVNr/download/aZFbHiw3Gr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aZFbHiw3Gr3Qr1eJe5aVNr/download/aZFbHiw3Gr3Qr1eJe5aVNr&lt;/a&gt;&lt;br/&gt;
set-patch2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aZKvGcw3Gr3Qr1eJe5aVNr/download/aZKvGcw3Gr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aZKvGcw3Gr3Qr1eJe5aVNr/download/aZKvGcw3Gr3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22634" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aZFbHiw3Gr3Qr1eJe5aVNr&quot;&gt;file:aZFbHiw3Gr3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22635" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aZKvGcw3Gr3Qr1eJe5aVNr&quot;&gt;file:aZKvGcw3Gr3Qr1eJe5aVNr&lt;/a&gt;]: on comment 6&lt;/p&gt;</comment>
                    <comment id="22636" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-58] GC Issue 54: defn with proxy inside with invalid proxy name gives a strange error</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-58</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 tuomas.lukka, Jan 27, 2009
------------------------------

What (small set of) steps will reproduce the problem?

(defn a []
    (proxy [&lt;span class=&quot;code-object&quot;&gt;Runnable&lt;/span&gt;] []
        (run [] (println &lt;span class=&quot;code-quote&quot;&gt;&quot;HEI&quot;&lt;/span&gt;))))

(defn a []
    (proxy [Foo] []
        (run [] (println &lt;span class=&quot;code-quote&quot;&gt;&quot;HEI&quot;&lt;/span&gt;))))


What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I&apos;d expect a reasonable compiler error. I get an internal
error instead.
java.lang.NullPointerException (test.clj:7)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4113)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3935)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3908)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$BodyExpr$Parser.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3613)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnMethod.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3456)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnMethod.access$1100(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3335)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnExpr.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:2921)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4104)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3935)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4094)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3935)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.access$100(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:38)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$DefExpr$Parser.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:366)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4106)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3935)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4094)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3935)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3908)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4146)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.load(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4470)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.loadFile(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4437)
 at clojure.main$load_script__5177.invoke(main.clj:117)
 at clojure.main$script_opt__5209.invoke(main.clj:163)
 at clojure.main$_main__5222.doInvoke(main.clj:227)
 at clojure.lang.RestFn.applyTo(RestFn.java:142)
 at clojure.main.main(Unknown Source)
Caused by: java.lang.NullPointerException
 at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:26)
 at clojure.core$get_super_and_interfaces__4708.invoke(core_proxy.clj:195)
 at clojure.core$proxy__4729.doInvoke(core_proxy.clj:270)
 at clojure.lang.RestFn.invoke(RestFn.java:445)
 at clojure.lang.Var.invoke(Var.java:335)
 at clojure.lang.AFn.applyToHelper(AFn.java:180)
 at clojure.lang.Var.applyTo(Var.java:444)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.macroexpand1(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4025)
 at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4092)
 ... 25 more



What version are you using?

20081217

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

Please provide any additional information below.

Comment 1 by tuomas.lukka, Jan 27, 2009
(and note that the first expression with &lt;span class=&quot;code-object&quot;&gt;Runnable&lt;/span&gt; works, the second with Foo is the
one that produces the error).
Comment 2 by richhickey, Apr 12, 2009
Fixed by r1342 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report
Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13455">CLJ-58</key>
            <summary>GC Issue 54: defn with proxy inside with invalid proxy name gives a strange error</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 21:28:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22611" author="importer" created="Tue, 24 Aug 2010 00:44:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/58&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/58&lt;/a&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-80] GC  Issue 77:    r1265 causes VerifyError on dalvik</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-80</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 rwvtveer, Feb 12, 2009

The inlining as provided by r1265 produces verifyerrors on dalvik (android):

W/dalvikvm(  214): VFY: unable to resolve virtual method 6650: Ljava/lang/StringBuilder;.append (C)Ljava/lang/AbstractStringBuilder;
W/dalvikvm(  214): VFY:  rejecting opcode 0x6e at 0x0043
W/dalvikvm(  214): VFY:  rejected Lclojure/core$slurp__4218;.invoke(Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;)Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
W/dalvikvm(  214): Verifier rejected class Lclojure/core$slurp__4218;
W/dalvikvm(  214): Exception Ljava/lang/VerifyError; thrown during Lclojure/core__init;.&amp;lt;clinit&amp;gt;
W/dalvikvm(  214): Exception Ljava/lang/RuntimeException; thrown during Lclojure/lang/RT;.&amp;lt;clinit&amp;gt;

As discussed on ml: http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/399090b419f72add/395d3b2b32660211
&lt;/span&gt;
Comment 1 by r.p.levy, Mar 11, 2009

Are you working on getting Clojure to function on the Android phone?  How can I learn
more about the status of that effort? Thanks! Rob

Comment 2 by rwvtveer, Mar 17, 2009

Without &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; r1265 changeset and the beans function AOT compiled code works on
dalvik.  Checkout http:&lt;span class=&quot;code-comment&quot;&gt;//github.com/remvee/clojure/ and
&lt;/span&gt;http:&lt;span class=&quot;code-comment&quot;&gt;//github.com/remvee/clojurehelloandroid/ &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you want to play with clojure on
&lt;/span&gt;Android.

Comment 3 by richhickey, Apr 12, 2009

Fixed r1344 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13477">CLJ-80</key>
            <summary>GC  Issue 77:    r1265 causes VerifyError on dalvik</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:21:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22692" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/80&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/80&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22693" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-81] GC  Issue 78:    patch to improve startup time on low end hardware</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-81</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 rwvtveer, Feb 12, 2009

As discussed on ml: http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/c40b2973109db24/f7c51fddaaec0d3b
&lt;/span&gt;
The attached patch provides custom constant serialization &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;:

* base types: &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Double&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Character&lt;/span&gt;, &lt;span class=&quot;code-object&quot;&gt;Class&lt;/span&gt;, Symbol, Keyword and Var
* collections: IPersistentMap, IPersistentVector and IPersistentList/ISeq

If meta data is associated with on the emitted object it will be serialized and attached.  If the object is of a different type the previous method, using 
lispreader, is used.  The *print-initialized* hack is still in place because in a theoretical &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; it is still needed.

Comment 1  by richhickey, Mar 03, 2009

patch applied (w/some changes) - svn 1322 - thanks
I&apos;d like top revisit &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; as a multimethod at some point

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13478">CLJ-81</key>
            <summary>GC  Issue 78:    patch to improve startup time on low end hardware</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:24:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22694" 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/81&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/81&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
constant-emitter.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dqfpz2w3Wr3O2PeJe5afGb/download/dqfpz2w3Wr3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dqfpz2w3Wr3O2PeJe5afGb/download/dqfpz2w3Wr3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22695" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dqfpz2w3Wr3O2PeJe5afGb&quot;&gt;file:dqfpz2w3Wr3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22696" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-83] GC Issue 80: Make reference watch notification synchronous (again)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-83</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Reported by richhickey, Feb 12, 2009&lt;/p&gt;

&lt;p&gt;since synchronous notification can send async actions, it offers more&lt;br/&gt;
flexibility than async-always &lt;/p&gt;

&lt;p&gt;Comment 1 by richhickey, Mar 02, 2009&lt;/p&gt;

&lt;p&gt;added add-watch, svn 1309&lt;/p&gt;

&lt;p&gt;Status: Fixed&lt;/p&gt;</description>
                <environment></environment>
            <key id="13480">CLJ-83</key>
            <summary>GC Issue 80: Make reference watch notification synchronous (again)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:27:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22700" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/83&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/83&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22701" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-68] GC Issue 65: zip/remove does not return the correct loc</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-68</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 christophe.grand, Feb 04, 2009

What (small set of) steps will reproduce the problem?
user=&amp;gt; (require &apos;[clojure.zip :as zip])
user=&amp;gt; (-&amp;gt; &apos;((1 2) 3) zip/seq-zip zip/next zip/next zip/next zip/node)
2
user=&amp;gt; (-&amp;gt; &apos;((1 2) 3) zip/seq-zip zip/next zip/next zip/next zip/next 
zip/node)
3
user=&amp;gt; (-&amp;gt; &apos;((1 2) 3) zip/seq-zip zip/next zip/next zip/next zip/next 
zip/remove zip/node)
(1 2)

What is the expected output? 
2

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/794c17dd17d06b2c/8c2056d8310c2b68?lnk=gst&amp;amp;q=zip%2Fremove#8c2056d8310c2b68
&lt;/span&gt;
Comment 1 by christophe.grand, Feb 04, 2009

This current patch introduce righmost as an helper function &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; fix.

It also adds leftmost and prev which are germane but not directly related to &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; bug
and its fix.

Comment 2  by richhickey, Feb 09, 2009

patch applied - svn 1259 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13465">CLJ-68</key>
            <summary>GC Issue 65: zip/remove does not return the correct loc</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 00:52:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22637" 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/68&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/68&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
zip-remove.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b8uiAYw3Gr3O2PeJe5afGb/download/b8uiAYw3Gr3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b8uiAYw3Gr3O2PeJe5afGb/download/b8uiAYw3Gr3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22638" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b8uiAYw3Gr3O2PeJe5afGb&quot;&gt;file:b8uiAYw3Gr3O2PeJe5afGb&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22639" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-82] GC Issue 79: Allow read to accept readers other than a PushbackReader</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-82</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 p...@hagelb.org, Feb 12, 2009

&lt;span class=&quot;code-quote&quot;&gt;&quot;read&quot;&lt;/span&gt; should be able to accept different kinds of readers, wrapping them
in a PushbackReader where necessary.

This should be implemented in LispReader.java rather than the read function
in core.clj, since the latter would require turning read into a multimethod.

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/fedbb2a63af633f0
&lt;/span&gt;

Comment 1 by p...@hagelb.org, Feb 12, 2009

Attached a small patch that provides &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; and updates the docstring &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; read.

Simple test &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;: (= [1 2 3] (read (java.io.StringReader. &lt;span class=&quot;code-quote&quot;&gt;&quot;[1 2 3]&quot;&lt;/span&gt;)))

Comment 2  by p...@hagelb.org, Feb 20, 2009

Feel free to close &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; out as a wontfix; I can&apos;t find any way around the problems
brought up by the mailing list.

Comment 3 by richhickey, Feb 21, 2009

ok - WontFix

Status: WontFix&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13479">CLJ-82</key>
            <summary>GC Issue 79: Allow read to accept readers other than a PushbackReader</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:26:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22697" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/82&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/82&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
read-from-reader.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/at4zcYw30r3R14eJe5aVNr/download/at4zcYw30r3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/at4zcYw30r3R14eJe5aVNr/download/at4zcYw30r3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22698" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:at4zcYw30r3R14eJe5aVNr&quot;&gt;file:at4zcYw30r3R14eJe5aVNr&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22699" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#72, #82)&lt;/p&gt;

&lt;p&gt;WontFix on google code&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-85] Double post of #84</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-85</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="13482">CLJ-85</key>
            <summary>Double post of #84</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:30:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22705" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/85&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/85&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
genclass-allow-unresolved-classname.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c9OAUmw30r3RbzeJe5afGb/download/c9OAUmw30r3RbzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c9OAUmw30r3RbzeJe5afGb/download/c9OAUmw30r3RbzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22706" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:c9OAUmw30r3RbzeJe5afGb&quot;&gt;file:c9OAUmw30r3RbzeJe5afGb&lt;/a&gt;]: on comment 1&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-90] GC Issue 86:    dorun implementation tripping lazy sequence assert logic</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-90</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 jbondeson, Feb 23, 2009

What (small set of) steps will reproduce the problem?

(dorun (list (lazy-seq nil)))

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

This should not &lt;span class=&quot;code-keyword&quot;&gt;assert&lt;/span&gt;.

What version are you using?

svn r1300


Attached is a patch to have dorun use the &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; special form rather than force
the evaluation in the &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; statement.

Comment 1  by richhickey, Feb 23, 2009

fixed in svn 1301

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13487">CLJ-90</key>
            <summary>GC Issue 86:    dorun implementation tripping lazy sequence assert logic</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:38:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22722" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/90&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/90&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
dorun.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dmSTKKw34r3RbzeJe5afGb/download/dmSTKKw34r3RbzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dmSTKKw34r3RbzeJe5afGb/download/dmSTKKw34r3RbzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22723" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dmSTKKw34r3RbzeJe5afGb&quot;&gt;file:dmSTKKw34r3RbzeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22724" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-91] GC  Issue 87:    *-seq should return seq/nil</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-91</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 aaraines, Feb 26, 2009

This patch alters line-seq, resultset-seq, re-seq, and tree-seq to &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
nil &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the LazySeq is empty, as discussed in #clojure.

http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-02-26.html#14:05
&lt;/span&gt;
Comment 1  by aaraines, Feb 26, 2009

Patch against SVN 1309.

Comment 2 by aaraines, Feb 27, 2009

This patch uses (seq s) &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; its test rather than (first s).&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13488">CLJ-91</key>
            <summary>GC  Issue 87:    *-seq should return seq/nil</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="drewr">Drew Raines</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:39:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22725" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/91&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/91&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
aar-star-seq-nil.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/acJw44w38r3Ou4eJe5aVNr/download/acJw44w38r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/acJw44w38r3Ou4eJe5aVNr/download/acJw44w38r3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
aar-star-seq-nil-2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/acJzTGw38r3Ou4eJe5aVNr/download/acJzTGw38r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/acJzTGw38r3Ou4eJe5aVNr/download/acJzTGw38r3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
issue-91-star-seq-nil.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aXOzTMJNer3QCTeJe5aVNr/download/aXOzTMJNer3QCTeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aXOzTMJNer3QCTeJe5aVNr/download/aXOzTMJNer3QCTeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22726" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:acJw44w38r3Ou4eJe5aVNr&quot;&gt;file:acJw44w38r3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22727" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:acJzTGw38r3Ou4eJe5aVNr&quot;&gt;file:acJzTGw38r3Ou4eJe5aVNr&lt;/a&gt;]: on comment 3&lt;/p&gt;</comment>
                    <comment id="22728" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;richhickey said: As of patch aar-star-seq-nil-2.patch this is still not quite right. The logic should be, do the read/whatever, if something, return (cons something (lazy-seq again)), else return nil. aar-star-seq-nil-2.patch is creating a lazy seq then immediately forcing it.&lt;/p&gt;</comment>
                    <comment id="22729" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;drewr said: [&lt;a href=&quot;file:aXOzTMJNer3QCTeJe5aVNr&quot;&gt;file:aXOzTMJNer3QCTeJe5aVNr&lt;/a&gt;]: *-seq returns lazy-seq or nil&lt;/p&gt;</comment>
                    <comment id="22730" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;drewr said: Since tree-seq always returns a seq with at least one element, I did not include it in this ticket.  I hope that&apos;s correct.&lt;/p&gt;</comment>
                    <comment id="22731" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;technomancy said: +1; this looks good to me.&lt;/p&gt;</comment>
                    <comment id="22732" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;richhickey said: issue-91-star-seq-nil.diff ok&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-73] GC Issue 70: Maven integration</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-73</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 hlship, Feb 08, 2009

It would be nice &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; Clojure could be deployed into a Maven repository, with
source, even &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; it does not use Maven to build.

This is just a matter of keeping the maven-ant-tasks JAR handy, and
providing a POM to identify the clojure version number.

Part of &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; would be to &lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt; the Java source &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Clojure, to assist in
debugging.

If there is interest in &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; (I hope there is) I will be happy to provide a
patch.

I&apos;m also interested in hosting a continuous integration build of Clojure at
Tapestry360 (http:&lt;span class=&quot;code-comment&quot;&gt;//tapestry.formos.com).
&lt;/span&gt;
Comment 1 by hlship, Feb 08, 2009

Attached is a patch; it removes all but the essential content from pom.xml, and
&lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; build.xml with &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; targets &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; deploying.

You will need the copy of maven-ant-tasks-2.0.9.jar in the root directory.

I would recommend changing the groupId from &lt;span class=&quot;code-quote&quot;&gt;&quot;jvm.clojure&quot;&lt;/span&gt; to &lt;span class=&quot;code-quote&quot;&gt;&quot;org.clojure&quot;&lt;/span&gt; to follow
established standards.

Comment 2  by richhickey, Feb 09, 2009

Thanks.

Will they always need maven-ant-tasks-2.0.9.jar (i.e. when they don&apos;t care about
Maven)? Currently, building Clojure requires no deps other than Ant itself

Comment 3 by hlship, Feb 09, 2009

I could reformulate the patch so that maven-ant-tasks is only needed when performing
a deploy operation.  However, there is no problem with just checking the JAR into the
SVN repository. That&apos;s what I &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; on a number of projects that need to be otherwise
self-reliant (i.e., they then download their dependencies from Maven using the tasks
inside the maven-ant-tasks JAR).

Comment 4 by hlship, Feb 09, 2009

Is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; stalled (.e. are you waiting &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; updated patch) or going forward with
checking the JAR in?

Comment 5 by richhickey, Feb 10, 2009

My current feeling is to not require any maven support jars &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the current ant
process. Would Maven users have maven-ant-tasks anyway?

Would you mind asking on the group how people feel about having a jar that large in
the repository? Personally, I&apos;m against it. Clojure doesn&apos;t come with Ant either.

Also, I don&apos;t know what the groupId is &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;, but yes, &lt;span class=&quot;code-quote&quot;&gt;&quot;org.clojure&quot;&lt;/span&gt; seems better.

Comment 6 by hlship, Feb 10, 2009

The &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; patch fixes the groupId in pom.xml.  It also requires that users who want to
run the nightly-build or stable-build targets have a copy of the Maven ant tasks in
their $ANT_HOME/lib.  Since that&apos;s basically the CI server (&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; nightly builds) and
perhaps you, its not a problem.  Other users, with our without the Maven ant tasks,
can run the build as before.

Comment 7  by richhickey, Feb 10, 2009

Thanks! This seems like a fine plan, however your patch seems to be against a very
old rev, and I&apos;m afraid of messing it up in the merge. Could you produce a patch
against current trunk?

Comment 8 by hlship, Feb 10, 2009

That&apos;s odd, I thought I had down a refresh before I started.  Give me a few minutes.

Comment 9 by hlship, Feb 10, 2009

Cleaned it up a lot; it now builds the slim jar and deploys it as an attached
artifact (meaning that Maven users can decide to use it instead of the full JAR by
providing &amp;lt;classifier&amp;gt;slim&amp;lt;/classifier&amp;gt;, which is the whole point).

Comment 10  by richhickey, Feb 10, 2009

Hmm..., I&apos;m still unable to apply &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, seems to be built on rev 1162, we&apos;re up to
1265 now.

Comment 11 by hlship, Feb 10, 2009

Wierd.  I&apos;ve never had svn give me &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; kind of trouble before.  I&apos;ll &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; a fresh
checkout and &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; again. It shouldn&apos;t be &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; difficult.

Comment 12 by hlship, Feb 10, 2009

OK.  Try &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; one. Freshly redid the changes.

BTW, If you have Maven installed it will look something like:

$ ant nightly-build
Buildfile: build.xml

clean:

init:
    [mkdir] Created dir: /Users/Howard/work/clojure/target/classes

compile-java:
    [javac] Compiling 121 source files to /Users/Howard/work/clojure/target/classes
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; details.

compile-clojure:
     [java] Compiling clojure.core to /Users/Howard/work/clojure/target/classes
     [java] Compiling clojure.main to /Users/Howard/work/clojure/target/classes
     [java] Compiling clojure.set to /Users/Howard/work/clojure/target/classes
     [java] Compiling clojure.xml to /Users/Howard/work/clojure/target/classes
     [java] Compiling clojure.zip to /Users/Howard/work/clojure/target/classes
     [java] Compiling clojure.inspector to /Users/Howard/work/clojure/target/classes

jar:
      [jar] Building jar: /Users/Howard/work/clojure/clojure.jar
      [jar] Building jar: /Users/Howard/work/clojure/clojure-slim.jar
      [jar] Building jar: /Users/Howard/work/clojure/target/clojure-sources.jar

all:

nightly-build:
[mvn:deploy] Deploying to file:/&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/www/maven-snapshot-repository
[mvn:deploy] Uploading:
org/clojure/clojure-lang/1.0-SNAPSHOT/clojure-lang-1.0-20090211.005400-2.jar to remote
[mvn:deploy] Uploaded 1405K
[mvn:deploy] Uploading:
org/clojure/clojure-lang/1.0-SNAPSHOT/clojure-lang-1.0-20090211.005400-2-sources.jar
to remote
[mvn:deploy] Uploaded 276K
[mvn:deploy] Uploading:
org/clojure/clojure-lang/1.0-SNAPSHOT/clojure-lang-1.0-20090211.005400-2-slim.jar to
remote
[mvn:deploy] Uploaded 515K

BUILD SUCCESSFUL
Total time: 14 seconds
~/work/clojure
$ 

Comment 13  by richhickey, Feb 10, 2009

patch applied - svn 1270 - thanks!

Status: Fixed
Comment 14 by richhickey, Feb 11, 2009

I had to back out &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch as it broke the build destination directories

Status: Started
Comment 15 by hlship, Feb 11, 2009

Was there something sacrosanct about the classes going in ./build?  I follow the
conventions that all derived files go somewhere under ./target, such that the clean
target just has to delete that one directory.

This coding via patches thing is really annoying; it&apos;s like coding underwater!

Comment 16 by richhickey, Feb 11, 2009

Well, people can run Clojure by just putting the ./classes and ./src/clj dirs in the
classpath. I &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; when the jar won&apos;t build due to broken code in core clj files,
or when making incremental changes on the Java side. ./classes is also the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;
dir &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; AOT compilation, and people expect clean to clear it. So, it is a breaking
change.

Comment 17 by hlship, Feb 11, 2009

OK, then. I&apos;ll make a less intrusive patch &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; that&apos;s ok.

Comment 18 by hlship, Feb 11, 2009

Ok, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; one puts the compiled classes into ./classes the way it was before.  I&apos;m
checking to see &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; I can sign you CLA, and maybe I can help out more directly.  I&apos;m
on the opposite side of &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; a lot, getting patches that are (sometimes) more work to
use than it would be to write the functionality myself from scratch!

Comment 19  by richhickey, Feb 21, 2009

I&apos;m ready to give &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; another &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you could please make a patch based off of
trunk (there were some recent changes that need to be preserved). Also, these patches
seem to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; a substantial reorganization of the file, making them difficult to assess.

Comment 20 by hlship, Feb 21, 2009

I&apos;ll have something together in about an hour.

Comment 21 by hlship, Feb 21, 2009

OK, I focused &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; time on making minimal disruption rather than making the Ant
build.xml more conformant.

Comment 22  by richhickey, Feb 21, 2009

patch applied - svn 1299 - thanks!

Status: Fixed
Comment 23 by dimi...@gashinsky.com, Feb 22, 2009

Cannot &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; mvn install after &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; patch
Attaching a fix to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; ant install &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the same effect.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13470">CLJ-73</key>
            <summary>GC Issue 70: Maven integration</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:07:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22658" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/73&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/73&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
maven-6.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-ngbUw3Or3R14eJe5aVNr/download/b-ngbUw3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-ngbUw3Or3R14eJe5aVNr/download/b-ngbUw3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
mvn-local-install.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-niX0w3Or3R14eJe5aVNr/download/b-niX0w3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-niX0w3Or3R14eJe5aVNr/download/b-niX0w3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-deploy.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nlDyw3Or3R14eJe5aVNr/download/b-nlDyw3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nlDyw3Or3R14eJe5aVNr/download/b-nlDyw3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-ant-tasks-2.0.9.jar - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nod8w3Or3R14eJe5aVNr/download/b-nod8w3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nod8w3Or3R14eJe5aVNr/download/b-nod8w3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-deploy-2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nqLQw3Or3R14eJe5aVNr/download/b-nqLQw3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nqLQw3Or3R14eJe5aVNr/download/b-nqLQw3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-3.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nthew3Or3R14eJe5aVNr/download/b-nthew3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nthew3Or3R14eJe5aVNr/download/b-nthew3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-4.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nvQ-w3Or3R14eJe5aVNr/download/b-nvQ-w3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nvQ-w3Or3R14eJe5aVNr/download/b-nvQ-w3Or3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
maven-5.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-nyn8w3Or3R14eJe5aVNr/download/b-nyn8w3Or3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-nyn8w3Or3R14eJe5aVNr/download/b-nyn8w3Or3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22659" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-ngbUw3Or3R14eJe5aVNr&quot;&gt;file:b-ngbUw3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 21&lt;/p&gt;</comment>
                    <comment id="22660" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-niX0w3Or3R14eJe5aVNr&quot;&gt;file:b-niX0w3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 23&lt;/p&gt;</comment>
                    <comment id="22661" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nlDyw3Or3R14eJe5aVNr&quot;&gt;file:b-nlDyw3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22662" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nod8w3Or3R14eJe5aVNr&quot;&gt;file:b-nod8w3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22663" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nqLQw3Or3R14eJe5aVNr&quot;&gt;file:b-nqLQw3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 6&lt;/p&gt;</comment>
                    <comment id="22664" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nthew3Or3R14eJe5aVNr&quot;&gt;file:b-nthew3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 9&lt;/p&gt;</comment>
                    <comment id="22665" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nvQ-w3Or3R14eJe5aVNr&quot;&gt;file:b-nvQ-w3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 12&lt;/p&gt;</comment>
                    <comment id="22666" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-nyn8w3Or3R14eJe5aVNr&quot;&gt;file:b-nyn8w3Or3R14eJe5aVNr&lt;/a&gt;]: on comment 18&lt;/p&gt;</comment>
                    <comment id="22667" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-86] GC Issue 82:    read-line bug</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-86</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 DiscipleRayne, Feb 17, 2009

What (small set of) steps will reproduce the problem?

Call read-line

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

Should accept input.

Instead it &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; a clojure.lang.LineNumberingPushbackReader cannot be &lt;span class=&quot;code-keyword&quot;&gt;cast&lt;/span&gt;
to java.io.BufferedReader


What version are you using?

Rev 1286

Revision

1268

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

No

Please provide any additional information below.

Doesn&apos;t &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; in the release version, only in the newest revisions. It&apos;s
been redefined, don&apos;t know why though.

Comment 1 by scgilardi, Mar 02, 2009

Discussion is here:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/48f1fb08b3052083/eaff1f7c16ce84e2?tvc=1&amp;amp;q=read-line#eaff1f7c16ce84e2
&lt;/span&gt;
Comment 2 by slash2314, Mar 02, 2009

A simple fix to &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; bug would be the following patch.

Comment 3  by chouser, Mar 02, 2009

slash2314: Have you sent in your CA?  If so, which name at
http:&lt;span class=&quot;code-comment&quot;&gt;//clojure.org/contributing is yours?
&lt;/span&gt;
The bug appears to have been introduced by &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change, line 1972:
http:&lt;span class=&quot;code-comment&quot;&gt;//tinyurl.com/ahhqaz
&lt;/span&gt;
Registered contributor Perry Trolard has a fix here:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/85f858df39daca2a
&lt;/span&gt;
I&apos;ve attached Perry&apos;s fix in patch form.

--Chouser

Comment 4  by richhickey, Mar 03, 2009

fixed in svn 1321 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13483">CLJ-86</key>
            <summary>GC Issue 82:    read-line bug</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:34:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22707" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/86&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/86&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-82.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bnD318w34r3Ou4eJe5aVNr/download/bnD318w34r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bnD318w34r3Ou4eJe5aVNr/download/bnD318w34r3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
fix-read-line.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bnD6JIw34r3Ou4eJe5aVNr/download/bnD6JIw34r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bnD6JIw34r3Ou4eJe5aVNr/download/bnD6JIw34r3Ou4eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22708" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bnD318w34r3Ou4eJe5aVNr&quot;&gt;file:bnD318w34r3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22709" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bnD6JIw34r3Ou4eJe5aVNr&quot;&gt;file:bnD6JIw34r3Ou4eJe5aVNr&lt;/a&gt;]: on comment 3&lt;/p&gt;</comment>
                    <comment id="22710" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-94] GC  Issue 90:    Support metadata on fns</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-94</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 richhickey, Mar 04, 2009

Requires dealing with the with-meta copying issues &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; closures&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13491">CLJ-94</key>
            <summary>GC  Issue 90:    Support metadata on fns</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:43:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22739" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/94&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/94&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22740" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="22741" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#94, #96, #104, #119, #163)&lt;/p&gt;</comment>
                    <comment id="22742" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #245 was added&lt;/p&gt;</comment>
                    <comment id="22743" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #245 was removed&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-93] GC  Issue 89:    letrec</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-93</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 richhickey, Feb 27, 2009

add oft-requested letrec


Comment 1 by H.Duerer, Feb 27, 2009

I would find &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; quite useful.  As discussed on IRC channel the alternatives seem upgly.

In my need I basically want to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; something like

(let [result (cons initial-value 
              (map complex-function result other-sequence1 other-sequence2 ...))]
  result)

Comment 2 by richhickey, Feb 28, 2009

added letfn - svn 1315

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13490">CLJ-93</key>
            <summary>GC  Issue 89:    letrec</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:42:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22737" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/93&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/93&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22738" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-95] GC  Issue 91:    Documentation for rand inaccurate</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-95</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 joshuatfox, Mar 04, 2009

A minor issue.

The doc says that the number is between 0 and 1, but &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the parameter n is 
not 1, then &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is not accurate.

Reproduce as below in the REPL.



user=&amp;gt; (doc rand)
-------------------------
clojure.core/rand
([] [n])
  Returns a random floating point number between 0 (inclusive) and
  1 (exclusive).
nil
user=&amp;gt; (rand 100000)
44028.44964067226

Comment 1 by richhickey, Apr 09, 2009

fixd in r1343 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13492">CLJ-95</key>
            <summary>GC  Issue 91:    Documentation for rand inaccurate</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22744" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/95&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/95&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22745" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-96] GC  Issue 92:    Check for key identity in collections</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-96</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 chouser, Mar 09, 2009

Describe the feature/change.

Clojure code routes key lookups through
clojure.lang.Util.equiv()/equals(), which &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; an identity check.

Using the collections from outside Clojure may to more expensive
comparisons even on identical objects, so each collection should also
&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; an identity check.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/6a2e491fcf564a68&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13493">CLJ-96</key>
            <summary>GC  Issue 92:    Check for key identity in collections</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22746" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/96&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/96&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Check-for-identity-before-equality-in-.equals-for-co.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ch_3rOrUir36rbeJe5d-aX/download/ch_3rOrUir36rbeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ch_3rOrUir36rbeJe5d-aX/download/ch_3rOrUir36rbeJe5d-aX&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22747" author="importer" created="Tue, 24 Aug 2010 06: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="22748" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="22749" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#94, #96, #104, #119, #163)&lt;/p&gt;</comment>
                    <comment id="22750" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:ch_3rOrUir36rbeJe5d-aX&quot;&gt;file:ch_3rOrUir36rbeJe5d-aX&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="22751" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;cgrand said: Add identity check to .equals in gvec, ASeq, APersistentVector, APersistentSet and APersistentMap.&lt;/p&gt;</comment>
                    <comment id="22752" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:ee9fc81dd2ef15d7ea3e17e7ec2370c5c09d633e&amp;#93;&lt;/span&gt;]) Check for identity before equality in .equals for collections, see #96&lt;/p&gt;

&lt;p&gt;Signed-off-by: Stuart Halloway &amp;lt;stu@thinkrelevance.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-92] GC  Issue 88:    Add :let support for &apos;doseq&apos; and &apos;for&apos;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-92</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 chouser, Feb 26, 2009

Describe the feature/change.

Attached patch supports forms like:

(&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; [x (range 10)
      y (range 10)
      :let [z (+ x y)
            zz (- x y)]
      :when (&amp;lt; z 5)]
  [z zz])
-&amp;gt; ([0 0] [1 -1] [2 -2] [3 -3] [4 -4] [1 1] [2 0] [3 -1]
    [4 -2] [2 2] [3 1] [4 0] [3 3] [4 2] [4 4])

(doseq [x (range 10)
        y (range 10)
        :let [z (+ x y)
              zz (- x y)]
        :when (&amp;lt; z 5)]
  (prn z zz))
0 0
1 -1
2 -2
3 -3
4 -4
1 1
2 0
3 -1
4 -2
2 2
3 1
4 0
3 3
4 2
4 4
-&amp;gt; nil

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-02-26.html#11:16b
&lt;/span&gt;
Comment 1  by richhickey, Feb 27, 2009

I don&apos;t think there&apos;s any way to avoid becoming order-sensitive on these :options :(

Comment 2 by chouser, Feb 27, 2009

Still need to &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &apos;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;&apos;, but I think &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; should work &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &apos;doseq&apos;:

(defmacro doseq
  &quot;Repeatedly executes body (presumably &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; side-effects) with
  bindings and filtering as provided by \&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;\&quot;&lt;/span&gt;.  Does not retain
  the head of the sequence. Returns nil.&quot;
  [seq-exprs &amp;amp; body]
  (&lt;span class=&quot;code-keyword&quot;&gt;assert&lt;/span&gt;-args doseq
     (vector? seq-exprs) &lt;span class=&quot;code-quote&quot;&gt;&quot;a vector &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; its binding&quot;&lt;/span&gt;
     (even? (count seq-exprs)) &lt;span class=&quot;code-quote&quot;&gt;&quot;an even number of forms in binding vector&quot;&lt;/span&gt;)
  (let [step (fn step [recform exprs]
               (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;-not exprs
                 [&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; `(&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; ~@body)]
                 (let [k (first exprs)
                       v (second exprs)
                       seqsym (when-not (keyword? k) (gensym))
                       recform (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (keyword? k) recform `(recur (next ~seqsym)))
                       steppair (step recform (nnext exprs))
                       needrec (steppair 0)
                       subform (steppair 1)]
                   (cond
                     (= k :let) [needrec `(let ~v ~subform)]
                     (= k :&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt;) [&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; `(when ~v
                                            ~subform
                                            ~@(when needrec [recform]))]
                     (= k :when) [&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; `(&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ~v
                                           (&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
                                             ~subform
                                             ~@(when needrec [recform]))
                                           ~recform)]
                     :&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; [&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
                            `(loop [~seqsym (seq ~v)]
                               (when-let [~k (first ~seqsym)]
                                 ~subform
                                 ~@(when needrec [recform])))]))))]
    (nth (step nil (seq seq-exprs)) 1)))

Comment 3 by chouser, Mar 02, 2009

Attached is a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; patch that emits code &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; :&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt;, :when, and :let in the order they
are given.  This allows :&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; and :when to guard each other as well as :let.  This
&apos;doseq&apos; is essentially the same as my previous comment, but won&apos;t stop when there&apos;s a
nil in the seq.  This &apos;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;&apos; is quite different from the &apos;doseq&apos;, and instead is
similar to the old &apos;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;&apos; with some refactoring.

Both &apos;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;&apos; and &apos;doseq&apos; still pass the regression tests in
clojure.contrib.test-clojure.&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;.

Comment 4  by richhickey, Mar 03, 2009

patch applied - svn 1320 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13489">CLJ-92</key>
            <summary>GC  Issue 88:    Add :let support for &apos;doseq&apos; and &apos;for&apos;</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:41:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22733" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/92&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/92&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
doseq-for-let.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a45Fzow38r3Ou4eJe5aVNr/download/a45Fzow38r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a45Fzow38r3Ou4eJe5aVNr/download/a45Fzow38r3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
ordered-doseq-for-let.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a45IoOw38r3Ou4eJe5aVNr/download/a45IoOw38r3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a45IoOw38r3Ou4eJe5aVNr/download/a45IoOw38r3Ou4eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22734" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:a45Fzow38r3Ou4eJe5aVNr&quot;&gt;file:a45Fzow38r3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22735" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:a45IoOw38r3Ou4eJe5aVNr&quot;&gt;file:a45IoOw38r3Ou4eJe5aVNr&lt;/a&gt;]: on comment 3&lt;/p&gt;</comment>
                    <comment id="22736" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-100] GC  Issue 96:    In FOR macro the :let clause does not establish a lexical binding</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-100</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 splendidlord, Mar 14, 2009

&amp;gt; What (small set of) steps will reproduce the problem?

In a fresh Clojure:
(&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; [a (range 5) :let [x (* a a)]] x)
==&amp;gt; java.lang.Exception: Unable to resolve symbol: x in &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; context

Now:
(def x -1000)
(&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; [a (range 5) :let [x (* a a)]] x)
==&amp;gt; (-1000 -1000 -1000 -1000 -1000)


&amp;gt; What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

It should be:
(&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; [a (range 5) :let [x (* a a)]] x)
==&amp;gt; (0 1 4 9 16)


&amp;gt; What version are you using?

SVN r1327

Comment 1 by splendidlord, Mar 14, 2009

Sorry, I have two clojure.jars on my system and I used an older one.
In r1327 &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; bug does not longer exist. Please close the issue, thanks.

Comment 2 by richhickey, Mar 16, 2009

(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Status: Invalid&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13497">CLJ-100</key>
            <summary>GC  Issue 96:    In FOR macro the :let clause does not establish a lexical binding</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:50:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22762" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/100&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/100&lt;/a&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-97] GC  Issue 93:    proxy: inheriting a method from more than one iface</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-97</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 christophe.grand, Mar 09, 2009

What (small set of) steps will reproduce the problem?
(&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; (proxy [clojure.lang.IPersistentVector] []) nil)

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?
Expected:
nil
Observed:
java.lang.ClassFormatError: Duplicate method name&amp;amp;signature in class file
clojure/proxy/java/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;$IPersistentVector

Discussed on the group:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/msg/5cfc8d64fcbe2f52
&lt;/span&gt;
Comment 1 by christophe.grand, Mar 09, 2009

Changed duplicate methods detection to not take the &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; type into account.
Changed stub generation to always generate a stub &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the most specific &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; type.

Comment 2  by richhickey, Mar 16, 2009

patch applied - svn 1328 - thanks!

Status: Fixed
Comment 3 by christophe.grand, Mar 17, 2009

(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Comment 4  by christophe.grand, Mar 17, 2009

with patch93bis.patch proxy emits bridge methods &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; covariant &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; types (except
&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the method whose &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; type is the most specific)

Comment 5 by richhickey, Mar 17, 2009

(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Status: Started
Comment 6 by richhickey, Mar 17, 2009

patch applied - r1333 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13494">CLJ-97</key>
            <summary>GC  Issue 93:    proxy: inheriting a method from more than one iface</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:46:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22753" 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/97&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/97&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
patch93.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dUY4Iow38r3R14eJe5aVNr/download/dUY4Iow38r3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dUY4Iow38r3R14eJe5aVNr/download/dUY4Iow38r3R14eJe5aVNr&lt;/a&gt;&lt;br/&gt;
patch93bis.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dUY7Byw38r3R14eJe5aVNr/download/dUY7Byw38r3R14eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dUY7Byw38r3R14eJe5aVNr/download/dUY7Byw38r3R14eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22754" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dUY4Iow38r3R14eJe5aVNr&quot;&gt;file:dUY4Iow38r3R14eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22755" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dUY7Byw38r3R14eJe5aVNr&quot;&gt;file:dUY7Byw38r3R14eJe5aVNr&lt;/a&gt;]: on comment 3&lt;/p&gt;</comment>
                    <comment id="22756" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-79] GC  Issue 76:    adding sorted-set-by</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-79</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 timothypratley, Feb 11, 2009

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/9d280b6229aef38
&lt;/span&gt;4/0e5a2e1f80cb3810

user=&amp;gt; (sorted-set-by #(&amp;gt; (:hat %1) (:hat %2)) {:hat 2} {:hat 3} {:hat 1})
#{{:hat 3} {:hat 2} {:hat 1}}

Printed+signed CA is in the snail mail&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13476">CLJ-79</key>
            <summary>GC  Issue 76:    adding sorted-set-by</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Jun 2009 00:21:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22683" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/79&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/79&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
sorted-set-by.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bOIR-4w3Wr3Qr1eJe5aVNr/download/bOIR-4w3Wr3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bOIR-4w3Wr3Qr1eJe5aVNr/download/bOIR-4w3Wr3Qr1eJe5aVNr&lt;/a&gt;&lt;br/&gt;
sorted-set-by.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/alPuT-xbCr3OXTeJe5aVNr/download/alPuT-xbCr3OXTeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/alPuT-xbCr3OXTeJe5aVNr/download/alPuT-xbCr3OXTeJe5aVNr&lt;/a&gt;&lt;br/&gt;
sorted-set-by2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aFa77SVAGr3QYWeJe5afGb/download/aFa77SVAGr3QYWeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aFa77SVAGr3QYWeJe5afGb/download/aFa77SVAGr3QYWeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22684" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bOIR-4w3Wr3Qr1eJe5aVNr&quot;&gt;file:bOIR-4w3Wr3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22685" author="importer" created="Tue, 24 Aug 2010 14: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="22686" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:alPuT-xbCr3OXTeJe5aVNr&quot;&gt;file:alPuT-xbCr3OXTeJe5aVNr&lt;/a&gt;]: patch rebased to current github master&lt;/p&gt;</comment>
                    <comment id="22687" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Chas&lt;/b&gt;, would you mind changing sorted-set-by (and I guess sorted-set too, since this touches it) to use the new-style (Foo/static arg) syntax?  It&apos;s my understanding Rich wants to move core toward that as we go.&lt;/p&gt;</comment>
                    <comment id="22688" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;cemerick said: Yeah, that&apos;s fine.  I&apos;m also going to take a whack at 129 in the process.&lt;/p&gt;</comment>
                    <comment id="22689" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aFa77SVAGr3QYWeJe5afGb&quot;&gt;file:aFa77SVAGr3QYWeJe5afGb&lt;/a&gt;]: revised patch with / static method invocations&lt;/p&gt;</comment>
                    <comment id="22690" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;cemerick said: Revised patch attached, based off of today&apos;s rhickey/master.&lt;/p&gt;</comment>
                    <comment id="22691" author="importer" created="Tue, 24 Aug 2010 14:45:00 -0500"  >&lt;p&gt;cemerick said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:9e810bf17700982eb1a3a5cf21c0fcba6bc0eea5&amp;#93;&lt;/span&gt;]) added sorted-set-by, adapted from timothypratley&apos;s patch, fixes #79&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-104] GC Issue 100: gen-class creating non-compliant field names</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-104</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 solkis, Apr 04, 2009

The defect was described in &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; clojure group post by Michael Reid: 

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/e64719d716c29ce0
&lt;/span&gt;
It appears that IBM JVMs have more stringent field name checking than &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
the Sun JVMs.

Classes generated by gen-class and executing on IBM JVMs used with the
WebSphere Application Server require the basic fix outlined in the patch on
the thread above or the following error will result:

java.lang.ClassFormatError: JVMCFRE114 field name is invalid;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13501">CLJ-104</key>
            <summary>GC Issue 100: gen-class creating non-compliant field names</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:56:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22768" 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/104&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/104&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
use-underscore-instead-of-dash-104.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cNfYU0r9qr348xeJe5d-aX/download/cNfYU0r9qr348xeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cNfYU0r9qr348xeJe5d-aX/download/cNfYU0r9qr348xeJe5d-aX&lt;/a&gt;&lt;br/&gt;
munge-genclass-field-names-104.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/akvHectnCr37JQeJe5dVir/download/akvHectnCr37JQeJe5dVir&quot;&gt;https://www.assembla.com/spaces/clojure/documents/akvHectnCr37JQeJe5dVir/download/akvHectnCr37JQeJe5dVir&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22769" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="22770" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#94, #96, #104, #119, #163)&lt;/p&gt;</comment>
                    <comment id="22771" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:cNfYU0r9qr348xeJe5d-aX&quot;&gt;file:cNfYU0r9qr348xeJe5d-aX&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22772" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:akvHectnCr37JQeJe5dVir&quot;&gt;file:akvHectnCr37JQeJe5dVir&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22773" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: Disregard the April 14 patch, and please take a look at the April 20 patch (which includes tests).&lt;/p&gt;</comment>
                    <comment id="22774" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:084e5604710eb16df43ad529adabf18f40795bf9&amp;#93;&lt;/span&gt;]) munge genclass field names to keep Java side happy, see #104&lt;/p&gt;

&lt;p&gt;Signed-off-by: Stuart Halloway &amp;lt;stu@thinkrelevance.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-98] GC  Issue 94:    (ancestors ClassName) does not include tag ancestors of ClassName&apos;s superclasses</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-98</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 cemer...@snowtide.com, Mar 10, 2009

ancestors does not include the tag parents of a class&apos; superclasses.  It
therefore is inconsistent with isa?.  Interaction example:

;;;;;;;;;;;
user=&amp;gt; (ancestors &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;)
#{java.io.Serializable java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; java.lang.CharSequence  
java.lang.Comparable}
user=&amp;gt; (ancestors &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)
nil
user=&amp;gt; (derive &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; ::foo)
nil
user=&amp;gt; (derive &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; ::bar)
nil
user=&amp;gt; (isa? &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; ::foo)
&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
user=&amp;gt; (isa? &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; ::bar)
&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
user=&amp;gt; (ancestors &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)
#{:user/bar}
user=&amp;gt; (ancestors &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;)  ;; should include ::bar!
#{java.io.Serializable java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; java.lang.CharSequence :user/
foo java.lang.Comparable}
;;;;;;;;;;;

I&apos;d expect that ::bar would be included in the set returned by  
(ancestors &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;).  A similar interaction involving only keywords shows
that the tag ancestors of a parent are obviously included in the set of
ancestors of a child:

;;;;;;;;;;
user=&amp;gt; (derive ::p ::gp)
nil
user=&amp;gt; (derive ::c ::p)
nil
user=&amp;gt; (ancestors ::c)
#{:user/p :user/gp}
;;;;;;;;;;

The fix appears to be relatively simple, assuming I&apos;m fully understanding
the problem.  Patch attached.

Comment 1  by richhickey, Mar 17, 2009

patch applied - r1334 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13495">CLJ-98</key>
            <summary>GC  Issue 94:    (ancestors ClassName) does not include tag ancestors of ClassName&apos;s superclasses</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:48:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22757" 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/98&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/98&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ancestors_of_superclasses.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aYFNf8w4ar3O2PeJe5afGb/download/aYFNf8w4ar3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aYFNf8w4ar3O2PeJe5afGb/download/aYFNf8w4ar3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22758" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aYFNf8w4ar3O2PeJe5afGb&quot;&gt;file:aYFNf8w4ar3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22759" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-88] GC Issue 84:    Wiki pages have wrong copyright year</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-88</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Reported by hlship, Feb 21, 2009&lt;/p&gt;

&lt;p&gt;It&apos;s listed as 2008, should start seeing 2009 for changed pages.&lt;/p&gt;

&lt;p&gt;Comment 1 by richhickey, Feb 24, 2009&lt;/p&gt;

&lt;p&gt;(No comment was entered for this change.)&lt;/p&gt;

&lt;p&gt;Status: Fixed&lt;/p&gt;</description>
                <environment></environment>
            <key id="13485">CLJ-88</key>
            <summary>GC Issue 84:    Wiki pages have wrong copyright year</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:36:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22717" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/88&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/88&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22718" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-101] GC Issue 97:    partition-by does not work correctly when passed a function with side-effects</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-101</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;&amp;gt; What (small set of) steps will reproduce the problem?

(def coll &apos;(a a b c nil nil nil d e f))
(partition-by #(or (nil? %) (gensym)) coll)
==&amp;gt; partition-by runs into an endless loop


&amp;gt; What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

From what the doc string says it seems that
partition-by would &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;:
((a) (a) (a) (b) (c) (nil nil nil) (d) (e) (f))
The provided function returns &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; non-nil elements
a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; value.


&amp;gt; What version are you using?

r1327


&amp;gt; Please provide any additional information below.

A minimum change would be to update the doc strings,
stating that f must not have side-effects.
But &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; we would like to keep that door open, then the
current behaviour could be patched.
The problem is &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;:
In partition-by fv gets assigned (f (first s)), and
only a moment later (f (first s)) is evaluated again,
in the binding &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; run, in the take-&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt;.
But as f has side effects we have:
(= (f (first s)) (f (first s))) ==&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
Now take-&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; will &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; an empty lazy-seq and the
drop will remove zero elements, as run is empty.

Instead fv should always be an element of run, and
take-&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; should run on the &lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; of s instead of on
s itself.

Comment 1  by richhickey, Mar 16, 2009

partition-by is not part of Clojure core

Status: Invalid&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13498">CLJ-101</key>
            <summary>GC Issue 97:    partition-by does not work correctly when passed a function with side-effects</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:51:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22763" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/101&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/101&lt;/a&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-89] GC  Issue 85:    In a defn, arglists metadata becomes the first (unexpected?) symbol</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-89</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 jochu0, Feb 22, 2009

&amp;gt; What (small set of) steps will reproduce the problem?

(:arglists (meta (defn arglists broken-arglist ([a] a) ([a b] b))))
(broken-arglist)

&amp;gt; What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

I would expect ([a] [a b]) &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; not an error.

&amp;gt; What version are you using?

Using the latest clojure (r1298) and also likely to exist before lazy-seq.

&amp;gt; Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/bafdb169330a9344&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13486">CLJ-89</key>
            <summary>GC  Issue 85:    In a defn, arglists metadata becomes the first (unexpected?) symbol</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:37:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22719" 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/89&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/89&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22720" 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="22721" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: On the latest master I see what I think is the expected error:&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;(:arglists (meta (defn arglists broken-arglist ([a] a) ([a b] b))))
java.lang.IllegalArgumentException: Don&apos;t know how to create ISeq from: clojure.lang.Symbol&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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-105] GC  Issue 101: Strongly typed minus throws too often (with patch)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-105</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 olov.lassus, Apr 04, 2009

First issue is &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; binary minus, &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; and &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; types.  Issue 40  touched upon
&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; but didn&apos;t cover all cases.

Actual (r1338):
user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MIN_VALUE)      
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; -1) &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)         
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; -1) &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MIN_VALUE)     
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)

Expected (with patch):
user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=&amp;gt; (- &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MAX_VALUE &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MIN_VALUE)      
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; -1) &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)         
2147483647
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; -1) &lt;span class=&quot;code-object&quot;&gt;Long&lt;/span&gt;/MIN_VALUE)   
9223372036854775807


Second issue is &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; unary minus, &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; type.

Actual (r1338):
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; (&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)))
java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0)

Expected (with patch):
user=&amp;gt; (- (&lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; (&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/MIN_VALUE)))
2147483648

Comment 1  by richhickey, Apr 09, 2009

Patches applied - svn r1341 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13502">CLJ-105</key>
            <summary>GC  Issue 101: Strongly typed minus throws too often (with patch)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:57:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22775" 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/105&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/105&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
typed_binary_minus.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ckxeGOw4er3Ou4eJe5aVNr/download/ckxeGOw4er3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ckxeGOw4er3Ou4eJe5aVNr/download/ckxeGOw4er3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
typed_unary_minus.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ckxhm0w4er3Ou4eJe5aVNr/download/ckxhm0w4er3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ckxhm0w4er3Ou4eJe5aVNr/download/ckxhm0w4er3Ou4eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22776" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:ckxeGOw4er3Ou4eJe5aVNr&quot;&gt;file:ckxeGOw4er3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22777" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:ckxhm0w4er3Ou4eJe5aVNr&quot;&gt;file:ckxhm0w4er3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22778" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-111] CG  Issue 107: Old junk on sourceforge</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-111</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 chrisperkins99, Apr 15, 2009

The first google hit &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;clojure download&quot;&lt;/span&gt; points directly to an old
(2008-03-29) version on sourceforge.

Perhaps you should remove the download, or remove the whole sourceforge
project, or at least update it to point unsuspecting newbies to the &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt;
google-code location &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the project.


Comment 1 by richhickey, Apr 27, 2009

(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13508">CLJ-111</key>
            <summary>CG  Issue 107: Old junk on sourceforge</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:05:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22792" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/111&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/111&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22793" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-74] GC Issue 71: IDeref print method can recurse infinitely</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-74</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 chouser, Feb 09, 2009

What (small set of) steps will reproduce the problem?

(binding [*print-level* 4]
  (let [a (atom nil)]
    (prn (reset! a a))))

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

Desired output:
#&amp;lt;Atom@1e67e6a: #&amp;lt;Atom@1e67e6a: #&amp;lt;Atom@1e67e6a: #&amp;lt;Atom@1e67e6a: #&amp;gt;&amp;gt;&amp;gt;&amp;gt;

Actual output:
#&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b:
#&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b: #&amp;lt;Atom@1a9d1b: ...etc...
StackOverflowError (NO_SOURCE_FILE:0)

What version are you using?

SVN trunk 1261

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//clojure-log.n01se.net/date/2009-02-09.html#17:53d
&lt;/span&gt;
Please provide any additional information below.

Quick work-around &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; anyone seeing &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; problem:
(remove-method print-method clojure.lang.IDeref)

At the very least, the *print-level* should be honored, and the
attached patch does that.

Comment 1  by richhickey, Feb 10, 2009

patch applied - svn 1266 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13471">CLJ-74</key>
            <summary>GC Issue 71: IDeref print method can recurse infinitely</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 15:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 05:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22668" author="importer" created="Tue, 24 Aug 2010 05:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/74&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/74&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ideref-honors-print-level.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dncD-ow3Or3Qr1eJe5aVNr/download/dncD-ow3Or3Qr1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dncD-ow3Or3Qr1eJe5aVNr/download/dncD-ow3Or3Qr1eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22669" author="importer" created="Tue, 24 Aug 2010 05:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dncD-ow3Or3Qr1eJe5aVNr&quot;&gt;file:dncD-ow3Or3Qr1eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22670" author="importer" created="Tue, 24 Aug 2010 05:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-78] GC  Issue 75:    stackoverflow when counting a long cons chain</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-78</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 chouser, Feb 10, 2009

What (small set of) steps will reproduce the problem?

(count (nth (iterate #(cons 1 %) [0]) 10000))

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

Expected: 10001
Actual:   java.lang.StackOverflowError (NO_SOURCE_FILE:0)

What version are you using?

SVN 1263 trunk

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/7bfb8898fb393afc/1a20cba75a95ceca
&lt;/span&gt;
Please provide any additional information below.

As a result of the conversation linked above, the following issue was
created:

http:&lt;span class=&quot;code-comment&quot;&gt;//code.google.com/p/clojure/issues/detail?id=36
&lt;/span&gt;
The patch attached here depends on the patch from  issue 36  above,
specifically a Counted marker &lt;span class=&quot;code-keyword&quot;&gt;interface&lt;/span&gt;.  With both patches applied:

Using &apos;count&apos; on a large Cons chain no longer crashes:

(def x (nth (iterate #(cons 1 %) [0]) 10000000))

user=&amp;gt; (time (count x))
&lt;span class=&quot;code-quote&quot;&gt;&quot;Elapsed time: 337.329691 msecs&quot;&lt;/span&gt;
10000001

Using &apos;count&apos; on a vector of the same size is of course still much
faster:

user=&amp;gt; (def y (into [] x))
user=&amp;gt; (time (count y))
&lt;span class=&quot;code-quote&quot;&gt;&quot;Elapsed time: 0.092615 msecs&quot;&lt;/span&gt;
10000001

Counting a cons of a single item onto a vector seq is still much
faster than walking the whole length of the seq:

user=&amp;gt; (time (count (cons 1 y)))
&lt;span class=&quot;code-quote&quot;&gt;&quot;Elapsed time: 0.159946 msecs&quot;&lt;/span&gt;
10000002

Comment 1  by richhickey, Feb 10, 2009

patch applied - svn 1268 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13475">CLJ-78</key>
            <summary>GC  Issue 75:    stackoverflow when counting a long cons chain</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:17:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22680" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/78&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/78&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix-count-cons.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dLtc0iw3Sr3O2PeJe5afGb/download/dLtc0iw3Sr3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dLtc0iw3Sr3O2PeJe5afGb/download/dLtc0iw3Sr3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22681" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dLtc0iw3Sr3O2PeJe5afGb&quot;&gt;file:dLtc0iw3Sr3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22682" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#63, #65, #66, #67, #68, #70, #73, #74, #75, #76, #78, #80, #81, #83, #86, #88, #90, #92, #93, #95, #97, #98)&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-106] GC  Issue 102: Possible bug in proxy: NPE for unqualified class</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-106</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 paul.drummond.webmail, Apr 05, 2009

Using latest svn version of clojure (rev 1338)

The following works - note ActionListener is fully qualified:

-----
user=&amp;gt; (.addActionListener (javax.swing.JButton.)
                   (proxy [java.awt.event.ActionListener] []
                     (actionPerformed [evt]
                                      (println &lt;span class=&quot;code-quote&quot;&gt;&quot;button press&quot;&lt;/span&gt;))))
nil
-----
If I remove the &lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt; name I get a NullPointerException:

-----
user=&amp;gt; (.addActionListener (javax.swing.JButton.)
                   (proxy [ActionListener] []
                     (actionPerformed [evt]
                                      (println &lt;span class=&quot;code-quote&quot;&gt;&quot;button press&quot;&lt;/span&gt;))))
java.lang.NullPointerException (NO_SOURCE_FILE:161)
user=&amp;gt;
------

Of course, I haven&apos;t imported ActionListener so I wouldn&apos;t expect it
to evaluate without error - I just wasn&apos;t expecting a
NullPointerException.

Comment 1 by richhickey, Apr 09, 2009

fixed in r1342 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13503">CLJ-106</key>
            <summary>GC  Issue 102: Possible bug in proxy: NPE for unqualified class</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 13:58:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22779" 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/106&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/106&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22780" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-116] CG  Issue 112: Use platform default encoding for *in*, *out*, and *err*</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-116</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 scgilardi, Apr 29, 2009

What (small set of) steps will reproduce the problem?

    Code inspection, RT.java

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

    *in* *out* and *err* use UTF-8 encoding currently. Using the platform
&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; encoding (as determined by the JVM environment) is a better choice.

What version are you using?

    SVN 1359

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

    http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_frm/thread/621aa30c78ba1b9e
&lt;/span&gt;
Please provide any additional information below.

    As requested, a patch is enclosed. Note that &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; changes only *in*,
*out*, and *err*. Clojure source files are still expected (by the reader
and compiler) to be UTF-8 encoded.

Comment 1  by richhickey, Apr 29, 2009

Patch applied - r1360 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13513">CLJ-116</key>
            <summary>CG  Issue 112: Use platform default encoding for *in*, *out*, and *err*</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:12:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22805" 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/116&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/116&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
default-encoding.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cuSS9Ww4mr3Ou4eJe5aVNr/download/cuSS9Ww4mr3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cuSS9Ww4mr3Ou4eJe5aVNr/download/cuSS9Ww4mr3Ou4eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22806" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:cuSS9Ww4mr3Ou4eJe5aVNr&quot;&gt;file:cuSS9Ww4mr3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22807" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-117] GC  Issue 113: Incorrect handling of trailing decimal points in numbers</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-117</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 scgilardi, May 04, 2009

What (small set of) steps will reproduce the problem?

        user=&amp;gt; (class 123.)
        java.lang.&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;

In contrast, Java reads such a number as a &lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;.

        % javac Foo.java
        Foo.java:5: possible loss of precision
        found   : &lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;
        required: &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
                    &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; a = 123.;
                            ^
        1 error

Another place &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; comes up is with a number formatted as 123.e4.  
Currently that&apos;s an invalid number in Clojure:

        user=&amp;gt; (class 123.e4)
        java.lang.NumberFormatException: Invalid number: 123.e4
        java.lang.Exception: Unmatched delimiter: )
        user=&amp;gt;

Java reads it as 1230000.0

What version are you using?

1.0.0

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/c0db774b78171b9b/c57e878f11f2f199?lnk=gst&amp;amp;q=number#c57e878f11f2f199
&lt;/span&gt;
Please provide any additional information below.

I&apos;ve enclosed a patch to LispReader.java that fixes the problem. The patch
contains two changes, one necessary, one optional:

necessary: change the regular expressions intPat and floatPat so that &lt;span class=&quot;code-quote&quot;&gt;&quot;1.&quot;&lt;/span&gt;
is not considered an &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;&quot;&lt;/span&gt; and &lt;span class=&quot;code-quote&quot;&gt;&quot;1.e3&quot;&lt;/span&gt; is accepted as a legal &lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;.

optional: change the handling of the &lt;span class=&quot;code-quote&quot;&gt;&quot;M&quot;&lt;/span&gt; suffix in matchNumber to make the
&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt; handling code use matcher groups like the &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; and bigint handling
code does rather than using string manipulations.

I recommend both changes.

Comment 1  by scgilardi, May 04, 2009

I&apos;ve attached a patch to clojure-contrib/src/clojure/contrib/test_clojure/reader.clj
to provide additional tests &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; reading Doubles and BigDecimals that pass with the
fixed Clojure LispReader.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13514">CLJ-117</key>
            <summary>GC  Issue 113: Incorrect handling of trailing decimal points in numbers</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22808" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/117&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/117&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
number-trailing-dot.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/drAVxMw4mr3Ou4eJe5aVNr/download/drAVxMw4mr3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/drAVxMw4mr3Ou4eJe5aVNr/download/drAVxMw4mr3Ou4eJe5aVNr&lt;/a&gt;&lt;br/&gt;
number-trailing-dot-tests.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/drAYtUw4mr3Ou4eJe5aVNr/download/drAYtUw4mr3Ou4eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/drAYtUw4mr3Ou4eJe5aVNr/download/drAYtUw4mr3Ou4eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22809" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:drAVxMw4mr3Ou4eJe5aVNr&quot;&gt;file:drAVxMw4mr3Ou4eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22810" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:drAYtUw4mr3Ou4eJe5aVNr&quot;&gt;file:drAYtUw4mr3Ou4eJe5aVNr&lt;/a&gt;]: on comment 1&lt;/p&gt;</comment>
                    <comment id="22811" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:f1d13b8f1fbda376352caf85857cc0585717bcd9&amp;#93;&lt;/span&gt;]) parse &quot;1.&quot; and &quot;1.e3&quot; as legal floats. Refs #117&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22812" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Leaving this open until the location of clojure-tests are settled so that the attached test patch can be committed as well.&lt;/p&gt;</comment>
                    <comment id="22813" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:5e34989a7098a55ca014030d7446d2dc20ebc33b&amp;#93;&lt;/span&gt;]) Test reading of numbers like &quot;1.&quot; and &quot;1.e3&quot;. Fixes #117&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-119] GC  Issue 115: Document that #^chars works</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-119</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 hlship, May 05, 2009

In the Java Interop documentation, it identifies a number of special tags
that can be used to identify parameters of primitive arrays.

It does not list #^chars (equivalent to &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;[]) but &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; appears to (at
least partially) work.

On a related note, &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; code:

(def #^StringBuilder *buffer*)

(defn- add-text
  &lt;span class=&quot;code-quote&quot;&gt;&quot;Adds text to the buffer and manages the *text-location* &lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;.&quot;&lt;/span&gt;
  [#^chars ch start length]
  (.append *buffer* ch start length)  ;;;; line 98
  (when (nil? *text-location*)
        (set! *text-location* (current-location))))


I still get 

Reflection warning,
com/howardlewisship/cascade/internal/xmltokenizer.clj:98 - call to append
can&apos;t be resolved.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13516">CLJ-119</key>
            <summary>GC  Issue 115: Document that #^chars works</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:18:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22816" 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/119&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/119&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22817" 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="22818" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;troussan said: The reflection warning in the example code is caused by start and length parameters. If you replace the line 98 with:&lt;br/&gt;
      (.append &lt;b&gt;buffer&lt;/b&gt; ch (int start) (int length))  ;;;; line 98&lt;br/&gt;
the call to append is resolved.&lt;/p&gt;</comment>
                    <comment id="22819" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="22820" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#94, #96, #104, #119, #163)&lt;/p&gt;</comment>
                    <comment id="22821" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: To prevent the reflection warning, use primitive coercions as needed:&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;(.append *buffer* ch start length)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I have update the docs on clojure.org.&lt;/p&gt;</comment>
                    <comment id="22822" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;stu said: repeating the previous comment, with the coercions this time. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&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;(.append *buffer* ch (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; start) (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; length))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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-122] GC  Issue 118: Patch to add :svn to *clojure-version*</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-122</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 miki.tebeka, May 16, 2009

Attached is a patch to add :svn to *clojure-version*.
In order &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; it to work &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; &quot;svn ps svn:keywords Revision
src/clj/clojure/core.clj&quot;

This way when people report problem in clojure, we can know the exact
revision they are talking about.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13519">CLJ-122</key>
            <summary>GC  Issue 118: Patch to add :svn to *clojure-version*</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 17:22:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22853" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/122&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/122&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dXnrtCw4qr3RbzeJe5afGb/download/dXnrtCw4qr3RbzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dXnrtCw4qr3RbzeJe5afGb/download/dXnrtCw4qr3RbzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22854" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:dXnrtCw4qr3RbzeJe5afGb&quot;&gt;file:dXnrtCw4qr3RbzeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22855" author="importer" created="Tue, 24 Aug 2010 06: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>
                </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-123] GC Issue 119: require doc out of date</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-123</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 hlship, May 20, 2009

The following doc &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the (require) form seems to be out of date:

  &apos;require loads a lib by loading its root resource. The root resource path
  is derived from the root directory path by repeating its last component
  and appending &apos;.clj&apos;. For example, the lib &apos;x.y.z has root directory
  &amp;lt;classpath&amp;gt;/x/y/z; root resource &amp;lt;classpath&amp;gt;/x/y/z/z.clj. The root
  resource should contain code to create the lib&apos;s namespace and load any
  additional lib resources.

Unless I&apos;m missing something big, the root resource is
&amp;lt;classpath&amp;gt;/x/y/z.clj.  I&apos;m not sure how the root directory feeds into
things now. If I remember back about 6 months, an older version of Clojure
did it &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; way.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13520">CLJ-123</key>
            <summary>GC Issue 119: require doc out of date</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:23:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22856" 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/123&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/123&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Bring-documentation-for-require-up-to-date.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cX-0jCw4Cr3RbzeJe5afGb/download/cX-0jCw4Cr3RbzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cX-0jCw4Cr3RbzeJe5afGb/download/cX-0jCw4Cr3RbzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22857" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:cX-0jCw4Cr3RbzeJe5afGb&quot;&gt;file:cX-0jCw4Cr3RbzeJe5afGb&lt;/a&gt;]: Bring &apos;require doc up to date and add an usage example&lt;/p&gt;</comment>
                    <comment id="22858" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Added a patch that improves the documentation&lt;/p&gt;</comment>
                    <comment id="22859" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Please include &quot;Refs #123&quot; in your git commit message, so that the ticket will be updated automatically on push, like this:&lt;/p&gt;

&lt;p&gt;(In &lt;a href=&quot;http://github.com/richhickey/clojure/commit/31825fe1991baa3fc9375556ec6f6c595c175f4e&quot;&gt;31825fe1991baa3fc9375556ec6f6c595c175f4e&lt;/a&gt;) Bring documentation for &apos;require up to date&lt;/p&gt;

&lt;p&gt;This seems to me to be a bug that should be fixed in 1.0 as well.  Since we don&apos;t have a process in place for that yet, for now I&apos;ll just leave this ticket open.&lt;/p&gt;</comment>
                    <comment id="22860" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Created ticket #141 to track this issue against branch 1.0.&lt;/p&gt;</comment>
                    <comment id="22861" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #141 was added&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-125] GC  Issue 121: slurp should accept an encoding name</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-125</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 cemer...@snowtide.com, Jun 09, 2009

clojure.core/slurp currently does not accept an encoding to use when
reading the content from the provided path.  Using the system-&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;
encoding is a very common failure pattern.

Attached is a patch which adds an encoding argument to slurp (&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt;
retaining the existing behaviour of falling back on the system-&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;
encoding when one is not specified).&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13522">CLJ-125</key>
            <summary>GC  Issue 121: slurp should accept an encoding name</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:25:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22879" 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/125&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/125&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
slurp-encoding.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/byFSiOw4ur3Od2eJe5aVNr/download/byFSiOw4ur3Od2eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/byFSiOw4ur3Od2eJe5aVNr/download/byFSiOw4ur3Od2eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22880" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:byFSiOw4ur3Od2eJe5aVNr&quot;&gt;file:byFSiOw4ur3Od2eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22881" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;cemerick said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:d97dfc8791e87dbd7727eb3b76d3b62f11de9089&amp;#93;&lt;/span&gt;]) add an optional encoding argument to slurp. Fixes #125&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-108] GC  Issue 104: macro call from Java isn&apos;t evaluated</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-108</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 csaager, Apr 10, 2009

What (small set of) steps will reproduce the problem?
(defn abb [a [b] [&amp;amp; c]] b)
(defmacro extr [fun] `((meta (&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; ~fun)) :arglists))

Java 
Var extr,abb ...
&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; arglists = extr.invoke(abb) 



What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?
Expected ([a [b] [&amp;amp; c]]) (like in REPL)
Got: ((clojure.core/meta (&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;
#&apos;org.enclojure.ide.nb.editor.ClojureSourceTemplate/abb)) :arglists) (a Cons)

What version are you using?
org-enclojure-ide-nb-editor-20090406.590.1337.nbm

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the
discussion:

Please provide any additional information below.

I tried to call &lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.eval(arglists) and eval.invoke(arglists), both
threw an exception
Exception in thread &lt;span class=&quot;code-quote&quot;&gt;&quot;main&quot;&lt;/span&gt; java.lang.ClassCastException: clojure.lang.Var
cannot be &lt;span class=&quot;code-keyword&quot;&gt;cast&lt;/span&gt; to clojure.lang.Symbol (NO_SOURCE_FILE:0)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4493)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4315)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4276)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$InvokeExpr.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:2761)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4488)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4315)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4276)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$InvokeExpr.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:2757)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4488)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4315)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4276)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$BodyExpr$Parser.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3852)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnMethod.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3687)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnMethod.access$1100(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:3564)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$FnExpr.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:2953)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4484)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyze(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4315)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.eval(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4520)
        at clojure.core$eval__3975.invoke(core.clj:1743)
        at clojure.lang.Var.invoke(Var.java:346)
        at com.yourcompany.NewClass.main(NewClass.java:32)
Caused by: java.lang.ClassCastException: clojure.lang.Var cannot be &lt;span class=&quot;code-keyword&quot;&gt;cast&lt;/span&gt; to
clojure.lang.Symbol
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;$TheVarExpr$Parser.parse(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:485)
        at clojure.lang.&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.analyzeSeq(&lt;span class=&quot;code-object&quot;&gt;Compiler&lt;/span&gt;.java:4486)
        ... 20 more



Comment 1 by durka42, Apr 12, 2009

I am not sure &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is a bug.

Macros are just functions with a bit set in the metadata, so when called like
functions they should just &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; code.
extr.invoke(abb) returns ((clojure.core/meta (&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; #&apos;clojure.core/abb)) :arglists).
Note that the macro was called with the Var abb. When evaluated, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; an
exception because &lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; was called with a Var instead of a symbol (it is meant to be
called as (&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; abb)).
What the REPL does is more like extr.invoke(RT.readString(&lt;span class=&quot;code-quote&quot;&gt;&quot;abb&quot;&lt;/span&gt;)) or
extr.invoke(Symbol.create(&lt;span class=&quot;code-quote&quot;&gt;&quot;abb&quot;&lt;/span&gt;)), both of which &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; ((clojure.core/meta (&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;
abb)) :arglists) which can be evaluated as you expect.

Comment 2  by richhickey, Apr 12, 2009

Please discuss things like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; on the group to clarify the issue and your
understanding before posting an issue here - thanks.

Status: Invalid&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13505">CLJ-108</key>
            <summary>GC  Issue 104: macro call from Java isn&apos;t evaluated</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:01:00 -0500</created>
                <updated>Tue, 24 Aug 2010 05:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22784" author="importer" created="Tue, 24 Aug 2010 05:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/108&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/108&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
test.java - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/acZHQ2w4ir3Od2eJe5aVNr/download/acZHQ2w4ir3Od2eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/acZHQ2w4ir3Od2eJe5aVNr/download/acZHQ2w4ir3Od2eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22785" author="importer" created="Tue, 24 Aug 2010 05:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:acZHQ2w4ir3Od2eJe5aVNr&quot;&gt;file:acZHQ2w4ir3Od2eJe5aVNr&lt;/a&gt;]: on comment 1&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-87] GC  Issue 83:    PersistentArrayMap trust the reader (map literals) too much</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-87</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 karmazilla, Feb 17, 2009

What (small set of) steps will reproduce the problem?

PersistentArrayMap gets it wrong:

user=&amp;gt; {1 1 1 1 1 1 2 2}
{1 1, 1 1, 1 1, 2 2}

What is the expected output? What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you see instead?

But PersistentHashMap gets it right:

user=&amp;gt; (hash-map 1 1 1 1 1 1 2 2)
{1 1, 2 2}

What version are you using?

rev 1286.

Was &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; discussed on the group? If so, please provide a link to the 
discussion:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/
&lt;/span&gt;thread/5a38a6b61b09e025

Please provide any additional information below.

PersistentArrayMap seems to be the culprits. Line 65 to 73. They should 
probably assoc the individual items like PersistentHashMap &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;, I guess.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13484">CLJ-87</key>
            <summary>GC  Issue 83:    PersistentArrayMap trust the reader (map literals) too much</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 22:36:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22711" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/87&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/87&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
map-literals-error.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJ9rlAc4Gr36CjeJe5aVNr/download/cJ9rlAc4Gr36CjeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJ9rlAc4Gr36CjeJe5aVNr/download/cJ9rlAc4Gr36CjeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22712" author="importer" created="Tue, 24 Aug 2010 00: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="22713" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;hiredman said: [&lt;a href=&quot;file:cJ9rlAc4Gr36CjeJe5aVNr&quot;&gt;file:cJ9rlAc4Gr36CjeJe5aVNr&lt;/a&gt;]: add error detect to reader&lt;/p&gt;</comment>
                    <comment id="22714" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;hiredman said: patch adds some error detection to the map literal reader. covers the above case and also {:a}&lt;/p&gt;</comment>
                    <comment id="22715" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;devlinsf said: Could this issue be promoted to &quot;Release - Bug Fix&quot;?&lt;/p&gt;</comment>
                    <comment id="22716" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:e6e39d5931fbdf3dfa68cd2d059b8e26ce45c965&amp;#93;&lt;/span&gt;]) catch duplicate map keys for literals and hash- and array-map calls. Fixes #87&lt;/p&gt;

&lt;p&gt;Branch: master&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-102] GC Issue 98:    proxy emits bytecode improperly referring to 21- &amp; 22-arg overloads of IFn.invoke (Regression?)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-102</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 cemer...@snowtide.com, Mar 15, 2009

Attempting to obfuscate a jar that includes clojure.jar&apos;s contents using
proguard results in two errors:

 [proguard] Warning: clojure.proxy.clojure.lang.APersistentMap: can&apos;t find
referenced method &apos;java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
invoke(java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)&apos;
in class clojure.lang.IFn
 [proguard] Warning: clojure.proxy.clojure.lang.APersistentMap: can&apos;t find
referenced method &apos;java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
invoke(java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;,java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;)&apos;
in class clojure.lang.IFn

This is almost identical to a previously reported (and fixed) problem with
gen-class, where it used to emit 21- and 22-argument overloads of
IFn.invoke that delegated to the gen-class&apos; superclass&apos; implementation
(which obviously doesn&apos;t provide IFn.invoke overloads with greater than 20
arguments).  This issue was reported and fixed last August:

http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/b3698314084d8f54
&lt;/span&gt;
Looks like the problem has cropped up again, only &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; time in conjunction
with AOT compiled proxies.

Comment 1 by cemer...@snowtide.com, Mar 16, 2009

Fixed in r1330 -- thanks, Rich!

Comment 2 by richhickey, Mar 16, 2009

(No comment was entered &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; change.)

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13499">CLJ-102</key>
            <summary>GC Issue 98:    proxy emits bytecode improperly referring to 21- &amp; 22-arg overloads of IFn.invoke (Regression?)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 16:52:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22764" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/102&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/102&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22765" author="importer" created="Tue, 24 Aug 2010 06:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-109] GC  Issue 105: Build patch: install results to local Maven repository</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-109</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 hlship, Apr 10, 2009

This patch creates a ci-build target that builds and installs the results
to the local Maven repository (where those changed JARs will be visible to
the clojure-contrib ci-build).

Comment 1  by dimi...@gashinsky.com, Apr 11, 2009

I&apos;ve submitted a similar patch to the  Issue 70 .
Hope &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; one goes in.

Comment 2 by richhickey, Apr 14, 2009

Patch applied - r1352 - thanks!

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13506">CLJ-109</key>
            <summary>GC  Issue 105: Build patch: install results to local Maven repository</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:03:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22786" 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/109&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/109&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-build-patch.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bmVO0yw4ir3O2PeJe5afGb/download/bmVO0yw4ir3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bmVO0yw4ir3O2PeJe5afGb/download/bmVO0yw4ir3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22787" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:bmVO0yw4ir3O2PeJe5afGb&quot;&gt;file:bmVO0yw4ir3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22788" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-114] GC  Issue 110: clojure version number patch</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-114</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 laurent....@gmail.com, Apr 26, 2009

Patch with the necessary changes to handle version numbering &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; clojure:

 * a src/clj/clojure/version.properties file
 * &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; version.properties file is the reference &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; version numbers. It is
on the classpath so it can be seen by clojure at runtime. It is in a
subdirectory of clojure-the-project so any tool can refer to it relatively
to the installation of clojure.

 * I&apos;ve added the necessary code to clojure to load clojure version number
at startup time


I&apos;ve also added function (clojure.core/clojure-version) that will &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; a
string representing the version from the structured *clojure-version* map.
The algorithm here is simple: 
&amp;lt;MAJOR&amp;gt;.&amp;lt;MINOR&amp;gt;[.&amp;lt;INCREMENT&amp;gt;][-&amp;lt;QUALIFIER&amp;gt;][-SNAPSHOT]

 * I&apos;ve changed the ant build.xml so that it creates fully qualified names
with version attributes &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the generated jars.
 * Note on the :interim attribute: to protect the person who makes releases
from itself, instead of considering :interim to be &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there is the
&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&quot;&lt;/span&gt; string in the properties file, I&apos;ve made the opposite choice:
interim is &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; any value other than &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;&quot;&lt;/span&gt;. So &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; there is a typo in
version.properties (e.g. tru instead of &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;), then the release will be
marked as interim, and that will not be a big deal. In the other &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt;, it
would be a big deal &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; an official release was made accidentally instead of
an interim.

* &lt;span class=&quot;code-keyword&quot;&gt;finally&lt;/span&gt;, pom.xml file is now generated from ant as part of the classic
init step.

Note: I strongly suggest that the clojure.version.interim property remains
&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; in svn, so that it&apos;s not possible to inadvertently release a version
&lt;span class=&quot;code-quote&quot;&gt;&quot;too early&quot;&lt;/span&gt;.

Comment 1  by richhickey, Apr 27, 2009

I can&apos;t apply the patch due to missing pom-template.xml?

Also, could you just put the contents of core_version.clj into core.clj? I&apos;d rather
not have another file just &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.

Thanks!

Comment 2 by laurent....@gmail.com, Apr 27, 2009

OK, core_version.clj content back into core.clj.

There was a problem with pom-template.xml probably because I tried on my local
working copy to make a svn rename pom.xml pom-template.xml, and somehow the svn diff
command did not like that.

What I&apos;ve done in the current patch is first svn remove pom.xml then svn add
pom-template.xml.

Comment 3  by richhickey, Apr 27, 2009

patch applied- svn 1357 - thanks!

Status: Accepted
Comment 4 by scgilardi, May 12, 2009

(clojure-version) &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; 1.0 has a trailing &lt;span class=&quot;code-quote&quot;&gt;&quot;-&quot;&lt;/span&gt;. The intention (as noted above in the
issue) is that when the qualifier is absent, there should be no &lt;span class=&quot;code-quote&quot;&gt;&quot;-&quot;&lt;/span&gt;. The current
setup is reading a blank qualifier as an empty string, but checking later &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; nil
rather than nil or the empty string.

Clojure 1.0.0-
user=&amp;gt; *clojure-version*
{:major 1, :minor 0, :incremental 0, :qualifier &quot;&quot;}
user=&amp;gt; (clojure-version)
&lt;span class=&quot;code-quote&quot;&gt;&quot;1.0.0-&quot;&lt;/span&gt;
user=&amp;gt; 



Comment 5 by laurent....@gmail.com, May 12, 2009

OK, a mistake on my part.

Rich, I also see you have made implicitly the &lt;span class=&quot;code-quote&quot;&gt;&quot;incremental&quot;&lt;/span&gt; attribute mandatory in
trunk (since you apply &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/valueOf on it without checking &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; nullity or string
emptyness).

If it is intentional, I can also add in the corrective patch a modified build.xml
that verifies &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; (incremental being mandatory) when building with ant, or I can
change the patch to keep the &lt;span class=&quot;code-quote&quot;&gt;&quot;incremental&quot;&lt;/span&gt; attribute optional.

Waiting &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; your answer before creating the patch.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13511">CLJ-114</key>
            <summary>GC  Issue 110: clojure version number patch</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 23:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:45:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22799" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/114&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/114&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-version.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aKO9q2w4mr3Od2eJe5aVNr/download/aKO9q2w4mr3Od2eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aKO9q2w4mr3Od2eJe5aVNr/download/aKO9q2w4mr3Od2eJe5aVNr&lt;/a&gt;&lt;br/&gt;
clojure-version2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aKO_-6w4mr3Od2eJe5aVNr/download/aKO_-6w4mr3Od2eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aKO_-6w4mr3Od2eJe5aVNr/download/aKO_-6w4mr3Od2eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22800" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aKO9q2w4mr3Od2eJe5aVNr&quot;&gt;file:aKO9q2w4mr3Od2eJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22801" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aKO_-6w4mr3Od2eJe5aVNr&quot;&gt;file:aKO_-6w4mr3Od2eJe5aVNr&lt;/a&gt;]: on comment 2&lt;/p&gt;</comment>
                    <comment id="22802" author="importer" created="Tue, 24 Aug 2010 00: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>
                </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-128] Ensure that PersistentTreeMap.empty() (and therefore PersistentTreeSet.empty()) retain the callee&apos;s comparator</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-128</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently:&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; (-&amp;gt; (sorted-set-by (comparator &amp;gt;) 1 2 3) empty (into [1 2 3]))
#{1 2 3}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The above should evaluate to #{3 2 1} (the provided comparator is being dropped by the &apos;empty&apos; call).&lt;/p&gt;</description>
                <environment></environment>
            <key id="13525">CLJ-128</key>
            <summary>Ensure that PersistentTreeMap.empty() (and therefore PersistentTreeSet.empty()) retain the callee&apos;s comparator</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cemerick">Chas Emerick</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Jun 2009 15:56:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22891" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/128&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/128&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix-128.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aaAsAO7eer3R_eeJe5afGb/download/aaAsAO7eer3R_eeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aaAsAO7eer3R_eeJe5afGb/download/aaAsAO7eer3R_eeJe5afGb&lt;/a&gt;&lt;br/&gt;
fix-128-b.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bkb7eW7nWr3RUheJe5aVNr/download/bkb7eW7nWr3RUheJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bkb7eW7nWr3RUheJe5aVNr/download/bkb7eW7nWr3RUheJe5aVNr&lt;/a&gt;&lt;br/&gt;
fix-128-c.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/camOJA7oOr3QIWeJe5aVNr/download/camOJA7oOr3QIWeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/camOJA7oOr3QIWeJe5aVNr/download/camOJA7oOr3QIWeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22892" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#127, #128, #129, #130)&lt;/p&gt;</comment>
                    <comment id="22893" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;devlinsf said: [&lt;a href=&quot;file:aaAsAO7eer3R_eeJe5afGb&quot;&gt;file:aaAsAO7eer3R_eeJe5afGb&lt;/a&gt;]: This fixes empty to preserve a comparator&lt;/p&gt;</comment>
                    <comment id="22894" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;devlinsf said: I had add a new arity for withMeta to PersistentTreeSet and PersistentTreeMap.  This new form takes a comparator when creating a new value.&lt;/p&gt;</comment>
                    <comment id="22895" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Sean, both the map and set already have constructors that include meta and comparator (via impl in the set case).  I think you can just use those in the empty() methods.&lt;/p&gt;</comment>
                    <comment id="22896" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;devlinsf said: Rewrote empty per Chouser&apos;s suggestion.  Removed new arity to withMeta.  Added tests to test_clojure/sequences.clj  Should be better now.&lt;/p&gt;</comment>
                    <comment id="22897" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Sean, I don&apos;t see a new patch attached.&lt;/p&gt;</comment>
                    <comment id="22898" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:bkb7eW7nWr3RUheJe5aVNr&quot;&gt;file:bkb7eW7nWr3RUheJe5aVNr&lt;/a&gt;]: Simplified patch to fix sorted empty() methods&lt;/p&gt;</comment>
                    <comment id="22899" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:camOJA7oOr3QIWeJe5aVNr&quot;&gt;file:camOJA7oOr3QIWeJe5aVNr&lt;/a&gt;]: patch against 1.1.0-rc1 that includes fix and tests&lt;/p&gt;</comment>
                    <comment id="22900" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:89ad4ab4265299327001e2717aa73c8f87f11346&amp;#93;&lt;/span&gt;]) empty for sorted-map and sorted-set now maintain comparator. Fixes #128&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22901" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:a3a1b3aa3523608f0b69e0d8655d519767246c79&amp;#93;&lt;/span&gt;]) Added sorted tests to test-empty in test_clojure/sequences.clj Refs #128&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22902" author="importer" created="Tue, 24 Aug 2010 07:45:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:855f394d6895cebfcee307dbccea9bdeffe792f5&amp;#93;&lt;/span&gt;]) Added test-empty-sorted to test_clojure/sequences.clj Refs #128&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&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-132] Agents printed at the REPL do not always reflect their value</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-132</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Starting with a fresh REPL and entering the following:&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;(def counter (agent 0))
(defn add1 [x] (inc x))
(send counter add1)
;; repeat many times
(send counter add1)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The representation printed at the REPL will not always display the correct value for the agent (e.g. the second call to `send` would print #&amp;lt;Agent@743fba: 1&amp;gt;).  This appears to happen only in the first few calls to `send` before the value eventually &quot;catches up&quot;.  This behavior of course never occurs with `send-off`.  This appears to only affect the printed value and not the actual value, but can still cause confusion.&lt;/p&gt;

&lt;p&gt;My setup is as follows:&lt;br/&gt;
Mac OSX 10.5&lt;br/&gt;
Clojure 1.0.0&lt;br/&gt;
Running with `java -server -cp $CP jline.ConsoleRunner clojure.lang.Repl $*` where $CP points to clojure.jar, clojure-contrib.jar, and jline.jar&lt;/p&gt;

&lt;p&gt;This also occurs with a fresh build of Clojure 1.1.0-alpha-SNAPSHOT from github.&lt;/p&gt;

&lt;p&gt;-m&lt;/p&gt;</description>
                <environment></environment>
            <key id="13529">CLJ-132</key>
            <summary>Agents printed at the REPL do not always reflect their value</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Jun 2009 16:55:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:46:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:46:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22911" author="importer" created="Tue, 24 Aug 2010 07:46:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/132&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/132&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22912" author="importer" created="Tue, 24 Aug 2010 07:46:00 -0500"  >&lt;p&gt;stu said: I don&apos;t think this is a bug &amp;#8211; there is no &quot;correct value for the agent&quot; as seen from the calling thread. There is a race condition when viewing agents at the REPL, and this is by design.&lt;/p&gt;</comment>
                    <comment id="22913" author="importer" created="Tue, 24 Aug 2010 07:46:00 -0500"  >&lt;p&gt;fogus said: I understand why it happens, but it might be worthwhile to at least document this condition and/or consider removing the print of the value.  In some cases reporting nothing is better than potentially incorrect information.  Or is it enough to just say, &quot;it&apos;s correct eventually or at least most of the time&quot;?&lt;/p&gt;

&lt;p&gt;-m&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-133] GC Issue 68: every? returns nil instead of false</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-133</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #71 against Clojure 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13530">CLJ-133</key>
            <summary>GC Issue 68: every? returns nil instead of false</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 21 Jun 2009 20:07:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:46:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:46:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22914" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/133&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/133&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ticket-133-from-71.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cyGJMsxTOr3OaseJe5afGb/download/cyGJMsxTOr3OaseJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cyGJMsxTOr3OaseJe5afGb/download/cyGJMsxTOr3OaseJe5afGb&lt;/a&gt;&lt;br/&gt;
tc133_everyq.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b1BM8WAUer3QimeJe5aVNr/download/b1BM8WAUer3QimeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b1BM8WAUer3QimeJe5aVNr/download/b1BM8WAUer3QimeJe5aVNr&lt;/a&gt;&lt;br/&gt;
tc133_everyq_v2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFPtUwAVKr3Q07eJe5aVNr/download/dFPtUwAVKr3Q07eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFPtUwAVKr3Q07eJe5aVNr/download/dFPtUwAVKr3Q07eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22915" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:cyGJMsxTOr3OaseJe5afGb&quot;&gt;file:cyGJMsxTOr3OaseJe5afGb&lt;/a&gt;]: The fix from #71 rebased to Clojure 1.0&lt;/p&gt;</comment>
                    <comment id="22916" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Attached is &lt;a href=&quot;http://github.com/richhickey/clojure/commit/b03e19aa341fea01c1279a74f4184f6538d0f72e&quot;&gt;revision:b03e19aa341fea01c1279a74f4184f6538d0f72e&lt;/a&gt; rebased for Clojure 1.0&lt;/p&gt;</comment>
                    <comment id="22917" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:b1BM8WAUer3QimeJe5aVNr&quot;&gt;file:b1BM8WAUer3QimeJe5aVNr&lt;/a&gt;]: added tests for every?&lt;/p&gt;</comment>
                    <comment id="22918" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;fsodomka said: I believe that this issue is fixed and could be closed. I am also adding (uncommenting) tests for every? - see attached patch file tc133_everyq.diff&lt;/p&gt;</comment>
                    <comment id="22919" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:dFPtUwAVKr3Q07eJe5aVNr&quot;&gt;file:dFPtUwAVKr3Q07eJe5aVNr&lt;/a&gt;]: added tests for every?&lt;/p&gt;</comment>
                    <comment id="22920" author="importer" created="Tue, 24 Aug 2010 03:46:00 -0500"  >&lt;p&gt;stu said: fixed long ago&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-134] *-zip lose metadata</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-134</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;vector-zip and seq-zip do not transport metadata on the nodes.&lt;/p&gt;

&lt;p&gt;Reported by Justin Balthrop on #clojure.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Toreproduce%3A&quot;&gt;&lt;/a&gt;To reproduce: &lt;/h1&gt;

&lt;p&gt;1. Create a vector with metadata.&lt;br/&gt;
2. Create a vector zipper.&lt;br/&gt;
3. Move in the tree.&lt;br/&gt;
4. Recreate the root.&lt;/p&gt;

&lt;p&gt;Now the metadata is lost.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Proposedfix%3A&quot;&gt;&lt;/a&gt;Proposed fix: &lt;/h1&gt;

&lt;p&gt;Move the metadata in the make-node function of the vector zipper.&lt;/p&gt;

&lt;p&gt;Patch attached.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13531">CLJ-134</key>
            <summary>*-zip lose metadata</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Jun 2009 13:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:47:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:47:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22921" author="importer" created="Tue, 24 Aug 2010 03:47:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/134&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/134&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
zip-metadata-bug.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c1enmoydyr3RpYeJe5afGb/download/c1enmoydyr3RpYeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c1enmoydyr3RpYeJe5afGb/download/c1enmoydyr3RpYeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22922" author="importer" created="Tue, 24 Aug 2010 03:47:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: [&lt;a href=&quot;file:c1enmoydyr3RpYeJe5afGb&quot;&gt;file:c1enmoydyr3RpYeJe5afGb&lt;/a&gt;]: Patch for metadata bug in zipper&lt;/p&gt;</comment>
                    <comment id="22923" author="importer" created="Tue, 24 Aug 2010 03:47:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:dc5b4e60b88b9183e40a2427ef91b64c45c42ac3&amp;#93;&lt;/span&gt;]) Move metadata in vector-zip and seq-zip&lt;/p&gt;

&lt;p&gt;Fixes #134&lt;br/&gt;
Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22924" author="importer" created="Tue, 24 Aug 2010 03:47:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #161 was added&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-135] zipper: children does not check node type</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-135</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;children does not check the node type.&lt;/p&gt;

&lt;p&gt;Reported by Justin Balthrop on #clojure.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Toreproduce%3A&quot;&gt;&lt;/a&gt;To reproduce: &lt;/h1&gt;

&lt;p&gt;(-&amp;gt; (clojure.core/vector-zip &apos;&lt;span class=&quot;error&quot;&gt;&amp;#91;(1 2) (3 4)&amp;#93;&lt;/span&gt;) clojure.zip/down clojure.zip/down) descends into the list, where it should not.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Proposedfix%3A&quot;&gt;&lt;/a&gt;Proposed fix:&lt;/h1&gt;

&lt;p&gt;children should check branch? and throw an exception if the node is actually a leaf.&lt;/p&gt;

&lt;p&gt;Patch attached.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13532">CLJ-135</key>
            <summary>zipper: children does not check node type</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Jun 2009 23:26:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:47:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:47:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22925" author="importer" created="Tue, 24 Aug 2010 00:47:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/135&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/135&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
zip-children-bug.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cqC9AaydWr3PjFeJe5afGb/download/cqC9AaydWr3PjFeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cqC9AaydWr3PjFeJe5afGb/download/cqC9AaydWr3PjFeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22926" author="importer" created="Tue, 24 Aug 2010 00:47:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: [&lt;a href=&quot;file:cqC9AaydWr3PjFeJe5afGb&quot;&gt;file:cqC9AaydWr3PjFeJe5afGb&lt;/a&gt;]: Patch for the children bug in the zipper&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-136] Enhancement: give meaningful names to inline expanders</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-136</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently inline expander fns are anonymous, so the errors they report have no context:&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;  (pos? 3 4)
java.lang.IllegalArgumentException: Wrong number of args passed to: core$fn (NO_SOURCE_FILE:114)
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

Could be fixed by supplying a name to expander:

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;:inline (fn pos? [x] ...)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13533">CLJ-136</key>
            <summary>Enhancement: give meaningful names to inline expanders</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="mikehinchey">Mike Hinchey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 26 Jun 2009 14:08:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:48:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:48:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22927" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/136&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/136&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-core-add-names-for-inline-expansions.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aOOXAsy_ir3RQ_eJe5afGb/download/aOOXAsy_ir3RQ_eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aOOXAsy_ir3RQ_eJe5afGb/download/aOOXAsy_ir3RQ_eJe5afGb&lt;/a&gt;&lt;br/&gt;
clojure-136-inline.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/baIkEkGDOr3P4FeJe5aVNr/download/baIkEkGDOr3P4FeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/baIkEkGDOr3P4FeJe5aVNr/download/baIkEkGDOr3P4FeJe5aVNr&lt;/a&gt;&lt;br/&gt;
clojure-136-inline2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aMYigUHWer3RyjeJe5afGb/download/aMYigUHWer3RyjeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aMYigUHWer3RyjeJe5afGb/download/aMYigUHWer3RyjeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22928" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:aOOXAsy_ir3RQ_eJe5afGb&quot;&gt;file:aOOXAsy_ir3RQ_eJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22929" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;oranenj said: Took about five minutes. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; It seems only clojure.core creates inline functions.&lt;/p&gt;

&lt;p&gt;Behaviour with the patch applied:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (pos? 3 4)&lt;br/&gt;
java.lang.IllegalArgumentException: Wrong number of args passed to: core$pos-QMARK- (NO_SOURCE_FILE:1)&lt;/p&gt;

&lt;p&gt;Perhaps demangling for function names in error messages is next... I suspect it will require touching the java side, though.&lt;/p&gt;</comment>
                    <comment id="22930" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Thanks for the patch!  Unfortunately it doesn&apos;t apply cleanly anymore &amp;#8211; looks like some function definitions have moved around.  Also doesn&apos;t appear to address functions produced by definline which have the same problem:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (floats 1 2)&lt;br/&gt;
java.lang.IllegalArgumentException: Wrong number of args passed to: core$fn (NO_SOURCE_FILE:1)&lt;/p&gt;</comment>
                    <comment id="22931" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:baIkEkGDOr3P4FeJe5aVNr&quot;&gt;file:baIkEkGDOr3P4FeJe5aVNr&lt;/a&gt;]: patch to automatically give inline fn names&lt;/p&gt;</comment>
                    <comment id="22932" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;mikehinchey said: The new patch I uploaded (clojure-136-inline.patch) has a different solution.  defn will automatically add the same fn name to the :inline value if it doesn&apos;t have one.&lt;/p&gt;</comment>
                    <comment id="22933" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Mike, I like your approach &amp;#8211; would you bring the closing bracket up to the previous line?  It&apos;s hard to know what good style is when you don&apos;t have &apos;and&apos; or &apos;when&apos;, but I think we can do that much.  Mark it as &apos;test&apos; again when you&apos;ve got that attached.&lt;/p&gt;

&lt;p&gt;This still needs Rich&apos;s approval, so I&apos;m bumping it back to Unapproved.&lt;/p&gt;</comment>
                    <comment id="22934" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:aMYigUHWer3RyjeJe5afGb&quot;&gt;file:aMYigUHWer3RyjeJe5afGb&lt;/a&gt;]: revised patch to automatically give inline fn names&lt;/p&gt;</comment>
                    <comment id="22935" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;mikehinchey said: Okay. clojure-136-inline2.patch fixes the bracket and cleans it up more, plus comments.&lt;/p&gt;</comment>
                    <comment id="22936" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Mike, looks good to me.&lt;/p&gt;</comment>
                    <comment id="22937" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;technomancy said: Looks like this still cleanly applies to master and does what it says on the box.&lt;/p&gt;</comment>
                    <comment id="22938" author="importer" created="Tue, 24 Aug 2010 00:48:00 -0500"  >&lt;p&gt;mikehinchey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:1b4852fdbd5ca8df86e783e417f01c8db226d428&amp;#93;&lt;/span&gt;]) give meaningful names to inline expanders, fix #136&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-131] Move Clojure tests from contrib into Clojure</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-131</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;See this page in the wiki:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.assembla.com/wiki/show/clojure/Getting_Tests_Into_Clojure&quot;&gt;http://www.assembla.com/wiki/show/clojure/Getting_Tests_Into_Clojure&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13528">CLJ-131</key>
            <summary>Move Clojure tests from contrib into Clojure</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Jun 2009 14:53:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:46:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:46:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22908" author="importer" created="Tue, 24 Aug 2010 06:46:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/131&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/131&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22909" author="importer" created="Tue, 24 Aug 2010 06:46:00 -0500"  >&lt;p&gt;fsodomka said: &lt;b&gt;Child&lt;/b&gt; association with ticket #144 was added&lt;/p&gt;</comment>
                    <comment id="22910" author="importer" created="Tue, 24 Aug 2010 06:46:00 -0500"  >&lt;p&gt;fsodomka said: &lt;b&gt;Child&lt;/b&gt; association with ticket #158 was added&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-110] GC  Issue 106:  clojure.main should exit with non-zero code on unhandled exceptions</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-110</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 duelin.markers, Apr 12, 2009

See discussion in &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; thread:
http:&lt;span class=&quot;code-comment&quot;&gt;//groups.google.com/group/clojure/browse_thread/thread/8861acaff4db422d
&lt;/span&gt;
Currently the following exits with a success exit code (zero).
java -jar clojure.jar clojure.main -e &lt;span class=&quot;code-quote&quot;&gt;&quot;some-garbage&quot;&lt;/span&gt;

The attached patch allows unhandled exceptions to bubble up so the JVM can
terminate the way it normally would.

Comment 1  by richhickey, Apr 14, 2009

Fixed - r1351 - thanks &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the report

Status: Fixed&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13507">CLJ-110</key>
            <summary>GC  Issue 106:  clojure.main should exit with non-zero code on unhandled exceptions</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Jun 2009 14:04:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22789" 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/110&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/110&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
dont_swallow_exceptions_in_clojure_main.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b-aWy4w4ir3O2PeJe5afGb/download/b-aWy4w4ir3O2PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b-aWy4w4ir3O2PeJe5afGb/download/b-aWy4w4ir3O2PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22790" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:b-aWy4w4ir3O2PeJe5afGb&quot;&gt;file:b-aWy4w4ir3O2PeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="22791" author="importer" created="Tue, 24 Aug 2010 03:45:00 -0500"  >&lt;p&gt;oranenj said: Updating tickets (#102, #105, #106, #109, #110, #111, #116)&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-138] min and max history for refs</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-138</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;knobs for history control. With positive min-history, will keep history even in absence of detected conflict. max history will limit dynamic history accumulation.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13535">CLJ-138</key>
            <summary>min and max history for refs</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Jun 2009 13:40:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:50:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:50:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22949" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/138&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/138&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22950" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:6201f5e2ddd52f1b483d75563b0380deba59777c&amp;#93;&lt;/span&gt;]) added ref min/max history control - refs #138&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-142] Bug: Compile-time NPE on set! of non-existent field</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-142</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;(set! (.foo &quot;fred&quot;) 47)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13539">CLJ-142</key>
            <summary>Bug: Compile-time NPE on set! of non-existent field</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Jul 2009 04:49:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:51:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22960" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/142&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/142&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22961" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:c4a5cd208aef54ae5b292fa41c4880017315e553&amp;#93;&lt;/span&gt;]) fix compile-time NPE on set! of non-existent field, fixes #142&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22962" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #147 was added&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-146] NPE when creating an empty array of ints, longs, floats or doubles</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-146</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;(int-array []) should return an empty array - the same as (int-array 0). Also true for long-array, float-array and double-array.&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (doc int-array)&lt;br/&gt;
-------------------------&lt;br/&gt;
clojure.core/int-array&lt;br/&gt;
(&lt;span class=&quot;error&quot;&gt;&amp;#91;size-or-seq&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;size init-val-or-seq&amp;#93;&lt;/span&gt;)&lt;br/&gt;
  Creates an array of ints&lt;/p&gt;

&lt;p&gt;OK:&lt;br/&gt;
user=&amp;gt; (int-array &lt;span class=&quot;error&quot;&gt;&amp;#91;1 2&amp;#93;&lt;/span&gt;)&lt;br/&gt;
#&amp;lt;int[] [I@1342ba4&amp;gt;&lt;br/&gt;
user=&amp;gt; (vec (int-array &lt;span class=&quot;error&quot;&gt;&amp;#91;1 2&amp;#93;&lt;/span&gt;))&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;1 2&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;NPE:&lt;br/&gt;
user=&amp;gt; (int-array [])&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;/p&gt;

&lt;p&gt;OK:&lt;br/&gt;
user=&amp;gt; (int-array 2)&lt;br/&gt;
#&amp;lt;int[] [I@18d9850&amp;gt;&lt;br/&gt;
user=&amp;gt; (vec (int-array 2))&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;0 0&amp;#93;&lt;/span&gt;&lt;br/&gt;
user=&amp;gt; (int-array 0)&lt;br/&gt;
#&amp;lt;int[] [I@1e97f9f&amp;gt;&lt;br/&gt;
user=&amp;gt; (vec (int-array 0))&lt;br/&gt;
[]&lt;/p&gt;

&lt;p&gt;NPE:&lt;br/&gt;
user=&amp;gt; (long-array [])&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;br/&gt;
user=&amp;gt; (float-array [])&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;br/&gt;
user=&amp;gt; (double-array [])&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (int-array ())&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;br/&gt;
user=&amp;gt; (int-array {})&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;br/&gt;
user=&amp;gt; (int-array #{})&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13543">CLJ-146</key>
            <summary>NPE when creating an empty array of ints, longs, floats or doubles</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="fsodomka">Frantisek Sodomka</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 Jul 2009 06:50:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:53:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:53:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22978" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/146&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/146&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix_and_test_146.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b0V98YAUWr3Qj6eJe5afGb/download/b0V98YAUWr3Qj6eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b0V98YAUWr3Qj6eJe5afGb/download/b0V98YAUWr3Qj6eJe5afGb&lt;/a&gt;&lt;br/&gt;
fix_and_test_146_v2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aa7RF6AVOr3PFkeJe5afGb/download/aa7RF6AVOr3PFkeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aa7RF6AVOr3PFkeJe5afGb/download/aa7RF6AVOr3PFkeJe5afGb&lt;/a&gt;&lt;br/&gt;
fix_and_test_146_v3.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bNDk58GSGr3OJWeJe5aVNr/download/bNDk58GSGr3OJWeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bNDk58GSGr3OJWeJe5aVNr/download/bNDk58GSGr3OJWeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22979" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:b0V98YAUWr3Qj6eJe5afGb&quot;&gt;file:b0V98YAUWr3Qj6eJe5afGb&lt;/a&gt;]: fix errors and add tests&lt;/p&gt;</comment>
                    <comment id="22980" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: See patch fix_and_test_146.diff. Fixes Java code and adds tests. It is my first patch for the Java code of Clojure, so be careful &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    <comment id="22981" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:aa7RF6AVOr3PFkeJe5afGb&quot;&gt;file:aa7RF6AVOr3PFkeJe5afGb&lt;/a&gt;]: fix errors and add tests&lt;/p&gt;</comment>
                    <comment id="22982" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;richhickey said: A better fix is to use RT.count(s) rather than s.count(). Then there is no special handling.&lt;/p&gt;</comment>
                    <comment id="22983" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:bNDk58GSGr3OJWeJe5aVNr&quot;&gt;file:bNDk58GSGr3OJWeJe5aVNr&lt;/a&gt;]: fix errors and add tests&lt;/p&gt;</comment>
                    <comment id="22984" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: New version of patch uploaded. See if this works.&lt;/p&gt;</comment>
                    <comment id="22985" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;richhickey said: Patch v3 is ok, thanks&lt;/p&gt;</comment>
                    <comment id="22986" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #188 was added&lt;/p&gt;</comment>
                    <comment id="22987" author="importer" created="Tue, 24 Aug 2010 06:53:00 -0500"  >&lt;p&gt;fsodomka said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:270185aba54cef1d8ce59ec347b5623f2e502afe&amp;#93;&lt;/span&gt;]) fixed NPE when creating an empty array of ints, longs, floats or doubles, fixes #146&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-145] clojure.set/rename-keys doesn&apos;t do what it says it should</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-145</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;user=&amp;gt; (doc rename-keys)&lt;br/&gt;
-------------------------&lt;br/&gt;
clojure.set/rename-keys&lt;br/&gt;
(&lt;span class=&quot;error&quot;&gt;&amp;#91;map kmap&amp;#93;&lt;/span&gt;)&lt;br/&gt;
  Returns the map with the keys in kmap renamed to the vals in kmap&lt;br/&gt;
nil&lt;/p&gt;

&lt;p&gt;I expect the return value to be a map of the same size as the first input, with its keys being those in the first input other than those which are substituted according to the second. That is not what occurs:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (rename-keys {:foo 1 :bar 2} {:foo :new-foo :zob :new-zob})&lt;br/&gt;
{:new-zob nil, :new-foo 1, :bar 2}&lt;/p&gt;

&lt;p&gt;Tested against a1397390d8b3b63f2039359520629d87b152d717 (current at time of filing).&lt;/p&gt;</description>
                <environment></environment>
            <key id="13542">CLJ-145</key>
            <summary>clojure.set/rename-keys doesn&apos;t do what it says it should</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Jul 2009 16:52:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:52:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22972" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/145&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/145&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
patch-issue145.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d8vdtEbFyr36hUeJe5aVNr/download/d8vdtEbFyr36hUeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d8vdtEbFyr36hUeJe5aVNr/download/d8vdtEbFyr36hUeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22973" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;rnewman said: [&lt;a href=&quot;file:d8vdtEbFyr36hUeJe5aVNr&quot;&gt;file:d8vdtEbFyr36hUeJe5aVNr&lt;/a&gt;]: One-line fix.&lt;/p&gt;</comment>
                    <comment id="22974" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;rnewman said: This is still biting me a little, so here&apos;s a one-line fix.&lt;/p&gt;</comment>
                    <comment id="22975" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Richard, would you please use git to format your patch as described here: &lt;a href=&quot;http://clojure.org/patches&quot;&gt;http://clojure.org/patches&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
--Chouser&lt;/p&gt;</comment>
                    <comment id="22976" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;rnewman said: Done. Sorry about that!&lt;/p&gt;</comment>
                    <comment id="22977" author="importer" created="Tue, 24 Aug 2010 06:52:00 -0500"  >&lt;p&gt;richhickey said: Thanks for the patch. FYI, the tests needed patching too.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-151] Function to return last n items of a seq</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-151</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;My fork on github of clojure had a last-n branch that is an unacceptable breaking change by returning a seq even for just a single item.  A different solution is needed.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13548">CLJ-151</key>
            <summary>Function to return last n items of a seq</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Jul 2009 19:45:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22999" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/151&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/151&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
last-n.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cgeCSqBO4r3PxueJe5afGb/download/cgeCSqBO4r3PxueJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cgeCSqBO4r3PxueJe5afGb/download/cgeCSqBO4r3PxueJe5afGb&lt;/a&gt;&lt;br/&gt;
last-n-v2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cqqgugEomr3ONjeJe5aVNr/download/cqqgugEomr3ONjeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cqqgugEomr3ONjeJe5aVNr/download/cqqgugEomr3ONjeJe5aVNr&lt;/a&gt;&lt;br/&gt;
take-last.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b9iKQQUMir3OzreJe5aVNr/download/b9iKQQUMir3OzreJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b9iKQQUMir3OzreJe5aVNr/download/b9iKQQUMir3OzreJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23000" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:cgeCSqBO4r3PxueJe5afGb&quot;&gt;file:cgeCSqBO4r3PxueJe5afGb&lt;/a&gt;]: last with one arg is unchanged. last with an extra count arg returns a seq&lt;/p&gt;</comment>
                    <comment id="23001" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Attached a patch that defined &apos;last&apos; with one arg as it has been. &apos;last&apos; with an extra count arg returns a seq.&lt;/p&gt;</comment>
                    <comment id="23002" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:cqqgugEomr3ONjeJe5aVNr&quot;&gt;file:cqqgugEomr3ONjeJe5aVNr&lt;/a&gt;]: bail early if end of seq found while setting up lead&lt;/p&gt;</comment>
                    <comment id="23003" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: I&apos;ve attached an improved patch [&lt;a href=&quot;file:last-n-v2.diff&quot;&gt;file:last-n-v2.diff&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Both the old and new patches avoid retaining the head, as demonstrated by the first expr blowing the heap, but second not:&lt;/p&gt;

&lt;p&gt;(last 3 (map count (doall (take 1e5 (iterate #(str % &apos;x) &quot;y&quot;)))))&lt;br/&gt;
(last 3 (map count (take 1e5 (iterate #(str % &apos;x) &quot;y&quot;))))t&lt;/p&gt;

&lt;p&gt;However, the v2 patch also gives up walking the &apos;lead&apos; seq forward as soon as it reaches the end of the input seq (this is how &apos;drop&apos; behaves).  You can observe the differnce by seeing that with v2 this returns immediately:&lt;/p&gt;

&lt;p&gt;(last 1e10 &lt;span class=&quot;error&quot;&gt;&amp;#91;1 2 3 4 5&amp;#93;&lt;/span&gt;)&lt;/p&gt;</comment>
                    <comment id="23004" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: For small n&apos;s and large collections implementing IPersistentStack, &apos;last&apos; could be much efficient by using &apos;pop&apos; and &apos;reverse&apos;, though this would mean it wouldn&apos;t always use the seq of the collection.&lt;/p&gt;</comment>
                    <comment id="23005" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;richhickey said: I&apos;m not sure I get the reverse bit - reverse is fast for stacks? Certainly we could do better for colls implementing Indexed or RandomAccess. I guess all that means is that the doc shouldn&apos;t dictate linear time, and should instead say maybe in best time complexity supported by the data structure.&lt;/p&gt;</comment>
                    <comment id="23006" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;richhickey said: faster for last 1 I should say. Seems more and more like last 1 and last N shouldn&apos;t be combined.&lt;/p&gt;</comment>
                    <comment id="23007" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:b9iKQQUMir3OzreJe5aVNr&quot;&gt;file:b9iKQQUMir3OzreJe5aVNr&lt;/a&gt;]: implement take-last as its own function&lt;/p&gt;</comment>
                    <comment id="23008" author="importer" created="Tue, 24 Aug 2010 03:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:0ba40a260162330836b97f6d1bf3466404a63b55&amp;#93;&lt;/span&gt;]) Implement take-last  Fixes #151&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-154] (keyword &quot;a/b&quot;) =&gt; ns nil, name a/b; should be ns a, name b</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-154</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;From: &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/c792fd218bedea1f&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/c792fd218bedea1f&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;for generated keywords, seems dodgy&lt;/b&gt;&lt;br/&gt;
(keyword &quot;aaaaa/bbbbb&quot;)  =&amp;gt;  :aaaaa/bbbbb&lt;br/&gt;
(name (keyword &quot;aaaaa/bbbbb&quot;))  =&amp;gt;  &quot;aaaaa/bbbbb&quot;&lt;br/&gt;
(namespace (keyword &quot;aaaaa/bbbbb&quot;))  =&amp;gt;  nil&lt;/p&gt;

&lt;p&gt;It would seem cleaner if the java Keyword.intern() and Symbol.intern()&lt;br/&gt;
methods were symmetrical and used the same way in core.clj.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13551">CLJ-154</key>
            <summary>(keyword &quot;a/b&quot;) =&gt; ns nil, name a/b; should be ns a, name b</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="scgilardi">Stephen C. Gilardi</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Jul 2009 11:10:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23013" author="importer" created="Tue, 24 Aug 2010 06:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/154&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/154&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix-154.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aGf_3wB8Cr3PfNeJe5afGb/download/aGf_3wB8Cr3PfNeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aGf_3wB8Cr3PfNeJe5afGb/download/aGf_3wB8Cr3PfNeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23014" author="importer" created="Tue, 24 Aug 2010 06:55:00 -0500"  >&lt;p&gt;scgilardi said: [&lt;a href=&quot;file:aGf_3wB8Cr3PfNeJe5afGb&quot;&gt;file:aGf_3wB8Cr3PfNeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23015" author="importer" created="Tue, 24 Aug 2010 06:55:00 -0500"  >&lt;p&gt;scgilardi said: Description of fix-154.patch:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;added intern(String nsname) to Keyword.java&lt;/li&gt;
	&lt;li&gt;changed clojure.core/keyword to call it&lt;/li&gt;
	&lt;li&gt;updated clojure.core/symbol and clojure.core/keyword to new static call syntax&lt;/li&gt;
	&lt;li&gt;added tests to reader.clj using corrected keyword, duplicating similar tests for symbol, and adding tests of keyword constructed from a symbol&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    <comment id="23016" author="importer" created="Tue, 24 Aug 2010 06:55:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:a1b4a33bb8ccf739c481754fc563117ed3604c75&amp;#93;&lt;/span&gt;]) fixed keyword ctor, added tests, fix #154&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-155] Classname/staticThing leaves Classname unresolved at syntaxQuote time</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-155</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Class names for static field and method references are resolved differently for modern vs. old syntax:&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; `(&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/foo)
(&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;/foo)
user=&amp;gt; `(. &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt; foo)
(. java.lang.&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt; user/foo)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This means that using an imported class in a defmacro via modern syntax will break if the macro is expanded in a namespace that doesn&apos;t have that class imported, or worse could attempt to a same-named class from a different package.&lt;/p&gt;

&lt;p&gt;Reported by technomancy in IRC&lt;/p&gt;</description>
                <environment></environment>
            <key id="13552">CLJ-155</key>
            <summary>Classname/staticThing leaves Classname unresolved at syntaxQuote time</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 14 Jul 2009 00:10:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23017" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/155&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/155&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ticket-155.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bvQRQmB_Or3OXZeJe5aVNr/download/bvQRQmB_Or3OXZeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bvQRQmB_Or3OXZeJe5aVNr/download/bvQRQmB_Or3OXZeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23018" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:bvQRQmB_Or3OXZeJe5aVNr&quot;&gt;file:bvQRQmB_Or3OXZeJe5aVNr&lt;/a&gt;]: Resolve classnames in modern-syntax static calls at syntaxQuote time.&lt;/p&gt;</comment>
                    <comment id="23019" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Attached patch as discussed in IRC.&lt;/p&gt;</comment>
                    <comment id="23020" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #156 was added&lt;/p&gt;</comment>
                    <comment id="23021" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:994f118c56bb3139f87093a6ec44eb8c04acbdaf&amp;#93;&lt;/span&gt;]) Resolve classnames in modern-syntax static calls at syntaxQuote time. Fixes #155&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-144] test-clojure: change (are _ ...) to (are [x] (true? x) ...)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-144</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Old clojure.contrib.test-is framework used (are _ value1 value2 ...) syntax for testing if all values are logically true. New clojure.test uses (are &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (true? x) value1 value2 ...) or (are &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (if x true false) value1 value2 ...) and this change needs to be reflected in test_clojure/numbers.clj.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13541">CLJ-144</key>
            <summary>test-clojure: change (are _ ...) to (are [x] (true? x) ...)</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Jul 2009 14:51:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:52:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22965" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/144&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/144&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
test_clojure_are.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dvCpAkANar3QdBeJe5afGb/download/dvCpAkANar3QdBeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dvCpAkANar3QdBeJe5afGb/download/dvCpAkANar3QdBeJe5afGb&lt;/a&gt;&lt;br/&gt;
test_clojure_are_v2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/damCkoAVKr3PdgeJe5afGb/download/damCkoAVKr3PdgeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/damCkoAVKr3PdgeJe5afGb/download/damCkoAVKr3PdgeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22966" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:dvCpAkANar3QdBeJe5afGb&quot;&gt;file:dvCpAkANar3QdBeJe5afGb&lt;/a&gt;]: fixes test_clojure/numbers.clj&lt;/p&gt;</comment>
                    <comment id="22967" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:damCkoAVKr3PdgeJe5afGb&quot;&gt;file:damCkoAVKr3PdgeJe5afGb&lt;/a&gt;]: fixes test_clojure/numbers.clj&lt;/p&gt;</comment>
                    <comment id="22968" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;fsodomka said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #131 was added&lt;/p&gt;</comment>
                    <comment id="22969" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;richhickey said: I don&apos;t understand this.&lt;/p&gt;</comment>
                    <comment id="22970" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;fsodomka said: Old &apos;are&apos; had syntax (are condition expr1 expr2 ...), but new &apos;are&apos; has (are params-vector condition expr1 expr2 ...). Tests in numbers.clj were updated with params-vector &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt;, but no condition were given.&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (macroexpand-1 &apos;(are &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; true false nil))&lt;br/&gt;
(clojure.template/do-template &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; (clojure.test/is true) false nil) &lt;/p&gt;

&lt;p&gt;Clearly, test (are &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; true false nil) will never fail, because first value is logically true and false and nil will never be considered.&lt;/p&gt;

&lt;p&gt;See more explanation in:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_frm/thread/d0fd9d717db1e1db&quot;&gt;http://groups.google.com/group/clojure-dev/browse_frm/thread/d0fd9d717db1e1db&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22971" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;fsodomka said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:6e29153854c799cb46abc23382059d6ee20e755e&amp;#93;&lt;/span&gt;]) fixed test-clojure, refs #144&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-141] GC Issue 119: require doc out of date</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-141</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #123 against branch 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13538">CLJ-141</key>
            <summary>GC Issue 119: require doc out of date</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Jul 2009 21:58:00 -0500</created>
                <updated>Tue, 24 Aug 2010 03:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 03:51:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22957" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/141&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/141&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22958" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #123 was added&lt;/p&gt;</comment>
                    <comment id="22959" author="importer" created="Tue, 24 Aug 2010 03:51:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Closing this because there seems to be no demand to fix this kind of bug in 1.0, and demand is only likely to decrease over time.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-139] defmulti should not add {:tag &apos;clojure.lang.MultiFn} to multimethod metatdata</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-139</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;defmulti&apos;s current behavior of adding a {:tag &apos;clojure.lang.MultiFn} to the new multimethod&apos;s metadata interferes with providing a type hint for the return value of the multimethod.  This is easily fixed by deleting this behavior, as in the attached patch.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13536">CLJ-139</key>
            <summary>defmulti should not add {:tag &apos;clojure.lang.MultiFn} to multimethod metatdata</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="aaron">Aaron Bedra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Jul 2009 06:49:00 -0500</created>
                <updated>Mon, 11 Oct 2010 15:25:00 -0500</updated>
                    <resolved>Mon, 11 Oct 2010 15:25:00 -0500</resolved>
                                            <fixVersion>Release 1.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22951" author="importer" created="Mon, 11 Oct 2010 15:25:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/139&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/139&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0003-Removed-tag-MultiFn-inserted-by-defmulti.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cTOAMyzSmr3QQreJe5aVNr/download/cTOAMyzSmr3QQreJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cTOAMyzSmr3QQreJe5aVNr/download/cTOAMyzSmr3QQreJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22952" author="importer" created="Mon, 11 Oct 2010 15:25:00 -0500"  >&lt;p&gt;davidmiller said: [&lt;a href=&quot;file:cTOAMyzSmr3QQreJe5aVNr&quot;&gt;file:cTOAMyzSmr3QQreJe5aVNr&lt;/a&gt;]: Patch to core.clj to fix defmulti behavior&lt;/p&gt;</comment>
                    <comment id="22953" author="importer" created="Mon, 11 Oct 2010 15:25:00 -0500"  >&lt;p&gt;aaron said: &lt;b&gt;before patch&lt;/b&gt; as of 167a73857a746e8dbeeb&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (defmulti foo &quot;this is foo&quot; {:author &quot;me&quot; :arglists &apos;(&lt;span class=&quot;error&quot;&gt;&amp;#91;bar&amp;#93;&lt;/span&gt;)} type)&lt;br/&gt;
#&apos;user/foo&lt;br/&gt;
user=&amp;gt; (meta (var foo))&lt;br/&gt;
{:ns #&amp;lt;Namespace user&amp;gt;, :name foo, :arglists (&lt;span class=&quot;error&quot;&gt;&amp;#91;bar&amp;#93;&lt;/span&gt;), :author &quot;me&quot;, :doc &quot;this is foo&quot;, :line 1, :file &quot;NO_SOURCE_PATH&quot;, :tag clojure.lang.MultiFn}&lt;/p&gt;

&lt;p&gt;&lt;b&gt;after patch&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (defmulti foo &quot;this is foo&quot; {:author &quot;me&quot; :arglists &apos;(&lt;span class=&quot;error&quot;&gt;&amp;#91;bar&amp;#93;&lt;/span&gt;)} type)&lt;br/&gt;
#&apos;user/foo&lt;br/&gt;
user=&amp;gt; (meta (var foo))&lt;br/&gt;
{:ns #&amp;lt;Namespace user&amp;gt;, :name foo, :arglists (&lt;span class=&quot;error&quot;&gt;&amp;#91;bar&amp;#93;&lt;/span&gt;), :author &quot;me&quot;, :doc &quot;this is foo&quot;, :line 1, :file &quot;NO_SOURCE_PATH&quot;}&lt;/p&gt;</comment>
                    <comment id="22954" author="importer" created="Mon, 11 Oct 2010 15:25:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#139, #278, #285, #368, #443, #430)&lt;/p&gt;</comment>
                    <comment id="22955" author="importer" created="Mon, 11 Oct 2010 15:25:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#139, #278, #285, #368, #443, #430)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-156] Classname/staticThing leaves Classname unresolved at syntaxQuote time [for 1.0 from #155]</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-156</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #155 against Clojure 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13553">CLJ-156</key>
            <summary>Classname/staticThing leaves Classname unresolved at syntaxQuote time [for 1.0 from #155]</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Jul 2009 15:16:00 -0500</created>
                <updated>Wed, 22 Sep 2010 14:27:00 -0500</updated>
                    <resolved>Wed, 22 Sep 2010 14:27:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23022" author="importer" created="Wed, 22 Sep 2010 14:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/156&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/156&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23023" author="importer" created="Wed, 22 Sep 2010 14:27:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #155 was added&lt;/p&gt;</comment>
                    <comment id="23024" author="importer" created="Wed, 22 Sep 2010 14:27:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#180, #156, #187, #188)&lt;/p&gt;

&lt;p&gt;invalidating old 1.0 back-tickets so they don&apos;t keep showing up in reports&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-152] Doc string for &quot;binding&quot; should be explicit about binding in parallel</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-152</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;As Tom mentions here: &lt;a href=&quot;http://groups.google.com/group/clojure/browse_frm/thread/81fc236d3436d72b&quot;&gt;http://groups.google.com/group/clojure/browse_frm/thread/81fc236d3436d72b&lt;/a&gt;&lt;br/&gt;
the parallel nature of the bindings created by &quot;binding&quot; does not appear to be documented either in its doc string or at clojure.org.&lt;br/&gt;
The doc string for binding should mention it.&lt;/p&gt;

&lt;p&gt;A proposal for discussion/approval:&lt;/p&gt;

&lt;p&gt;clojure.core/binding&lt;br/&gt;
(&lt;span class=&quot;error&quot;&gt;&amp;#91;bindings &amp;amp; body&amp;#93;&lt;/span&gt;)&lt;br/&gt;
Macro&lt;br/&gt;
  binding =&amp;gt; var-symbol init-expr&lt;/p&gt;

&lt;p&gt;  Creates new bindings for the (already-existing) vars, with the&lt;br/&gt;
  supplied initial values, executes the exprs in an implicit do, then&lt;br/&gt;
  re-establishes the bindings that existed before. The new bindings&lt;br/&gt;
  are made in parallel: all init-exprs are evaluated before the&lt;br/&gt;
  vars are bound as a group to their new values.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13549">CLJ-152</key>
            <summary>Doc string for &quot;binding&quot; should be explicit about binding in parallel</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 12 Jul 2009 17:19:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23009" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/152&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/152&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
152-binding-docstring.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bGPkGOMkir3OYweJe5aVNr/download/bGPkGOMkir3OYweJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bGPkGOMkir3OYweJe5aVNr/download/bGPkGOMkir3OYweJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23010" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:bGPkGOMkir3OYweJe5aVNr&quot;&gt;file:bGPkGOMkir3OYweJe5aVNr&lt;/a&gt;]: Patch, very similar to Stephen&apos;s docstring&lt;/p&gt;</comment>
                    <comment id="23011" author="importer" created="Tue, 24 Aug 2010 00:55:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:ff116fb3a986334e77bc0521167fe89c8e27313d&amp;#93;&lt;/span&gt;]) core.clj: binding doc string now says it&apos;s parallel, fixes #152&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-143] support overlapping ensures with no retry</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-143</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently ref ensures have same retry effects as set/alters. Allow overlapping ensures to succeed without retry&lt;/p&gt;

&lt;p&gt;Discussed here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure/browse_frm/thread/f7b4365b1c71b665/717e1a18c2f84daf?#717e1a18c2f84daf&quot;&gt;http://groups.google.com/group/clojure/browse_frm/thread/f7b4365b1c71b665/717e1a18c2f84daf?#717e1a18c2f84daf&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13540">CLJ-143</key>
            <summary>support overlapping ensures with no retry</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Jul 2009 10:54:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:52:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22963" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/143&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/143&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22964" author="importer" created="Tue, 24 Aug 2010 04:52:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:961743446562b6fa7be25f96de02aacd626169da&amp;#93;&lt;/span&gt;]) support overlapping ensures with no retry, refs #143&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-158] Update tests to reflect new template syntax</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-158</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;There are still some tests (and comments) not updated correctly - predicates, reader, vars.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13555">CLJ-158</key>
            <summary>Update tests to reflect new template syntax</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="fsodomka">Frantisek Sodomka</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Jul 2009 23:39:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:59:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:59:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23026" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/158&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/158&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ticket_158_update_tests.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aGPMCuDxCr3QaHeJe5afGb/download/aGPMCuDxCr3QaHeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aGPMCuDxCr3QaHeJe5afGb/download/aGPMCuDxCr3QaHeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23027" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;fsodomka said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #131 was added&lt;/p&gt;</comment>
                    <comment id="23028" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;fsodomka said: [&lt;a href=&quot;file:aGPMCuDxCr3QaHeJe5afGb&quot;&gt;file:aGPMCuDxCr3QaHeJe5afGb&lt;/a&gt;]: update tests&lt;/p&gt;</comment>
                    <comment id="23029" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;fsodomka said: See attached patch.&lt;/p&gt;</comment>
                    <comment id="23030" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;chouser@n01se.net said: This patch looks good to me.&lt;/p&gt;</comment>
                    <comment id="23031" author="importer" created="Tue, 24 Aug 2010 00:59:00 -0500"  >&lt;p&gt;fsodomka said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:16af3b1d04db6978d552b4440690d00a9e64a423&amp;#93;&lt;/span&gt;]) updated remaining tests, closes #158&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-147] Bug: Compile-time NPE on set! of non-existent field [for 1.0]</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-147</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The bug described in #142 also exists in Clojure 1.0.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13544">CLJ-147</key>
            <summary>Bug: Compile-time NPE on set! of non-existent field [for 1.0]</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Jul 2009 23:15:00 -0500</created>
                <updated>Mon, 15 Nov 2010 12:49:00 -0600</updated>
                    <resolved>Fri, 12 Nov 2010 10:07:06 -0600</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22988" author="importer" created="Tue, 24 Aug 2010 06:54:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/147&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/147&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22989" author="importer" created="Tue, 24 Aug 2010 06:54:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #142 was added&lt;/p&gt;</comment>
                    <comment id="25932" author="aredington" created="Fri, 12 Nov 2010 10:07:07 -0600"  >&lt;p&gt;This duplicate of #142 has been resolved.&lt;/p&gt;

&lt;p&gt;Latest from head:&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (set! (.foo &quot;fred&quot;) 47)&lt;br/&gt;
IllegalArgumentException No matching field found: foo for class java.lang.String clojure.lang.Reflector.setInstanceField (Reflector.java:257)&lt;br/&gt;
user=&amp;gt; &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-159] Add char? fn</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-159</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Add a &lt;tt&gt;char?&lt;/tt&gt; fn to test for java.lang.Character.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13556">CLJ-159</key>
            <summary>Add char? fn</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="drewr">Drew Raines</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 Jul 2009 19:17:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:00:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:00:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23032" author="importer" created="Tue, 24 Aug 2010 13:00:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/159&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/159&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
drewr-char-p.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dTXUBaDUmr3RRZeJe5afGb/download/dTXUBaDUmr3RRZeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dTXUBaDUmr3RRZeJe5afGb/download/dTXUBaDUmr3RRZeJe5afGb&lt;/a&gt;&lt;br/&gt;
drewr-char-p.2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d7bzX-EeOr3P2weJe5afGb/download/d7bzX-EeOr3P2weJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d7bzX-EeOr3P2weJe5afGb/download/d7bzX-EeOr3P2weJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23033" author="importer" created="Tue, 24 Aug 2010 13:00:00 -0500"  >&lt;p&gt;drewr said: [&lt;a href=&quot;file:dTXUBaDUmr3RRZeJe5afGb&quot;&gt;file:dTXUBaDUmr3RRZeJe5afGb&lt;/a&gt;]: patch adding char?&lt;/p&gt;</comment>
                    <comment id="23034" author="importer" created="Tue, 24 Aug 2010 13:00:00 -0500"  >&lt;p&gt;richhickey said: Please use git format-patch as described here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://clojure.org/patches&quot;&gt;http://clojure.org/patches&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                    <comment id="23035" author="importer" created="Tue, 24 Aug 2010 13:00:00 -0500"  >&lt;p&gt;drewr said: [&lt;a href=&quot;file:d7bzX-EeOr3P2weJe5afGb&quot;&gt;file:d7bzX-EeOr3P2weJe5afGb&lt;/a&gt;]: Created with git format-patch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-160] JUnit XML output for clojure.test</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-160</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Sent in by Jason Sankey as clojure.contrib.test.junit&lt;/p&gt;

&lt;p&gt;I have renamed it to clojure.test.junit, in the same style as clojure.test.tap&lt;/p&gt;</description>
                <environment></environment>
            <key id="13557">CLJ-160</key>
            <summary>JUnit XML output for clojure.test</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 24 Jul 2009 09:10:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:01:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:01:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23036" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/160&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/160&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
junit-xml-output.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/duKR1iEgWr3Q4keJe5afGb/download/duKR1iEgWr3Q4keJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/duKR1iEgWr3Q4keJe5afGb/download/duKR1iEgWr3Q4keJe5afGb&lt;/a&gt;&lt;br/&gt;
junit-xml-output2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aMA1aKX9qr3Q_UeJe5afGb/download/aMA1aKX9qr3Q_UeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aMA1aKX9qr3Q_UeJe5afGb/download/aMA1aKX9qr3Q_UeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23037" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:duKR1iEgWr3Q4keJe5afGb&quot;&gt;file:duKR1iEgWr3Q4keJe5afGb&lt;/a&gt;]: Patch adding test/junit.clj&lt;/p&gt;</comment>
                    <comment id="23038" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;richhickey said: New files for Clojure itself need to have the standard header (Copyright (c) Rich Hickey...) and no emails or urls ( by Jason Sankey is fine)&lt;/p&gt;</comment>
                    <comment id="23039" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:aMA1aKX9qr3Q_UeJe5afGb&quot;&gt;file:aMA1aKX9qr3Q_UeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23040" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;stuart.sierra said: New patch junit-xml-output2.diff removes external dependencies and adds default copyright header.&lt;/p&gt;</comment>
                    <comment id="23041" author="importer" created="Tue, 24 Aug 2010 04:01:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:81e19ddd9973841894767d89465979195242afed&amp;#93;&lt;/span&gt;]) Add clojure.test.junit; refs #160&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-162] gen-class fails to accept type hints for arrays of primitives</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-162</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;gen-class fails to accept type hints for arrays of primitives like &quot;[B&quot;&lt;/p&gt;

&lt;p&gt;This is a bug in genclass.clj&apos;s the-class, which should have (some #{\. \[} strx) instead of (some #{\.} strx)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13559">CLJ-162</key>
            <summary>gen-class fails to accept type hints for arrays of primitives</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="mattrevelle">Matt Revelle</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Jul 2009 05:38:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:03:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:03:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23045" author="importer" created="Tue, 24 Aug 2010 04:03:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/162&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/162&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Fixed-162-gen-class-fails-to-accept-type-hints-for-a.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/daM8sM3sar3Ok0eJe5aVNr/download/daM8sM3sar3Ok0eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/daM8sM3sar3Ok0eJe5aVNr/download/daM8sM3sar3Ok0eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23046" author="importer" created="Tue, 24 Aug 2010 04:03:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#8, #42, #113, #2, #20, #94, #96, #104, #119, #124, #127, #149, #162)&lt;/p&gt;</comment>
                    <comment id="23047" author="importer" created="Tue, 24 Aug 2010 04:03:00 -0500"  >&lt;p&gt;mattrevelle said: [&lt;a href=&quot;file:daM8sM3sar3Ok0eJe5aVNr&quot;&gt;file:daM8sM3sar3Ok0eJe5aVNr&lt;/a&gt;]: Adding [ to skip prepending of &quot;java.lang&quot;&lt;/p&gt;</comment>
                    <comment id="23048" author="importer" created="Tue, 24 Aug 2010 04:03:00 -0500"  >&lt;p&gt;mattrevelle said: The fix recommended by Rich seems to work.  &lt;/p&gt;

&lt;p&gt;It was as simple as adding [ to the conditional expression.&lt;/p&gt;</comment>
                    <comment id="23049" author="importer" created="Tue, 24 Aug 2010 04:03:00 -0500"  >&lt;p&gt;mattrevelle said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:493b8f25dea8dc316f5224509d09a50c0672a1eb&amp;#93;&lt;/span&gt;]) Fixed #162: gen-class fails to accept type hints for arrays of primitives. Rich&apos;s proposed fix works fine.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-137] Add *math-context* to with-bindings so it&apos;s set!-able at REPL</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-137</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Add &lt;tt&gt;&lt;b&gt;math-context&lt;/b&gt;&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;clojure.main/with-bindings&lt;/tt&gt; so it&apos;s set!-able at REPL.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13534">CLJ-137</key>
            <summary>Add *math-context* to with-bindings so it&apos;s set!-able at REPL</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 29 Jun 2009 19:42:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:50:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:50:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="22939" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/137&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/137&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
settable-math-context.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bYiaYCznur3QWleJe5aVNr/download/bYiaYCznur3QWleJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bYiaYCznur3QWleJe5aVNr/download/bYiaYCznur3QWleJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="22940" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;scgilardi said: [&lt;a href=&quot;file:bYiaYCznur3QWleJe5aVNr&quot;&gt;file:bYiaYCznur3QWleJe5aVNr&lt;/a&gt;]: patches clojure.main/with-bindings to include &lt;b&gt;math-context&lt;/b&gt;&lt;/p&gt;</comment>
                    <comment id="22941" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;richhickey said: Please mark as &quot;ready to test&quot; when you add a patch, thanks&lt;/p&gt;</comment>
                    <comment id="22942" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;richhickey said: Also please submit patches as produced by git format-patch, they retain authorship and other commit information.&lt;/p&gt;

&lt;p&gt;See:&lt;br/&gt;
&lt;a href=&quot;http://clojure.org/patches&quot;&gt;http://clojure.org/patches&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="22943" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;scgilardi said: Updated patch using git format-patch, ready to test. Thanks.&lt;/p&gt;</comment>
                    <comment id="22944" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;chouser@n01se.net said: This patch works fine with git for me &amp;#8211; attribution and all.  It does contain two commits, which threw me for a moment, but I think multi-commit patches are acceptable.&lt;/p&gt;

&lt;p&gt;This patch looks fine to me.&lt;/p&gt;</comment>
                    <comment id="22945" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:ab7947e68a5b435f243790e197cfdb781d47986f&amp;#93;&lt;/span&gt;]) Refs #137: make &lt;b&gt;math-context&lt;/b&gt; settable, with test + tests of with-precision&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22946" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:12888faab8f5c7bc13da5a8f506c2a594c48500c&amp;#93;&lt;/span&gt;]) move with-precision tests to that section of vars.clj Fixes #137&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="22947" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;scgilardi said: Given Rich&apos;s post today about &lt;b&gt;math-context&lt;/b&gt; not being part of Clojure&apos;s public API, should we add to this ticket implementation of a function like &quot;set-precision!&quot; (a sibling of with-precision) to make this capability usable in Clojure code?&lt;/p&gt;

&lt;p&gt;I like &lt;b&gt;math-context&lt;/b&gt; not being public. I hadn&apos;t thought of it before, but having it be public would be an unnecessary Java-ism--inappropriate for the Clojure-in-Clojure future.&lt;/p&gt;

&lt;p&gt;(I&apos;m leaving this ticket as fixed. We can either reopen it, open another ticket for set-precision!, or do nothing based on any futher discussions.)&lt;/p&gt;</comment>
                    <comment id="22948" author="importer" created="Tue, 24 Aug 2010 00:50:00 -0500"  >&lt;p&gt;chouser@n01se.net said: I didn&apos;t know (or had forgotten) about with-precision.&lt;/p&gt;

&lt;p&gt;I&apos;d personally be happy to see a &apos;set-precision!&apos; and maybe a docstring for &lt;b&gt;math-context&lt;/b&gt; that points to &apos;with-precision&apos; and &apos;set-precision!&apos;.&lt;/p&gt;

&lt;p&gt;I&apos;d also think that should be a new ticket, since the problem described in this ticket is indeed fixed by the patch in this ticket.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-161] *-zip lose metadata [for 1.0 from #134]</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-161</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #134 against branch 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13558">CLJ-161</key>
            <summary>*-zip lose metadata [for 1.0 from #134]</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 24 Jul 2009 22:36:00 -0500</created>
                <updated>Fri, 1 Oct 2010 08:46:00 -0500</updated>
                    <resolved>Fri, 1 Oct 2010 08:46:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23042" author="importer" created="Fri, 1 Oct 2010 08:46:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/161&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/161&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23043" author="importer" created="Fri, 1 Oct 2010 08:46:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #134 was added&lt;/p&gt;</comment>
                    <comment id="23044" author="importer" created="Fri, 1 Oct 2010 08:46:00 -0500"  >&lt;p&gt;stu said: No longer fixing bugs against 1.0.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-166] TransientHashMap</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-166</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Implement TransientHashMap&lt;/p&gt;</description>
                <environment></environment>
            <key id="13563">CLJ-166</key>
            <summary>TransientHashMap</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Aug 2009 14:33:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:07:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:07:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23080" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/166&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/166&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
TransientMap.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aDYi8CGBWr3PhueJe5afGb/download/aDYi8CGBWr3PhueJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aDYi8CGBWr3PhueJe5afGb/download/aDYi8CGBWr3PhueJe5afGb&lt;/a&gt;&lt;br/&gt;
TransientMap2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bNyIbwGB0r3R_OeJe5aVNr/download/bNyIbwGB0r3R_OeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bNyIbwGB0r3R_OeJe5aVNr/download/bNyIbwGB0r3R_OeJe5aVNr&lt;/a&gt;&lt;br/&gt;
TransientMap3.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dzRHNWGC8r3PwqeJe5afGb/download/dzRHNWGC8r3PwqeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dzRHNWGC8r3PwqeJe5afGb/download/dzRHNWGC8r3PwqeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23081" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:aDYi8CGBWr3PhueJe5afGb&quot;&gt;file:aDYi8CGBWr3PhueJe5afGb&lt;/a&gt;]: first cut&lt;/p&gt;</comment>
                    <comment id="23082" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:bNyIbwGB0r3R_OeJe5aVNr&quot;&gt;file:bNyIbwGB0r3R_OeJe5aVNr&lt;/a&gt;]: previous page contained one unrelated commit&lt;/p&gt;</comment>
                    <comment id="23083" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:dzRHNWGC8r3PwqeJe5afGb&quot;&gt;file:dzRHNWGC8r3PwqeJe5afGb&lt;/a&gt;]: include bufix for count on dissoc&lt;/p&gt;</comment>
                    <comment id="23084" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;richhickey said: I&apos;ve applied patch3, thanks!&lt;br/&gt;
Leaving as new for any bugfixes&lt;/p&gt;</comment>
                    <comment id="23085" author="importer" created="Tue, 24 Aug 2010 13:07:00 -0500"  >&lt;p&gt;cgrand said: See #183&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-164] [PATCH] embedded constants</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-164</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;clojure.lang.Compiler.FnExpr now handles primitives&lt;/p&gt;</description>
                <environment></environment>
            <key id="13561">CLJ-164</key>
            <summary>[PATCH] embedded constants</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 2 Aug 2009 05:20:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:05:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:05:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23056" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/164&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/164&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-embedded-constants.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bWpR2kFXmr3RkXeJe5aVNr/download/bWpR2kFXmr3RkXeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bWpR2kFXmr3RkXeJe5aVNr/download/bWpR2kFXmr3RkXeJe5aVNr&lt;/a&gt;&lt;br/&gt;
prim.clj - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cwL30uFXmr3ORSeJe5afGb/download/cwL30uFXmr3ORSeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cwL30uFXmr3ORSeJe5afGb/download/cwL30uFXmr3ORSeJe5afGb&lt;/a&gt;&lt;br/&gt;
embedded-constants-tests.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cm6M6gRi4r3RdbeJe5afGb/download/cm6M6gRi4r3RdbeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cm6M6gRi4r3RdbeJe5afGb/download/cm6M6gRi4r3RdbeJe5afGb&lt;/a&gt;&lt;br/&gt;
embedded-constants-tests2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aV1YJARjyr3RdbeJe5afGb/download/aV1YJARjyr3RdbeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aV1YJARjyr3RdbeJe5afGb/download/aV1YJARjyr3RdbeJe5afGb&lt;/a&gt;&lt;br/&gt;
embedded-constants-tests3.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a2gi08RpSr3PSLeJe5afGb/download/a2gi08RpSr3PSLeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a2gi08RpSr3PSLeJe5afGb/download/a2gi08RpSr3PSLeJe5afGb&lt;/a&gt;&lt;br/&gt;
embedded-constants-tests4.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b5AX0uRUir3OwbeJe5aVNr/download/b5AX0uRUir3OwbeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b5AX0uRUir3OwbeJe5aVNr/download/b5AX0uRUir3OwbeJe5aVNr&lt;/a&gt;&lt;br/&gt;
embedded-constants-tests5.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dngmRARUur3OwbeJe5aVNr/download/dngmRARUur3OwbeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dngmRARUur3OwbeJe5aVNr/download/dngmRARUur3OwbeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23057" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:bWpR2kFXmr3RkXeJe5aVNr&quot;&gt;file:bWpR2kFXmr3RkXeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23058" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:cwL30uFXmr3ORSeJe5afGb&quot;&gt;file:cwL30uFXmr3ORSeJe5afGb&lt;/a&gt;]: tests&lt;/p&gt;</comment>
                    <comment id="23059" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: Hi Rich,&lt;/p&gt;

&lt;p&gt;Just curious if you&apos;ve had a chance to look at this patch yet - please be honest if it has shortfallings so I can improve. I suspect that my vim setup might have formatting differences - if that is the case I&apos;m happy to use Aquamacs or whatever is preferred.&lt;/p&gt;

&lt;p&gt;Also I get the feeling this is only a small part of the change required, and I don&apos;t grok what the other part is (some print-dup change?)... so some guidance would be appreciated.&lt;/p&gt;


&lt;p&gt;Regards,&lt;br/&gt;
Tim.&lt;/p&gt;</comment>
                    <comment id="23060" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Tim,&lt;/p&gt;

&lt;p&gt;Would you be willing to reformat the tests you wrote as a patch to clojure.test-clojure?  That way they&apos;ll be included in the regression runs done for future patches.&lt;/p&gt;</comment>
                    <comment id="23061" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:cm6M6gRi4r3RdbeJe5afGb&quot;&gt;file:cm6M6gRi4r3RdbeJe5afGb&lt;/a&gt;]: patch to clojure-test&lt;/p&gt;</comment>
                    <comment id="23062" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:aV1YJARjyr3RdbeJe5afGb&quot;&gt;file:aV1YJARjyr3RdbeJe5afGb&lt;/a&gt;]: Here is a better test, shorter and stronger&lt;/p&gt;</comment>
                    <comment id="23063" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: Hi Chris&lt;/p&gt;

&lt;p&gt;Good idea, I&apos;ve uploaded a patch to clojure-tests/compilation.clj&lt;br/&gt;
Please use the last file attached:&lt;br/&gt;
embedded-constants-tests2.diff&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Tim.&lt;/p&gt;</comment>
                    <comment id="23064" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:86d8a952daee73bf7b7b0c5a41c7ad3faf27c038&amp;#93;&lt;/span&gt;]) embedded constants, refs #164&lt;/p&gt;

&lt;p&gt;Primitive Class objects are now handled explicitly&lt;br/&gt;
eg: (eval `(make-array ~Byte/TYPE 2))&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23065" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:b044959a42f5f58a37c4151f4d7b6652e17348ab&amp;#93;&lt;/span&gt;]) added tests, fixes #164&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23066" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;chouser@n01se.net said: I think I must have been in the process of checking and submitting the first test patch when you attached the second.  I&apos;ll swap them later.&lt;/p&gt;</comment>
                    <comment id="23067" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:a2gi08RpSr3PSLeJe5afGb&quot;&gt;file:a2gi08RpSr3PSLeJe5afGb&lt;/a&gt;]: Might be easier to apply - based to current head&lt;/p&gt;</comment>
                    <comment id="23068" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: No worries, this is really great for me - getting used to the whole process - thanks. I&apos;ve uploaded a diff from the current head to save you some minor headaches I hope.&lt;/p&gt;</comment>
                    <comment id="23069" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:1ca9c8b9322882a0d84db9007047d223d11f2c3f&amp;#93;&lt;/span&gt;]) shorter, stronger embedded-constants tests. fixes #164&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23070" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:b5AX0uRUir3OwbeJe5aVNr&quot;&gt;file:b5AX0uRUir3OwbeJe5aVNr&lt;/a&gt;]: Ok this time for sure! How embarassing - the last patch didn&apos;t actually test anything due to misplaced parenthesis&lt;/p&gt;</comment>
                    <comment id="23071" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: How embarrassing - I had a misplaced parenthesis in my patch which meant the test didn&apos;t do anything&lt;/p&gt;</comment>
                    <comment id="23072" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:dngmRARUur3OwbeJe5aVNr&quot;&gt;file:dngmRARUur3OwbeJe5aVNr&lt;/a&gt;]: Based to current git HEAD&lt;/p&gt;</comment>
                    <comment id="23073" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;richhickey said: Isn&apos;t this in already? Or is the discussion now about the tests?&lt;/p&gt;</comment>
                    <comment id="23074" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:5f9df70163bd9c7a168c1ef8cd2be67651401f29&amp;#93;&lt;/span&gt;]) Fixed broken test-embedded-constants.  Fixes #164&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23075" author="importer" created="Tue, 24 Aug 2010 13:05:00 -0500"  >&lt;p&gt;timothypratley said: Yes that&apos;s right there was just that test issue but its all sorted out now thanks very much.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-165] Enhancements to array seqs</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-165</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;ul&gt;
	&lt;li&gt;Implement missing array seqs for byte[], char[] and boolean[].&lt;/li&gt;
	&lt;li&gt;Specialize .indexOf and .lastIndexOf (from java.util.List which array seqs implement via ASeq) to be more efficient. It would relax the need to depend on org.apache.commons.lang.ArrayUtils for such a mundane task: &lt;tt&gt;(-&amp;gt; a-byte-array #^List seq (.indexOf (byte 10)))&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13562">CLJ-165</key>
            <summary>Enhancements to array seqs</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Aug 2009 08:53:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:06:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:06:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23076" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/165&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/165&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Adds-missing-array-seqs-for-char-byte-and-boolean-pl.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bMnH8IGnar3R9geJe5aVNr/download/bMnH8IGnar3R9geJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bMnH8IGnar3R9geJe5aVNr/download/bMnH8IGnar3R9geJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-Adds-missing-array-seqs-for-char-byte-and-boolean-pl.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bWmQJUGnGr3R9geJe5aVNr/download/bWmQJUGnGr3R9geJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bWmQJUGnGr3R9geJe5aVNr/download/bWmQJUGnGr3R9geJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23077" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:bMnH8IGnar3R9geJe5aVNr&quot;&gt;file:bMnH8IGnar3R9geJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23078" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:bWmQJUGnGr3R9geJe5aVNr&quot;&gt;file:bWmQJUGnGr3R9geJe5aVNr&lt;/a&gt;]: better patch&lt;/p&gt;</comment>
                    <comment id="23079" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:51f4180eca6a09dbad52d4bcb6c48ab05fe16cad&amp;#93;&lt;/span&gt;]) Enhancements to array seqs&lt;/p&gt;

&lt;p&gt;Adds missing array seqs for char[], byte[] and boolean[]&lt;br/&gt;
plus specialized .indexOf and .lastIndexOf for all array seqs, fixes #165&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-174] Make c.l.Keyword Serializable</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-174</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;As mentioned in ticket #64, keywords are not currently Serializable, which is problem in many application contexts.&lt;/p&gt;

&lt;p&gt;I&apos;m treating this separately from the broader question of making clojure data structures Serializable because keywords not being Serializable is the one thing in the way of making idiomatic structs Serializable (e.g. maps using keyword keys, with values including other maps, sets, vectors, strings, numerics, symbols, other keywords, etc; these other structures are already Serializable).&lt;/p&gt;

&lt;p&gt;Beyond that, cons and PersistentList aren&apos;t widely used, and I don&apos;t want to wade into that when they may be getting replaced soon enough with newnew/reify implementations.&lt;/p&gt;

&lt;p&gt;Patch (based on 1.0.x branch) attached.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13571">CLJ-174</key>
            <summary>Make c.l.Keyword Serializable</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cemerick">Chas Emerick</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Aug 2009 20:29:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:12:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:12:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23122" author="importer" created="Tue, 24 Aug 2010 06:12:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/174&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/174&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
keyword-serializable.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dIqXxcIher3RSfeJe5aVNr/download/dIqXxcIher3RSfeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dIqXxcIher3RSfeJe5aVNr/download/dIqXxcIher3RSfeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23123" author="importer" created="Tue, 24 Aug 2010 06:12:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dIqXxcIher3RSfeJe5aVNr&quot;&gt;file:dIqXxcIher3RSfeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23124" author="importer" created="Tue, 24 Aug 2010 06:12:00 -0500"  >&lt;p&gt;cemerick said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:b6cf1963af6e4e6aa35446aff15d77dcef305855&amp;#93;&lt;/span&gt;]) make clojure.lang.Keyword Serializable, fixes #174&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-173] Make PersistentHashSet implements IEditable</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-173</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://github.com/cgrand/clojure/commit/de2b2f9bc39ee2bb2758608c0a837a8a5333ff08&quot;&gt;http://github.com/cgrand/clojure/commit/de2b2f9bc39ee2bb2758608c0a837a8a5333ff08&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13570">CLJ-173</key>
            <summary>Make PersistentHashSet implements IEditable</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Aug 2009 11:52:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:10:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:10:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23118" author="importer" created="Tue, 24 Aug 2010 13:10:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/173&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/173&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-implemented-TransientHashSet.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cVyxpwHLWr3O4JeJe5aVNr/download/cVyxpwHLWr3O4JeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cVyxpwHLWr3O4JeJe5aVNr/download/cVyxpwHLWr3O4JeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23119" author="importer" created="Tue, 24 Aug 2010 13:10:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:cVyxpwHLWr3O4JeJe5aVNr&quot;&gt;file:cVyxpwHLWr3O4JeJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23120" author="importer" created="Tue, 24 Aug 2010 13:10:00 -0500"  >&lt;p&gt;chouser@n01se.net said: I know &apos;disj&apos; uses a params named &apos;set&apos; and &apos;key&apos;, and old-style interop calls, but would it be worth fixing those for &apos;disj!&apos;?&lt;/p&gt;</comment>
                    <comment id="23121" author="importer" created="Tue, 24 Aug 2010 13:10:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:a780e1d096f6a99cb974568a0a6d76d4e996e585&amp;#93;&lt;/span&gt;]) implemented TransientHashSet  Fixes #173&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-170] bound-fn macro</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-170</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Added bound-fn macro to define a function, which saves away the current thread-local bindings. Before executing the body these bindings are restored. Useful for helper functions running on a different thread but requiring the same thread-local bindings.&lt;/p&gt;

&lt;p&gt;For discussion see:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_frm/thread/69367d3981de81d1&quot;&gt;http://groups.google.com/group/clojure/browse_frm/thread/69367d3981de81d1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Needs patch from ticket:&lt;br/&gt;
&lt;a href=&quot;https://www.assembla.com/spaces/clojure/tickets/169-thread-local-bindings-interface&quot;&gt;https://www.assembla.com/spaces/clojure/tickets/169-thread-local-bindings-interface&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Currently two fns are created. One wrapping the other into the necessary code. I also added the binding* helper function, because I missed it several times in my projects. So it may also be useful to others.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13567">CLJ-170</key>
            <summary>bound-fn macro</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="meikelbrandmeyer">Meikel Brandmeyer</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Aug 2009 23:56:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:09:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23101" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/170&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/170&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0002-Added-bound-fn-to-define-thread-local-binding-aware.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/btVJwSHgyr3QpHeJe5afGb/download/btVJwSHgyr3QpHeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/btVJwSHgyr3QpHeJe5afGb/download/btVJwSHgyr3QpHeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23102" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: [&lt;a href=&quot;file:btVJwSHgyr3QpHeJe5afGb&quot;&gt;file:btVJwSHgyr3QpHeJe5afGb&lt;/a&gt;]: Patch adding bound-fn helper macro&lt;/p&gt;</comment>
                    <comment id="23103" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: Another implementation I considered is 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;(defmacro bound-fn
  [args &amp;amp; body]
  (let [fn-name (when (symbol? args) args)
        args    (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; fn-name (first body) args)
        body    (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; fn-name (next body) body)]
    `(let [bindings# (get-thread-bindings)]
       (fn ~@(&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; fn-name
               (list fn-name args)
               (list args))
         (push-thread-bindings bindings#)
         (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;
           ~@body
           (&lt;span class=&quot;code-keyword&quot;&gt;finally&lt;/span&gt;
             (pop-thread-bindings)))))))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

This would allow &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; lazy-seq functions:

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;
(defn some-seq
  [x]
  (let [step (bound-fn step [s]
               (lazy-seq
                 (when-let [s (seq s)]
                   (cons (first s) (step (&lt;span class=&quot;code-keyword&quot;&gt;rest&lt;/span&gt; s))))))]
    (step x)))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I found this second solution quite ugly, because I have to know how a fntail looks like and fiddle around with. But when Jon Harrop mentioned the lazy-seq in the discussion on the list, I noticed that the current solution (as in the patch at the moment), does not allow such recursion.&lt;/p&gt;</comment>
                    <comment id="23104" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: After some feedback from Laurent, we arrived with the new attached patch. The seq example might then 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;(defn my-hypothetical-seq
  [coll]
  (let [bindings (get-thread-bindings)
        step     (fn step [s]
                   (lazy-seq
                     (with-bindings bindings
                       (generate-seq-here-calling-step))))]
    (step coll)))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is should allow for such a use without to many hassles.&lt;/p&gt;</comment>
                    <comment id="23105" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: Hmmm.. Would it be worthwile to also allow an optional map to specify a subset of the bindings? Currently, all bindings are stored in the map, while maybe only a few are actually needed. Would this be pre-mature optimisation?&lt;/p&gt;</comment>
                    <comment id="23106" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;chouser@n01se.net said: I think this API is solid.  In particular, I think having with-bindings means that bound-fn can stay simple &amp;#8211; if someone wants to tweak the map of Vars, they can use get-thread-bindings, select-keys and with-bindings with an appropriate amount of hassle (ie, not much).&lt;/p&gt;

&lt;p&gt;I wonder if the macros would be better implemented with code repeated from the * functions.  As it is, only a little repetition in core is avoided, at the cost of more fn classes, more fn objects, and extra entries in stack traces.&lt;/p&gt;</comment>
                    <comment id="23107" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: I&apos;m not sure, that it is only repetition which is saved. bound-fn would be more elaborate (can&apos;t just take a fntail) or more restricted (if only takes a body).&lt;/p&gt;

&lt;p&gt;However what does &quot;restricted&quot; mean here? What&apos;s the use of allowing to name a bound-fn (ie. something like {{(bound-fn this &lt;span class=&quot;error&quot;&gt;&amp;#91;x y z&amp;#93;&lt;/span&gt; ....))}} in face of missing TCO? Should we hope for soon TCO support and take care for it already?&lt;/p&gt;

&lt;p&gt;But even without TCO considerations: what about {{(bound-fn (&lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt; ...) (&lt;span class=&quot;error&quot;&gt;&amp;#91;x y&amp;#93;&lt;/span&gt; ...))}}? Supporting such forms (we have to go into each branch setting up the bindings or we get another wrapping fn, which doesn&apos;t save much to the original proposal...) would make the bound-fn macro really more complicated. And here naming would again make sense to allow for default invocations dispatch to another arity. Would this be used often enough for it to be worthwhile to support the full fn syntax?&lt;/p&gt;

&lt;p&gt;If yes to the above, that leaves only with-bindings as a candidate for repetitive implementation. Since the macro is only small, the code repetition imposed by a fatter macro is still smaller than the generated class file for a thunk. So maybe voting for repetition in this case is a valid point.&lt;/p&gt;

&lt;p&gt;Should I modify the patch?&lt;/p&gt;</comment>
                    <comment id="23108" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:fbacc4a5751fa5c15baa599b5a058cd81b05a247&amp;#93;&lt;/span&gt;]) Added bound-fn to define thread-local binding aware functions&lt;/p&gt;

&lt;p&gt;bound-fn captures the thread-local bindings in effect where the&lt;br/&gt;
function is defined. Installs these bindings before executing the&lt;br/&gt;
body. This is useful for helper functions running in a different&lt;br/&gt;
thread.&lt;/p&gt;

&lt;p&gt;Excluded with-bindings from clojure/main.clj to prevent name clash.&lt;/p&gt;

&lt;p&gt;Fixes #170&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-171] reflection warning from ns</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-171</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This happens in the master branch,  but not in 1.0.  Reported on &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/3f7989b0297e0a59/59c94c1b161a6693&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/3f7989b0297e0a59/59c94c1b161a6693&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;user=&amp;gt; (set! &lt;b&gt;warn-on-reflection&lt;/b&gt; true)&lt;br/&gt;
true&lt;br/&gt;
user=&amp;gt; (ns foo.bar)&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:2 - reference to field getClass can&apos;t be resolved.&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:2 - reference to field getClassLoader can&apos;t be resolved.&lt;br/&gt;
nil&lt;br/&gt;
foo.bar=&amp;gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13568">CLJ-171</key>
            <summary>reflection warning from ns</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Aug 2009 11:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 15:10:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:10:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23109" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/171&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/171&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-171-ns-reflection.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aKgc0WHx4r3Rt1eJe5aVNr/download/aKgc0WHx4r3Rt1eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aKgc0WHx4r3Rt1eJe5aVNr/download/aKgc0WHx4r3Rt1eJe5aVNr&lt;/a&gt;&lt;br/&gt;
clojure-171-ns-reflection-v2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cfBliAJGur3RGweJe5afGb/download/cfBliAJGur3RGweJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cfBliAJGur3RGweJe5afGb/download/cfBliAJGur3RGweJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23110" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:aKgc0WHx4r3Rt1eJe5aVNr&quot;&gt;file:aKgc0WHx4r3Rt1eJe5aVNr&lt;/a&gt;]: fix reflection warnings&lt;/p&gt;</comment>
                    <comment id="23111" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;mikehinchey said: Attachement fixes the reflection warnings for ns and others in clojure that are easy, which always resolve to a single class.  I didn&apos;t try to fix the warnings which can resolve to more than one class or method.&lt;/p&gt;</comment>
                    <comment id="23112" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Without this patch, the reflection generated by &apos;ns&apos; breaks unsigned applets.  The other changes look good too.  The build.xml patch doesn&apos;t apply anymore &amp;#8211; I&apos;ll attach a new version that applies cleanly.&lt;/p&gt;</comment>
                    <comment id="23113" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;chouser@n01se.net said: [&lt;a href=&quot;file:cfBliAJGur3RGweJe5afGb&quot;&gt;file:cfBliAJGur3RGweJe5afGb&lt;/a&gt;]: rebased from original&lt;/p&gt;</comment>
                    <comment id="23114" author="importer" created="Tue, 24 Aug 2010 15:10:00 -0500"  >&lt;p&gt;mikehinchey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:040f083efc16dd830a4508a35a04465e3e5677d3&amp;#93;&lt;/span&gt;]) fix #171: ns reflection warnings, and others that are easy&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-169] thread-local bindings interface</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-169</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The attached patch provides a clojure side interface to clojure.lang.Var get/push/popThreadBindings. Also modified binding to use these new functions.&lt;/p&gt;

&lt;p&gt;Discussion here:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_frm/thread/69367d3981de81d1&quot;&gt;http://groups.google.com/group/clojure/browse_frm/thread/69367d3981de81d1&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13566">CLJ-169</key>
            <summary>thread-local bindings interface</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Aug 2009 23:40:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:09:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23094" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/169&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/169&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Added-public-thread-local-bindings-interface.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ahljteHgqr3PfqeJe5afGb/download/ahljteHgqr3PfqeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ahljteHgqr3PfqeJe5afGb/download/ahljteHgqr3PfqeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23095" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: [&lt;a href=&quot;file:ahljteHgqr3PfqeJe5afGb&quot;&gt;file:ahljteHgqr3PfqeJe5afGb&lt;/a&gt;]: Patch adding thread-local bindings interface&lt;/p&gt;</comment>
                    <comment id="23096" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: You may want to consider the concerns Vincent Toups (jvt) raised in the above mentioned thread about possible runtime issues with invalid built maps. Obviously Common Lisp and Scheme do not allow such a behaviour.&lt;/p&gt;</comment>
                    <comment id="23097" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;oranenj said: This is just a style nitpick, but IIRC Rich mentioned that new code in core should use the &quot;modern&quot; syntactic sugar for . forms, instead of . directly. &lt;b&gt;I&lt;/b&gt; certainly would like to see . marginalised as much as possible. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Also, do you think the operations have destructive semantics? Should the names contain a &apos;!&apos;?&lt;/p&gt;

&lt;p&gt;Other than that, the patch is so simple there isn&apos;t much to review, and I&apos;m definitely in favour of adding this.&lt;/p&gt;</comment>
                    <comment id="23098" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: Ah. Ok. I asked Rich why he was still using .. while &#65533;&#65533;&#65533; is much more general. He said, that it is a classic. So I thought I&apos;d stick to the current style in core.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure about the &apos;&lt;span class=&quot;error&quot;&gt;Unable to render embedded object: File (&amp;#39;. On the one hand a push should always have a corresponding pop and vice versa. For example a pop without push will throw. So for now I would not add the &amp;#39;) not found.&lt;/span&gt;&apos;.&lt;/p&gt;

&lt;p&gt;I&apos;ll also add the modifications as discussed in:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_frm/thread/962c19c40dd93f24&quot;&gt;http://groups.google.com/group/clojure-dev/browse_frm/thread/962c19c40dd93f24&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23099" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;richhickey said: I think the docs for push-thread-bindings should state that it is essential to have a matching call to pop-thread-bindings that will be properly called in all scenarios (i.e. in a finally clause), and that this is a special purpose function, and &apos;bindings&apos; or other high-level macros should be preferred when suitable.&lt;/p&gt;</comment>
                    <comment id="23100" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:110b9c2eb8a128d837e6e620efc7e1c4e33feb82&amp;#93;&lt;/span&gt;]) Added public thread-local bindings interface&lt;/p&gt;

&lt;p&gt;Added push-thread-bindings, pop-thread-bindings and get-thread-bindings&lt;br/&gt;
to interface with clojure.lang.Var for thread-local bindings.&lt;/p&gt;

&lt;p&gt;Modified binding to use the new interface.&lt;/p&gt;

&lt;p&gt;Fixes #169&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-168] ant targets should fail on error, also test print report correctly</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-168</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;I found and fixed 3 problems with the ant task for running tests:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;compile-clojure target should fail when the compilation fails so more targets aren&apos;t run and ant process returns error&lt;/li&gt;
	&lt;li&gt;test target should fail when the tests fail, not just print the report.&lt;/li&gt;
	&lt;li&gt;when the test target is used with compile (eg, ant all test), the report is not printed at all&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
            <key id="13565">CLJ-168</key>
            <summary>ant targets should fail on error, also test print report correctly</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Aug 2009 09:13:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:09:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23090" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/168&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/168&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-168-ant.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dXurvSG-Sr3OZ9eJe5aVNr/download/dXurvSG-Sr3OZ9eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dXurvSG-Sr3OZ9eJe5aVNr/download/dXurvSG-Sr3OZ9eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23091" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:dXurvSG-Sr3OZ9eJe5aVNr&quot;&gt;file:dXurvSG-Sr3OZ9eJe5aVNr&lt;/a&gt;]: patch to fix ant&lt;/p&gt;</comment>
                    <comment id="23092" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;mikehinchey said: Fixed by setting java failonerror to true for both compile and test.  Most ant tasks fail by default, but not java.&lt;/p&gt;

&lt;p&gt;Also, wrote a special function for running tests to be used by ant, so it would print properly and throw on test failures.  It wasn&apos;t printing properly when run in the same ant process as the compile because &lt;b&gt;out&lt;/b&gt; and &lt;b&gt;test-out&lt;/b&gt; are bound during compile, so the report was printed to nowhere.&lt;/p&gt;</comment>
                    <comment id="23093" author="importer" created="Tue, 24 Aug 2010 13:09:00 -0500"  >&lt;p&gt;mikehinchey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:abca86ea023080fd4ceed24b9887a653a56722eb&amp;#93;&lt;/span&gt;]) fix #168, ant targets should fail on error, also test print report correctly&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-167] tests for sequences, control, and numbers</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-167</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;I&apos;ve written tests for various core functions: some, condp, loop, when, when-not, if-not, when-let, if-let, when-first, dotimes, while, bit-shift-left, bit-shift-right.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13564">CLJ-167</key>
            <summary>tests for sequences, control, and numbers</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Aug 2009 03:36:00 -0500</created>
                <updated>Tue, 24 Aug 2010 08:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:09:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23086" author="importer" created="Tue, 24 Aug 2010 08:09:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/167&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/167&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-167-tests.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cPbtSiG-yr3P0FeJe5aVNr/download/cPbtSiG-yr3P0FeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cPbtSiG-yr3P0FeJe5aVNr/download/cPbtSiG-yr3P0FeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23087" author="importer" created="Tue, 24 Aug 2010 08:09:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:cPbtSiG-yr3P0FeJe5aVNr&quot;&gt;file:cPbtSiG-yr3P0FeJe5aVNr&lt;/a&gt;]: patch containing tests&lt;/p&gt;</comment>
                    <comment id="23088" author="importer" created="Tue, 24 Aug 2010 08:09:00 -0500"  >&lt;p&gt;mikehinchey said: Ready to test.&lt;/p&gt;</comment>
                    <comment id="23089" author="importer" created="Tue, 24 Aug 2010 08:09:00 -0500"  >&lt;p&gt;mikehinchey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:f4294d876cfc5b72650a2d5eab73757709d92b85&amp;#93;&lt;/span&gt;]) fix #167, tests for sequences, control, and numbers&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-172] #^objects type hint shortcut</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-172</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;instead of the ugly and tiresome #^&quot;[Ljava.lang.Object;&quot;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/cgrand/clojure/commit/15ac69ce25adeb3992a001596cd2c2ff11b2770f&quot;&gt;http://github.com/cgrand/clojure/commit/15ac69ce25adeb3992a001596cd2c2ff11b2770f&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13569">CLJ-172</key>
            <summary>#^objects type hint shortcut</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Aug 2009 04:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:10:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:10:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23115" author="importer" created="Tue, 24 Aug 2010 06:10:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/172&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/172&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-add-objects-as-a-valid-type-hint.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cuB7MaHLSr3Pg2eJe5aVNr/download/cuB7MaHLSr3Pg2eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cuB7MaHLSr3Pg2eJe5aVNr/download/cuB7MaHLSr3Pg2eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23116" author="importer" created="Tue, 24 Aug 2010 06:10:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:cuB7MaHLSr3Pg2eJe5aVNr&quot;&gt;file:cuB7MaHLSr3Pg2eJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23117" author="importer" created="Tue, 24 Aug 2010 06:10:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:cc78418e773517d1c3427818cbee2254689fc0d8&amp;#93;&lt;/span&gt;]) add #^objects as a valid type hint  Fixes #172&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-175] &quot;Second argument to def must be a Symbol&quot; should say &apos;First argument&apos;</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-175</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;See clojure/lang/Compiler.java, line 354 (in static class Parser, method parse())&lt;/p&gt;

&lt;p&gt;&amp;gt; (def &quot;hi&quot; &quot;there&quot;)&lt;br/&gt;
java.lang.Exception: Second argument to def must be a Symbol (NO_SOURCE_FILE:15)&lt;/p&gt;

&lt;p&gt;The real problem the compiler means to say, is that &quot;hi&quot; is not a symbol, and that is the &lt;b&gt;first&lt;/b&gt; argument to def.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13572">CLJ-175</key>
            <summary>&quot;Second argument to def must be a Symbol&quot; should say &apos;First argument&apos;</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="liwp">Lauri Pesonen</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Aug 2009 16:23:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:14:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:14:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23125" author="importer" created="Tue, 24 Aug 2010 06:14:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/175&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/175&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
def-error-message-fix.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cu_tWuRS8r3RVoeJe5aVNr/download/cu_tWuRS8r3RVoeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cu_tWuRS8r3RVoeJe5aVNr/download/cu_tWuRS8r3RVoeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23126" author="importer" created="Tue, 24 Aug 2010 06:14:00 -0500"  >&lt;p&gt;liwp said: [&lt;a href=&quot;file:cu_tWuRS8r3RVoeJe5aVNr&quot;&gt;file:cu_tWuRS8r3RVoeJe5aVNr&lt;/a&gt;]: change the def exception message&lt;/p&gt;</comment>
                    <comment id="23127" author="importer" created="Tue, 24 Aug 2010 06:14:00 -0500"  >&lt;p&gt;liwp said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:6aab0f20e6bcc897b86a77b728af6fa0df93a2d8&amp;#93;&lt;/span&gt;]) Fix incorrect exception message when first argument to def is not a symbol - fix #175&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-178] Reloading core.clj from REPL fails with print-method exception</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-178</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Example REPL session:&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;(in-ns &apos;clojure.core)
(def source-file &lt;span class=&quot;code-quote&quot;&gt;&quot;/path/to/clojure/src/clj/clojure/core.clj&quot;&lt;/span&gt;)
(load-string (slurp source-file))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

Result:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;
java.lang.IllegalArgumentException: No method in multimethod &apos;print-method&apos; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; dispatch value: class clojure.lang.Var
Exception in thread &lt;span class=&quot;code-quote&quot;&gt;&quot;main&quot;&lt;/span&gt; java.lang.IllegalArgumentException: No method in multimethod &apos;print-method&apos; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; dispatch value: class java.lang.&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
        at clojure.lang.MultiFn.getFn(MultiFn.java:115)
        at clojure.lang.MultiFn.invoke(MultiFn.java:161)
        at clojure.core$pr_on__1315.invoke(Unknown Source)
        at clojure.core$pr__1318.invoke(Unknown Source)
        at clojure.lang.AFn.applyToHelper(AFn.java:173)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply__183.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:428)
        at clojure.core$print__1332.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:413)
        at clojure.core$printf__2285.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:428)
        at clojure.main$repl_prompt__6713.invoke(main.clj:41)
        at clojure.main$repl__6737.doInvoke(main.clj:199)
        at clojure.lang.RestFn.invoke(RestFn.java:426)
        at clojure.main$repl_opt__6777.invoke(main.clj:251)
        at clojure.main$main__6812.doInvoke(main.clj:338)
        at clojure.lang.RestFn.invoke(RestFn.java:402)
        at clojure.lang.Var.invoke(Var.java:355)
        at clojure.lang.AFn.applyToHelper(AFn.java:171)
        at clojure.lang.Var.applyTo(Var.java:476)
        at clojure.main.main(main.java:37)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13575">CLJ-178</key>
            <summary>Reloading core.clj from REPL fails with print-method exception</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Aug 2009 18:40:00 -0500</created>
                <updated>Tue, 28 Sep 2010 15:34:00 -0500</updated>
                    <resolved>Tue, 28 Sep 2010 15:34:00 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23131" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/178&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/178&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23132" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;stu said: Core is special, and it may be that this is not possible in general (across all combinations of source/compilation that could be extant on the classpath). Here&apos;s what I get with today&apos;s master:&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;java.lang.IllegalArgumentException: Can&apos;t define method not in interfaces: nth (gvec.clj:83)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="23133" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;stu said: Notes:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Moving print-initialized to the top of core.clj does not fix this problem&lt;/li&gt;
	&lt;li&gt;You can avoid this problem by putting the clojure src and classes directories (and not the compiled clojure.jar on your classpath), and compiling only the java bits&lt;/li&gt;
	&lt;li&gt;Disregard my previous comment, that was local weirdness in my environment.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I am ok with the workaround but if there is an easy fix let&apos;s make it.&lt;/p&gt;</comment>
                    <comment id="23134" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;richhickey said: works in 1.3 master&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-176] structs printed with *print-dup* true cannot be read</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-176</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;(defstruct thing :a :b)
(def my-thing (struct thing 1 2))
(def s (binding [*print-dup* &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;] (pr-str my-thing)))
s 
;;=&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;#=(clojure.lang.PersistentStructMap/create {:a 1, :b 2})&quot;&lt;/span&gt;
(read-string s)
;;=&amp;gt; java.lang.IllegalArgumentException:
;;   No matching method found: create&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13573">CLJ-176</key>
            <summary>structs printed with *print-dup* true cannot be read</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Aug 2009 11:11:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:14:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:14:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23128" author="importer" created="Tue, 24 Aug 2010 06:14:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/176&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/176&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23129" author="importer" created="Tue, 24 Aug 2010 06:14:00 -0500"  >&lt;p&gt;stu said: This is not going to be fixed in the short or medium term. Please ping me if you have a compelling use case though.&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-180] 1.0 bugfix: (namespace (symbol &quot;/&quot;)) should return nil</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-180</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Fix for master is valid for 1.0 too; see parent issue&lt;/p&gt;</description>
                <environment></environment>
            <key id="13577">CLJ-180</key>
            <summary>1.0 bugfix: (namespace (symbol &quot;/&quot;)) should return nil</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Aug 2009 11:58:00 -0500</created>
                <updated>Wed, 22 Sep 2010 16:27:00 -0500</updated>
                    <resolved>Wed, 22 Sep 2010 16:27:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23139" author="importer" created="Wed, 22 Sep 2010 16:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/180&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/180&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23140" author="importer" created="Wed, 22 Sep 2010 16:27:00 -0500"  >&lt;p&gt;oranenj said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #179 was added&lt;/p&gt;</comment>
                    <comment id="23141" author="importer" created="Wed, 22 Sep 2010 16:27:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#180, #156, #187, #188)&lt;/p&gt;

&lt;p&gt;invalidating old 1.0 back-tickets so they don&apos;t keep showing up in reports&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-177] Try latches instead of wait/notify in STM</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-177</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;wait/notify might not have best throughput, try CountdownLatch instead&lt;/p&gt;</description>
                <environment></environment>
            <key id="13574">CLJ-177</key>
            <summary>Try latches instead of wait/notify in STM</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Aug 2009 16:40:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:16:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:16:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23130" author="importer" created="Tue, 24 Aug 2010 13:16:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/177&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/177&lt;/a&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-181] proxy-name does not produce unique names</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-181</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;be.nsa.server=&amp;gt; (proxy-name Object &lt;span class=&quot;error&quot;&gt;&amp;#91;Signal$Listener&amp;#93;&lt;/span&gt;)&lt;br/&gt;
&quot;clojure.proxy.java.lang.Object$Listener&quot;&lt;br/&gt;
be.nsa.server=&amp;gt; (proxy-name Object &lt;span class=&quot;error&quot;&gt;&amp;#91;Signal1$Listener&amp;#93;&lt;/span&gt;)&lt;br/&gt;
&quot;clojure.proxy.java.lang.Object$Listener&quot;&lt;/p&gt;

&lt;p&gt;Proposed solution: include more than the simple name of interfaces (up to the last dot) and a hash of the full names.&lt;/p&gt;

&lt;p&gt;eg : (proxy-name Object &lt;span class=&quot;error&quot;&gt;&amp;#91;Signal1$Listener&amp;#93;&lt;/span&gt;)&lt;br/&gt;
&quot;clojure.proxy.java.lang.Object$Signal1$Listener$af458&quot;&lt;br/&gt;
(proxy-name Object &lt;span class=&quot;error&quot;&gt;&amp;#91;Signal1$Listener&amp;#93;&lt;/span&gt;)&lt;br/&gt;
&quot;clojure.proxy.java.lang.Object$Signal$Listener$4d54e&quot;&lt;/p&gt;

&lt;p&gt;Wouldn&apos;t the hash suffice?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13578">CLJ-181</key>
            <summary>proxy-name does not produce unique names</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Aug 2009 13:08:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:17:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23142" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/181&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/181&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
181-proxy.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/au3qQmLWur3Rb-eJe5afGb/download/au3qQmLWur3Rb-eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/au3qQmLWur3Rb-eJe5afGb/download/au3qQmLWur3Rb-eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23143" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: I&apos;d like to add, that it would be nice, if the current namespace could also be included in the class generated by proxy. In it&apos;s current form it is very difficult to create several jars from one compilation tree, since it is difficult to find out which namespace defines which proxy.&lt;/p&gt;

&lt;p&gt;The current solution requires to set up different compilation trees for different jars. Especially for simple setups this is a lot of unnecessary work.&lt;/p&gt;

&lt;p&gt;Having the namespace encoded in the class name would make it easy to select the correct proxy classes.&lt;/p&gt;

&lt;p&gt;Also, it would avoid clashes with third party libraries, which happen to define similar proxies.&lt;/p&gt;</comment>
                    <comment id="23144" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;cgrand said: Attached patch:&lt;br/&gt;
proxy now caches generated classes per namespace and include a hash to distinguish proxy classes implementing homonymous interfaces. See #181&lt;/p&gt;</comment>
                    <comment id="23145" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;richhickey said: I don&apos;t see the patch file&lt;/p&gt;</comment>
                    <comment id="23146" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:au3qQmLWur3Rb-eJe5afGb&quot;&gt;file:au3qQmLWur3Rb-eJe5afGb&lt;/a&gt;]: missing patch&lt;/p&gt;</comment>
                    <comment id="23147" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:e73abece1ebf3a4aba22104ae9452b2b816ab0d7&amp;#93;&lt;/span&gt;]) proxy now caches generated classes per namespace and include a hash to distinguish proxy classes implementing homonymous interfaces. Fixes #181&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-182] Make Symbol.create methods intern their args</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-182</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Right now the create methods presume interned strings, but not all users are disciplined about that. Also, Terracotta can correctly identity-share explicitly interned strings but not implicit ones (like string literals). We care because symbol equality is based on string identity.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13579">CLJ-182</key>
            <summary>Make Symbol.create methods intern their args</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="liwp">Lauri Pesonen</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 25 Aug 2009 00:11:00 -0500</created>
                <updated>Thu, 14 Oct 2010 14:27:00 -0500</updated>
                    <resolved>Thu, 14 Oct 2010 14:27:00 -0500</resolved>
                                            <fixVersion>Release 1.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23148" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/182&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/182&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
intern-symbol-create.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bEWc50RSmr3RYCeJe5afGb/download/bEWc50RSmr3RYCeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bEWc50RSmr3RYCeJe5afGb/download/bEWc50RSmr3RYCeJe5afGb&lt;/a&gt;&lt;br/&gt;
0182-remove-symbol-create.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cq_Zfw17Sr36XAeJe5cbLA/download/cq_Zfw17Sr36XAeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cq_Zfw17Sr36XAeJe5cbLA/download/cq_Zfw17Sr36XAeJe5cbLA&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23149" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;liwp said: [&lt;a href=&quot;file:bEWc50RSmr3RYCeJe5afGb&quot;&gt;file:bEWc50RSmr3RYCeJe5afGb&lt;/a&gt;]: Fixes namespace and symbol name interning in Symbol/create&lt;/p&gt;</comment>
                    <comment id="23150" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;liwp said: Symbol/create(ns, name) gets called e.g. for def forms with ns == null, so I had to add a null check. I couldn&apos;t find the create() call that was causing this, so the null check was an easier option.&lt;/p&gt;</comment>
                    <comment id="23151" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;technomancy said: +1; this still applies cleanly and looks correct.&lt;/p&gt;</comment>
                    <comment id="23152" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;richhickey said: I think it might be best to get rid of the create methods entirely. It&apos;s only confusing to have both. I can do the refactor of the Clojure code - the patch would be daunting &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    <comment id="23153" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:cq_Zfw17Sr36XAeJe5cbLA&quot;&gt;file:cq_Zfw17Sr36XAeJe5cbLA&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23154" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;stu said: second (big!) patch removes create, all callers now use intern.&lt;/p&gt;</comment>
                    <comment id="23155" author="importer" created="Thu, 14 Oct 2010 14:27:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#182, #286)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-189] Doc for compare does not match implementation</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-189</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;(compare x y) returns a negative number, zero, or a positive number when x is logically &apos;less than&apos;, &apos;equal to&apos;, or &apos;greater than&apos; y. The doc implies that it returns -1, 0, 1, respectively. We should fix the doc.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13586">CLJ-189</key>
            <summary>Doc for compare does not match implementation</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="liwp">Lauri Pesonen</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Sep 2009 07:43:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:29:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:29:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23182" author="importer" created="Tue, 24 Aug 2010 04:29:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/189&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/189&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
compare-doc-defect.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bpEPXANUmr3QLPeJe5aVNr/download/bpEPXANUmr3QLPeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bpEPXANUmr3QLPeJe5aVNr/download/bpEPXANUmr3QLPeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23183" author="importer" created="Tue, 24 Aug 2010 04:29:00 -0500"  >&lt;p&gt;liwp said: [&lt;a href=&quot;file:bpEPXANUmr3QLPeJe5aVNr&quot;&gt;file:bpEPXANUmr3QLPeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23184" author="importer" created="Tue, 24 Aug 2010 04:29:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:a2d986693592e321e7978f914c3ba4f563da6af3&amp;#93;&lt;/span&gt;]) Fix compare doc defect - fixes #189&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-183] leafless PersistentHashMap</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-183</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;see &lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/4ab5a2a00e82c566&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/4ab5a2a00e82c566&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13580">CLJ-183</key>
            <summary>leafless PersistentHashMap</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Aug 2009 10:20:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:19:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:19:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23156" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/183&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/183&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
leafless.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/afd0l2KLqr3PFneJe5aVNr/download/afd0l2KLqr3PFneJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/afd0l2KLqr3PFneJe5aVNr/download/afd0l2KLqr3PFneJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23157" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:afd0l2KLqr3PFneJe5aVNr&quot;&gt;file:afd0l2KLqr3PFneJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23158" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;richhickey said: Patch applied - thanks!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-187] StringSeq implements Counted but doesn&apos;t provide a specialized impl for count() [for 1.0 from #186]</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-187</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #186 against branch 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13584">CLJ-187</key>
            <summary>StringSeq implements Counted but doesn&apos;t provide a specialized impl for count() [for 1.0 from #186]</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Sep 2009 22:15:00 -0500</created>
                <updated>Wed, 22 Sep 2010 23:27:00 -0500</updated>
                    <resolved>Wed, 22 Sep 2010 23:27:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23176" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/187&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/187&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23177" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #186 was added&lt;/p&gt;</comment>
                    <comment id="23178" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#180, #156, #187, #188)&lt;/p&gt;

&lt;p&gt;invalidating old 1.0 back-tickets so they don&apos;t keep showing up in reports&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-192] hashmaps: count is not always updated when associng/dissocing a nil key</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-192</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;user=&amp;gt; (count (reduce conj (hash-map) (for &lt;span class=&quot;error&quot;&gt;&amp;#91;i (range 30)&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;i nil&amp;#93;&lt;/span&gt;)))&lt;br/&gt;
0&lt;/p&gt;

&lt;p&gt;Patch attached.&lt;/p&gt;

&lt;p&gt;(thanks to danlarkin for reporting it &lt;a href=&quot;http://clojure-log.n01se.net/date/2009-09-16.html#13:12&quot;&gt;http://clojure-log.n01se.net/date/2009-09-16.html#13:12&lt;/a&gt; )&lt;/p&gt;

&lt;p&gt;BTW, what&apos;s the best way to add specific tests such as this one to the test suite?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13589">CLJ-192</key>
            <summary>hashmaps: count is not always updated when associng/dissocing a nil key</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Sep 2009 02:07:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:32:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:32:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23194" author="importer" created="Tue, 24 Aug 2010 07:32:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/192&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/192&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
count-assoc-dissoc.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bOBpRYO1ar3PEPeJe5aVNr/download/bOBpRYO1ar3PEPeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bOBpRYO1ar3PEPeJe5aVNr/download/bOBpRYO1ar3PEPeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23195" author="importer" created="Tue, 24 Aug 2010 07:32:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:bOBpRYO1ar3PEPeJe5aVNr&quot;&gt;file:bOBpRYO1ar3PEPeJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23196" author="importer" created="Tue, 24 Aug 2010 07:32:00 -0500"  >&lt;p&gt;fsodomka said: Concerning the test: In the past we were adding tests directly to the other tests for the given function. I would just add it in the test-count in data_structures.clj.&lt;/p&gt;

&lt;p&gt;; associng/dissocing a nil key - ticket #192&lt;br/&gt;
(is (= 30 (count (reduce conj (hash-map) (for &lt;span class=&quot;error&quot;&gt;&amp;#91;i (range 30)&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;i nil&amp;#93;&lt;/span&gt;)))))&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-188] NPE when creating an empty array of ints, longs, floats or doubles [from #146 for 1.0]</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-188</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This ticket is for tracking #146 against branch 1.0&lt;/p&gt;</description>
                <environment></environment>
            <key id="13585">CLJ-188</key>
            <summary>NPE when creating an empty array of ints, longs, floats or doubles [from #146 for 1.0]</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Sep 2009 22:50:00 -0500</created>
                <updated>Wed, 22 Sep 2010 23:27:00 -0500</updated>
                    <resolved>Wed, 22 Sep 2010 23:27:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23179" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/188&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/188&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23180" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #146 was added&lt;/p&gt;</comment>
                    <comment id="23181" author="importer" created="Wed, 22 Sep 2010 23:27:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#180, #156, #187, #188)&lt;/p&gt;

&lt;p&gt;invalidating old 1.0 back-tickets so they don&apos;t keep showing up in reports&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-193] Return summary &amp; successful? for clojure.test</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-193</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;clojure.test/run-tests does not return a value, making it difficult to integrate with build frameworks such as Ant and Maven.&lt;/p&gt;

&lt;p&gt;This patch was written by Jason Sankey, who is a registered contributor.&lt;/p&gt;

&lt;p&gt;The patch modifies run-tests to return the test summary results (the same map sent to the report function).&lt;/p&gt;

&lt;p&gt;The patch also adds a new function, &quot;successful?&quot;, which returns true if the summary indicates that there were no failures or errors.&lt;/p&gt;

&lt;p&gt;A test script or main program can call (successful? (run-tests ...)) and then indicate success or failure in System/exit.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13590">CLJ-193</key>
            <summary>Return summary &amp; successful? for clojure.test</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Sep 2009 00:46:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:37:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:37:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23197" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/193&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/193&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
test-ideas-summary.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dDYqFAQsKr3RHfeJe5aVNr/download/dDYqFAQsKr3RHfeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dDYqFAQsKr3RHfeJe5aVNr/download/dDYqFAQsKr3RHfeJe5aVNr&lt;/a&gt;&lt;br/&gt;
fix193-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cdsoTU3Pmr3Q3BeJe5aVNr/download/cdsoTU3Pmr3Q3BeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cdsoTU3Pmr3Q3BeJe5aVNr/download/cdsoTU3Pmr3Q3BeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23198" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:dDYqFAQsKr3RHfeJe5aVNr&quot;&gt;file:dDYqFAQsKr3RHfeJe5aVNr&lt;/a&gt;]: patch to run-tests and successful?&lt;/p&gt;</comment>
                    <comment id="23199" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;stuart.sierra said: Checked against commit 3e60eff602652e753a54ba88b25dbdd2615c3b2e and still applies ok.&lt;/p&gt;</comment>
                    <comment id="23200" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;richhickey said: Not a valid patch format, needs git format-patch&lt;/p&gt;</comment>
                    <comment id="23201" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;digash said: I&apos;ve ran into the same issue as a work around. Just bind the function to the patched one.&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;(defn patched-run-tests
  &quot;Runs all tests in the given namespaces; prints results.
  Defaults to current namespace &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; none given.&quot;
  ([] (run-tests *ns*))
  ([&amp;amp; namespaces]
     (let [summary (assoc (apply merge-with + (map test-ns namespaces))
                     :type :summary)]
       (report summary)
       summary)))

(defn successful?
  &quot;Returns &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the given test summary indicates all tests
  were successful, &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; otherwise.&quot;
  [summary]
  (and (zero? (:fail summary))
       (zero? (:error summary))))

(binding [clojure.test/run-tests patched-run-tests]
  (when-not (successful? (run-all-tests #&lt;span class=&quot;code-quote&quot;&gt;&quot;.*test.*&quot;&lt;/span&gt;))
    (&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt;/exit 1)))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="23202" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:cdsoTU3Pmr3Q3BeJe5aVNr&quot;&gt;file:cdsoTU3Pmr3Q3BeJe5aVNr&lt;/a&gt;]: Correctly-formatted patch&lt;/p&gt;</comment>
                    <comment id="23203" author="importer" created="Tue, 24 Aug 2010 07:37:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:607389029cfec50f32b73c00a6f66d0a1dbcda23&amp;#93;&lt;/span&gt;]) clojure.test/run-tests: return summary, add successful?; refs #193&lt;/p&gt;

&lt;p&gt;Reformatted patch.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-186] StringSeq implements Counted but doesn&apos;t provide a specialized impl for count()</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-186</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;(count (seq (apply str (repeat 100000 &quot;hello&quot;)))) throws a StackOverflowError&lt;/p&gt;</description>
                <environment></environment>
            <key id="13583">CLJ-186</key>
            <summary>StringSeq implements Counted but doesn&apos;t provide a specialized impl for count()</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Aug 2009 15:59:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:20:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:20:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23172" author="importer" created="Tue, 24 Aug 2010 13:20:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/186&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/186&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
186-StringSeq-count.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bDd_4MLWyr3Rb-eJe5afGb/download/bDd_4MLWyr3Rb-eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bDd_4MLWyr3Rb-eJe5afGb/download/bDd_4MLWyr3Rb-eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23173" author="importer" created="Tue, 24 Aug 2010 13:20:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:bDd_4MLWyr3Rb-eJe5afGb&quot;&gt;file:bDd_4MLWyr3Rb-eJe5afGb&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23174" author="importer" created="Tue, 24 Aug 2010 13:20:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &lt;b&gt;Child&lt;/b&gt; association with ticket #187 was added&lt;/p&gt;</comment>
                    <comment id="23175" author="importer" created="Tue, 24 Aug 2010 13:20:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:2474dad2a56b32527bb6ee10545ee3de476bc583&amp;#93;&lt;/span&gt;]) Add missing specialized implementation for Counted/count on StringSeq. Fixes #186&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-194] clojure.test use-fixtures function composes fixture functions repeatedly</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-194</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;If you call use-fixtures over and over again, it will simply compose the test deeper and deeper into a nesting of the fixture function.&lt;/p&gt;

&lt;p&gt; &#65533;&#65533; (use-fixtures :each my-cleanup)&lt;br/&gt;
 &#65533;&#65533; (deftest my-messy-test &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;)&lt;/p&gt;

&lt;p&gt;Load that a few times and you end up running the equivalent of:&lt;br/&gt;
 (my-cleanup (my-cleanup (my-cleanup my-messy-test))).&lt;/p&gt;</description>
                <environment></environment>
            <key id="13591">CLJ-194</key>
            <summary>clojure.test use-fixtures function composes fixture functions repeatedly</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Oct 2009 10:54:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:45:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23204" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/194&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/194&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Don-t-repeatedly-compose-on-calls-to-use-fixtures.-F.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cU7IgoS2Or3PCKeJe5aVNr/download/cU7IgoS2Or3PCKeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cU7IgoS2Or3PCKeJe5aVNr/download/cU7IgoS2Or3PCKeJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-Don-t-repeatedly-compose-on-calls-to-use-fixtures.-F.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a51RI-S2Wr3PxveJe5aVNr/download/a51RI-S2Wr3PxveJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a51RI-S2Wr3PxveJe5aVNr/download/a51RI-S2Wr3PxveJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23205" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:cU7IgoS2Or3PCKeJe5aVNr&quot;&gt;file:cU7IgoS2Or3PCKeJe5aVNr&lt;/a&gt;]: Patch with a fix.&lt;/p&gt;</comment>
                    <comment id="23206" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;technomancy said: Fix attached.&lt;/p&gt;</comment>
                    <comment id="23207" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:a51RI-S2Wr3PxveJe5aVNr&quot;&gt;file:a51RI-S2Wr3PxveJe5aVNr&lt;/a&gt;]: Fixed patch&lt;/p&gt;</comment>
                    <comment id="23208" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;technomancy said: Ignore that first patch; the implementation worked, but the test was silly.&lt;/p&gt;</comment>
                    <comment id="23209" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;mikehinchey said: &lt;a href=&quot;https://www.assembla.com/spaces/clojure-contrib/tickets/36&quot;&gt;Backport for contrib clojure-1.0-compatibility&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23210" author="importer" created="Tue, 24 Aug 2010 04:45:00 -0500"  >&lt;p&gt;technomancy said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:f5f2943dfd0128744227c3f42a630ea10dd40b24&amp;#93;&lt;/span&gt;]) Don&apos;t repeatedly compose on calls to use-fixtures. Fixes #194.&lt;/p&gt;

&lt;p&gt;Updated tests and added a docstring to use-fixtures.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-185] clojure.zip/down doesn&apos;t always return nil when called on leaf</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-185</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The docs for zip/down state: &quot;Returns the loc of the leftmost child of the node at this loc, or nil if no children&quot;, but in fact, down will always try to call the zipper&apos;s children function, even if branch? is false, i.e. on leaves. This behaviour is inconsistent with the doc string and with the behaviour of up, left and right, which always return nil.&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; [1] clojure.zip/vector-zip clojure.zip/down clojure.zip/down)
; =&amp;gt; java.lang.IllegalArgumentException: Don&apos;t know how to create ISeq from: &lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Related, but not identical to #135&lt;/p&gt;</description>
                <environment></environment>
            <key id="13582">CLJ-185</key>
            <summary>clojure.zip/down doesn&apos;t always return nil when called on leaf</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="achimpassen">Achim Passen</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Aug 2009 06:17:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:19:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:19:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23167" author="importer" created="Tue, 24 Aug 2010 04:19:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/185&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/185&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
zip-down-bug.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bR_nykKWWr3P7IeJe5aVNr/download/bR_nykKWWr3P7IeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bR_nykKWWr3P7IeJe5aVNr/download/bR_nykKWWr3P7IeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23168" author="importer" created="Tue, 24 Aug 2010 04:19:00 -0500"  >&lt;p&gt;achimpassen said: [&lt;a href=&quot;file:bR_nykKWWr3P7IeJe5aVNr&quot;&gt;file:bR_nykKWWr3P7IeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23169" author="importer" created="Tue, 24 Aug 2010 04:19:00 -0500"  >&lt;p&gt;richhickey said: This seems to conflict with the policy of #135, which is to throw if non-branch&lt;/p&gt;</comment>
                    <comment id="23170" author="importer" created="Tue, 24 Aug 2010 04:19:00 -0500"  >&lt;p&gt;achimpassen said: Why not have children throw and down return nil? The attached patch doesn&apos;t rely on one particular behaviour of children. IMHO, if down is supposed to throw, the doc string should be fixed, and for the sake of consistency, left/right/up should also throw on leftmost/rightmost/root nodes.&lt;/p&gt;</comment>
                    <comment id="23171" author="importer" created="Tue, 24 Aug 2010 04:19:00 -0500"  >&lt;p&gt;achimpassen said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:146f3614d100e9bce421afdcceee67aa0b956bb8&amp;#93;&lt;/span&gt;]) fixed zip/down on leaves, refs #185&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-195] Documentation: Where are the docs for clojure.test, clojure.walk, etc?</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-195</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Several libraries were moved from clojure.contrib to the standard library. I can&apos;t find any documentation on how to use them anymore. They&apos;re not on clojure.org and they&apos;re not in the clojure contrib docs. Here&apos;s the list:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;clojure.contrib.test-is -&amp;gt; clojure.test&lt;/li&gt;
	&lt;li&gt;clojure.contrib.stacktrace -&amp;gt; clojure.stacktrace&lt;/li&gt;
	&lt;li&gt;clojure.contrib.template -&amp;gt; clojure.template&lt;/li&gt;
	&lt;li&gt;clojure.contrib.walk -&amp;gt; clojure.walk&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13592">CLJ-195</key>
            <summary>Documentation: Where are the docs for clojure.test, clojure.walk, etc?</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Oct 2009 15:11:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:46:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:46:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23211" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/195&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/195&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23212" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;stuart.sierra said: All built-in namespaces (clojure.*) now have API documentation on GitHub Pages: &lt;a href=&quot;http://richhickey.github.com/clojure/&quot;&gt;http://richhickey.github.com/clojure/&lt;/a&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-198] attr-map argument for clojure.core/ns</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-198</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Discussion: &lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/97ffdb1d89c0f847&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/97ffdb1d89c0f847&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The clojure.core/ns macro should have an attr-map argument like defn and defmulti. For 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;(ns example
  {:author &lt;span class=&quot;code-quote&quot;&gt;&quot;John Doe&quot;&lt;/span&gt;
   :email &lt;span class=&quot;code-quote&quot;&gt;&quot;jdoe@example.com&quot;&lt;/span&gt;}
  (:use clojure.contrib.def))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13595">CLJ-198</key>
            <summary>attr-map argument for clojure.core/ns</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="jreeves">James Reeves</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 17 Oct 2009 09:05:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23216" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/198&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/198&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ns-attr-map.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cMA1GOWjOr3RwUeJe5aVNr/download/cMA1GOWjOr3RwUeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cMA1GOWjOr3RwUeJe5aVNr/download/cMA1GOWjOr3RwUeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23217" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;jreeves said: [&lt;a href=&quot;file:cMA1GOWjOr3RwUeJe5aVNr&quot;&gt;file:cMA1GOWjOr3RwUeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23218" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;jreeves said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:c2e75b8d668f1609436f8a8f0f722e8df6d03f11&amp;#93;&lt;/span&gt;]) Added optional attr-map argument to ns macro, fixes #198&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23219" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:1186fe50804195f961d38cb7eab1bad2abb3a513&amp;#93;&lt;/span&gt;]) Fix &apos;ns&apos; macro arglist doc.  Refs #198&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-201] Make deftest keep var metadata</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-201</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently deftest discards metadata from the symbol passed in to it.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13598">CLJ-201</key>
            <summary>Make deftest keep var metadata</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Oct 2009 01:13:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:51:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23227" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/201&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/201&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Add-test-for-metadata-carrying-deftest.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFcI08Vg8r3P7CeJe5aVNr/download/dFcI08Vg8r3P7CeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFcI08Vg8r3P7CeJe5aVNr/download/dFcI08Vg8r3P7CeJe5aVNr&lt;/a&gt;&lt;br/&gt;
0002-Preserve-test-var-metadata-within-deftest.-Fixes-20.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFkVS0Vg8r3P7CeJe5aVNr/download/dFkVS0Vg8r3P7CeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFkVS0Vg8r3P7CeJe5aVNr/download/dFkVS0Vg8r3P7CeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23228" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:dFcI08Vg8r3P7CeJe5aVNr&quot;&gt;file:dFcI08Vg8r3P7CeJe5aVNr&lt;/a&gt;]: Tests&lt;/p&gt;</comment>
                    <comment id="23229" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:dFkVS0Vg8r3P7CeJe5aVNr&quot;&gt;file:dFkVS0Vg8r3P7CeJe5aVNr&lt;/a&gt;]: Implementation&lt;/p&gt;</comment>
                    <comment id="23230" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;technomancy said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:7779c99699f29118ee9fc66201c7afdd1a5dd300&amp;#93;&lt;/span&gt;]) Preserve test var metadata within deftest. Fixes #201.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23231" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;technomancy said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:9bde10da7b13dd24b5666260d231d79792a34305&amp;#93;&lt;/span&gt;]) Add test for metadata-carrying deftest. Refs #201&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-199] chunked seqs support &apos;for&apos; byte code can&apos;t be converted to dex for dalvik</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-199</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Commit 306ef6 generates bytecode which can not be covered to dex for dalvik.  See following git-bisect output for details.&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;306ef6d9e47253103ca0e5ae0f4b620d5fa2aeff is first bad commit
commit 306ef6d9e47253103ca0e5ae0f4b620d5fa2aeff (14316ae2110a779ffc8ac9c3da3f1c41852c4289)
Author: Chouser &amp;lt;chouser@n01se.net&amp;gt;
Date:   Sun Aug 23 21:36:41 2009 -0400

    Add support &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; chunked seqs to &apos;&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt;&apos;.  Refs #1

:040000 040000 d48a1b12db408d4bc5843367ea5529678522f57d 7d8717380716feab9ebc84883e60dceea8fb1e08 M src
:040000 040000 0d80fce85701005c13ce13c105524a4fff188396 5daece53b0dd2727dc7ffa9c0b773e7962de900d M test
bisect run success

processing clojure/core$generate_proxy__5911$iter__5947__5953$fn__5954$iter__5949__5956$fn__5957.class...

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; using a local variable of type &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;. This is symptomatic of .class transformation tools that ignore local variable information.
 at com.android.dx.cf.code.BaseMachine.throwLocalMismatch(BaseMachine.java:537)
 at com.android.dx.cf.code.Simulator$SimVisitor.visitLocal(Simulator.java:504)
 at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:472)
 at com.android.dx.cf.code.Simulator.simulate(Simulator.java:96)
 at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:681)
 at com.android.dx.cf.code.Ropper.doit(Ropper.java:636)
 at com.android.dx.cf.code.Ropper.convert(Ropper.java:253)
 at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:252)
 at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
 at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
 at com.android.dx.command.dexer.Main.processClass(Main.java:297)
 at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
 at com.android.dx.command.dexer.Main.access$100(Main.java:56)
 at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
 at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
 at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
 at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
 at com.android.dx.command.dexer.Main.processOne(Main.java:245)
 at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
 at com.android.dx.command.dexer.Main.run(Main.java:139)
 at com.android.dx.command.dexer.Main.main(Main.java:120)
 at com.android.dx.command.Main.main(Main.java:87)
...at bytecode offset 000000d7
locals[0000]: Lclojure/core$generate_proxy__5911$iter__5947__5953$fn__5954$iter__5949__5956$fn__5957;
locals[0001]: known-&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
locals[0002]: known-&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
locals[0003]: known-&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
locals[0004]: known-&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
locals[0005]: I
locals[0006]: Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
stack[0003]: Lclojure/lang/IFn;
stack[0002]: Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
stack[0001]: Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
stack[top0]: known-&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
...&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; working on block 00cd
...&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; working on method invoke:()Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
...&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; processing invoke ()Ljava/lang/&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;;
...&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; processing clojure/core$generate_proxy__5911$iter__5947__5953$fn__5954$iter__5949__5956$fn__5957.class&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13596">CLJ-199</key>
            <summary>chunked seqs support &apos;for&apos; byte code can&apos;t be converted to dex for dalvik</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="aaron">Aaron Bedra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 18 Oct 2009 10:07:00 -0500</created>
                <updated>Mon, 15 Nov 2010 12:49:00 -0600</updated>
                    <resolved>Mon, 1 Nov 2010 07:38:25 -0500</resolved>
                                            <fixVersion>Release 1.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23220" author="importer" created="Mon, 25 Oct 2010 23:11:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/199&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/199&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23221" author="importer" created="Mon, 25 Oct 2010 23:11:00 -0500"  >&lt;p&gt;richhickey said: what are the tools/commands needed to reproduce this?&lt;/p&gt;</comment>
                    <comment id="23222" author="importer" created="Mon, 25 Oct 2010 23:11:00 -0500"  >&lt;p&gt;remvee said: Oeps, the SHA1 in this report is not part of the official git repo but&lt;br/&gt;
only in my tree.  I&apos;ve digged around and found it at 14316a.&lt;/p&gt;

&lt;p&gt;Anyway, the problem does not occur in the current master branch but&lt;br/&gt;
persist in 1.1.x branch.  So please close this issue.&lt;/p&gt;

&lt;p&gt;Just for reference, you can reproduce the problem as follows:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;download the android SDK&lt;/li&gt;
	&lt;li&gt;build clojure.jar&lt;/li&gt;
	&lt;li&gt;run: &lt;span class=&quot;error&quot;&gt;&amp;#91;andriod_sdk&amp;#93;&lt;/span&gt;/platforms/android-2.0.1/tools/dx --dex clojure.jar&lt;/li&gt;
	&lt;li&gt;boom&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    <comment id="23223" author="importer" created="Mon, 25 Oct 2010 23:11:00 -0500"  >&lt;p&gt;aaron said: The current master 09ba677c1dfd8e75cec47d270062558c71aa551d does not cause this issue.  I tested on android-7 and android-8 platforms with fresh downloads of everything.  Should we close this ticket?&lt;/p&gt;</comment>
                    <comment id="25885" author="aaron" created="Fri, 29 Oct 2010 09:44:48 -0500"  >&lt;p&gt;Contacted original poster about closing this issue.&lt;/p&gt;</comment>
                    <comment id="25912" author="aaron" created="Mon, 1 Nov 2010 07:38:26 -0500"  >&lt;p&gt;Orignal ticket creator agreed that this is no longer an issue.  This issue was fixed sometime between 1.1 and 1.2 but since there is no patches or details on what changed here I am marking the resolution declined&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-208] pom uses old artifactId</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-208</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The pom generated by the build process uses the old &quot;clojure-lang&quot; artifact ID. Since the official repositories host a build with just plain &quot;clojure&quot;, we should update to be consistent.&lt;/p&gt;

&lt;p&gt;I believe this was discussed a while ago on the mailing list, but the fix never made it into git.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13605">CLJ-208</key>
            <summary>pom uses old artifactId</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="dysinger">Tim Dysinger</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 3 Nov 2009 00:26:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:02:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:02:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23249" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/208&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/208&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
clojure-build.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aNaDJ4YlCr3PeJeJe5aVNr/download/aNaDJ4YlCr3PeJeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aNaDJ4YlCr3PeJeJe5aVNr/download/aNaDJ4YlCr3PeJeJe5aVNr&lt;/a&gt;&lt;br/&gt;
contrib-build.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aNaGuWYlCr3PeJeJe5aVNr/download/aNaGuWYlCr3PeJeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aNaGuWYlCr3PeJeJe5aVNr/download/aNaGuWYlCr3PeJeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23250" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:aNaDJ4YlCr3PeJeJe5aVNr&quot;&gt;file:aNaDJ4YlCr3PeJeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23251" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:aNaGuWYlCr3PeJeJe5aVNr&quot;&gt;file:aNaGuWYlCr3PeJeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23252" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;stuart.sierra said: Why is this assigned to me?&lt;/p&gt;</comment>
                    <comment id="23253" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;technomancy said: Stuart: I assumed you were the commiter most familiar with Maven; sorry if that was presumptuous.&lt;/p&gt;</comment>
                    <comment id="23254" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;stuart.sierra said: Well, I&apos;m moderately familiar with Maven, but I don&apos;t have commit privileges on core; that&apos;s the only reason why I was confused by the assignment.&lt;/p&gt;</comment>
                    <comment id="23255" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;technomancy said: Ah, I didn&apos;t realize there are was a separate set of committers for contrib.&lt;/p&gt;</comment>
                    <comment id="23256" author="importer" created="Tue, 24 Aug 2010 05:02:00 -0500"  >&lt;p&gt;dysinger said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:5f96d1cb7eeac29b3894e63ce9e17f29d062d15d&amp;#93;&lt;/span&gt;]) changed the pom to match whats been pushed on public maven repos  Fixes #208&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-203] Add line to .gitignore for local netbeans project directory</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-203</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Oddly, git always fails to cleanly merge an altered .gitignore we keep that contains a line for the local netbeans project directory.  It would be very convenient if that line were to be added to .gitignore upstream...&lt;/p&gt;</description>
                <environment></environment>
            <key id="13600">CLJ-203</key>
            <summary>Add line to .gitignore for local netbeans project directory</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cemerick">Chas Emerick</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Oct 2009 21:00:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:53:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:53:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23234" author="importer" created="Tue, 24 Aug 2010 13:53:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/203&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/203&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
nbproject-ignore.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dk0z6KVAOr3OGKeJe5afGb/download/dk0z6KVAOr3OGKeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dk0z6KVAOr3OGKeJe5afGb/download/dk0z6KVAOr3OGKeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23235" author="importer" created="Tue, 24 Aug 2010 13:53:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:dk0z6KVAOr3OGKeJe5afGb&quot;&gt;file:dk0z6KVAOr3OGKeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-206] make -&gt; and -&gt;&gt; metadata-aware</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-206</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Macros &lt;tt&gt;&lt;del&gt;&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&lt;/del&gt;&amp;gt;&amp;gt;&lt;/tt&gt; are currently hard to hint because metadata aren&apos;t preserved on lists.&lt;br/&gt;
Together with #205, it would allow to write:&lt;br/&gt;
&lt;tt&gt;(-&amp;gt; #^objects dd #^doubles (aget i) (aget j))&lt;/tt&gt;&lt;br/&gt;
(instead of {{(let &lt;span class=&quot;error&quot;&gt;&amp;#91;#^doubles a (aget #^objects dd i)&amp;#93;&lt;/span&gt; (aget a j))}})&lt;/p&gt;</description>
                <environment></environment>
            <key id="13603">CLJ-206</key>
            <summary>make -&gt; and -&gt;&gt; metadata-aware</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Oct 2009 15:11:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23243" author="importer" created="Tue, 24 Aug 2010 07:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/206&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/206&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-make-and-metadata-aware.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dVsuqiWaCr3PaHeJe5afGb/download/dVsuqiWaCr3PaHeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dVsuqiWaCr3PaHeJe5afGb/download/dVsuqiWaCr3PaHeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23244" author="importer" created="Tue, 24 Aug 2010 07:55:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:dVsuqiWaCr3PaHeJe5afGb&quot;&gt;file:dVsuqiWaCr3PaHeJe5afGb&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23245" author="importer" created="Tue, 24 Aug 2010 07:55:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: Isn&apos;t it sufficient to hint inside the parens?&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;Clojure
user=&amp;gt; (set! *warn-on-reflection* &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
user=&amp;gt; (-&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt; identity .length)
Reflection warning, NO_SOURCE_PATH:2 - reference to field length can&apos;t be resolved.
3
user=&amp;gt; (-&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt; #^&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; identity .length)
3
user=&amp;gt; (-&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt; #^&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; (identity) .length)
Reflection warning, NO_SOURCE_PATH:4 - reference to field length can&apos;t be resolved.
3
user=&amp;gt; (-&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt; (#^&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; identity) .length)
3&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="23246" author="importer" created="Tue, 24 Aug 2010 07:55:00 -0500"  >&lt;p&gt;cgrand said: The first time I had to hint a -&amp;gt; form, I found that hinting inside the parens wasn&apos;t obvious. It feels more regular to me like this&lt;br/&gt;
I should maybe rework #205 to also preserve tags on the first item of the list and make both ways (inside and outside) works with inlined and interop form.&lt;/p&gt;</comment>
                    <comment id="23247" author="importer" created="Tue, 24 Aug 2010 07:55:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:749a0ad8b66c781d8176833f0ad26cfe6b9b24e3&amp;#93;&lt;/span&gt;]) make -&amp;gt; and -&amp;gt;&amp;gt; metadata-aware  Fixes #206&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-202] defmethod impl causes reflection warnings</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-202</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;...because the addMethod invocation isn&apos;t hinted.  Doesn&apos;t impact runtime perf, but does litter one&apos;s compilation output with reflection warnings.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13599">CLJ-202</key>
            <summary>defmethod impl causes reflection warnings</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cemerick">Chas Emerick</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Oct 2009 00:45:00 -0500</created>
                <updated>Tue, 24 Aug 2010 05:53:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:53:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23232" author="importer" created="Tue, 24 Aug 2010 05:53:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/202&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/202&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
defmethod-type-hint.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c_VwQqVAGr3QYWeJe5afGb/download/c_VwQqVAGr3QYWeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c_VwQqVAGr3QYWeJe5afGb/download/c_VwQqVAGr3QYWeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23233" author="importer" created="Tue, 24 Aug 2010 05:53:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:c_VwQqVAGr3QYWeJe5afGb&quot;&gt;file:c_VwQqVAGr3QYWeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-215] Deprecate ^ reader macro</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-215</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Deprecate ^ reader macro, so eventually ^ can replace #^&lt;/p&gt;</description>
                <environment></environment>
            <key id="13612">CLJ-215</key>
            <summary>Deprecate ^ reader macro</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Dec 2009 08:33:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:24:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:24:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23284" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/215&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/215&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix215-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aqtxy64eOr3Qa0eJe5afGb/download/aqtxy64eOr3Qa0eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aqtxy64eOr3Qa0eJe5afGb/download/aqtxy64eOr3Qa0eJe5afGb&lt;/a&gt;&lt;br/&gt;
fix215-2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bsUjGu4eSr3RlweJe5aVNr/download/bsUjGu4eSr3RlweJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bsUjGu4eSr3RlweJe5aVNr/download/bsUjGu4eSr3RlweJe5aVNr&lt;/a&gt;&lt;br/&gt;
fix215-3.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/buJlye4e4r3Qa0eJe5afGb/download/buJlye4e4r3Qa0eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/buJlye4e4r3Qa0eJe5afGb/download/buJlye4e4r3Qa0eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23285" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:aqtxy64eOr3Qa0eJe5afGb&quot;&gt;file:aqtxy64eOr3Qa0eJe5afGb&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23286" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: Patch fix215-1.diff prints deprecation warning whenever ^ is used and removes all uses of ^ in core.&lt;/p&gt;</comment>
                    <comment id="23287" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:bsUjGu4eSr3RlweJe5aVNr&quot;&gt;file:bsUjGu4eSr3RlweJe5aVNr&lt;/a&gt;]: Better patch&lt;/p&gt;</comment>
                    <comment id="23288" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:buJlye4e4r3Qa0eJe5afGb&quot;&gt;file:buJlye4e4r3Qa0eJe5afGb&lt;/a&gt;]: Best patch&lt;/p&gt;</comment>
                    <comment id="23289" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:20e4e45f18b8cd9833846aa8cf441ceebd98cca8&amp;#93;&lt;/span&gt;]) Remove deprecated ^ reader macro from core sources; refs #215&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23290" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:b3b1fa5081172d9931d7dffac4e12a535871cfde&amp;#93;&lt;/span&gt;]) Print deprecation warning for ^ reader macro; refs #215&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23291" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:f047dc4acc69350d3513b4e69e093690cdb92e40&amp;#93;&lt;/span&gt;]) Remove deprecated ^ reader macro from tests; fixes #215&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-216] Deprecate clojure.parallel</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-216</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;parallel.clj won&apos;t work with jdk7. Move to FJ work in par branch&lt;/p&gt;</description>
                <environment></environment>
            <key id="13613">CLJ-216</key>
            <summary>Deprecate clojure.parallel</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Dec 2009 08:34:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:24:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:24:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23292" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/216&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/216&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23293" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: Note added to doc string in patch for #217&lt;/p&gt;</comment>
                    <comment id="23294" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:76e7c4317dc3eac80c4908ac5e5fb885e302b2a4&amp;#93;&lt;/span&gt;]) Add :doc and :author metadata to core namespaces; fixes #216, fixes #217&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-204] clojure.test/thrown-with-msg? uses re-match, should use re-find</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-204</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;By the time exceptions percolate up to clojure.test, they are often decorated by additional levels of RuntimeException, thus the message being matched is usually &quot;java.lang.RuntimeException: My error message&quot;.  I end up always having to prefix my re with &quot;.*&quot;.  If I want to match the entire message, RE&apos;s allow that using ^.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13601">CLJ-204</key>
            <summary>clojure.test/thrown-with-msg? uses re-match, should use re-find</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Oct 2009 09:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:54:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:54:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23236" author="importer" created="Tue, 24 Aug 2010 04:54:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/204&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/204&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix204-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d2LE6U3Pqr3OLfeJe5aVNr/download/d2LE6U3Pqr3OLfeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d2LE6U3Pqr3OLfeJe5aVNr/download/d2LE6U3Pqr3OLfeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23237" author="importer" created="Tue, 24 Aug 2010 04:54:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:d2LE6U3Pqr3OLfeJe5aVNr&quot;&gt;file:d2LE6U3Pqr3OLfeJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23238" author="importer" created="Tue, 24 Aug 2010 04:54:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:634b3d535a13509efca07d8cbfb7f11ff2792a76&amp;#93;&lt;/span&gt;]) Use re-find (not re-matches) in thrown-with-msg?; fixes #204&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-179] (namespace (symbol &quot;/&quot;)) returns &quot;&quot; instead of nil</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-179</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;(namespace (symbol &quot;/&quot;)) returns &quot;&quot;, but&lt;br/&gt;
(namespace &apos;/) returns nil, which is the expected behaviour.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13576">CLJ-179</key>
            <summary>(namespace (symbol &quot;/&quot;)) returns &quot;&quot; instead of nil</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Aug 2009 11:48:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:17:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23135" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/179&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/179&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Fix-namespace-for-symbol.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a7PS5GKm4r3PbreJe5aVNr/download/a7PS5GKm4r3PbreJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a7PS5GKm4r3PbreJe5aVNr/download/a7PS5GKm4r3PbreJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23136" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;oranenj said: [&lt;a href=&quot;file:a7PS5GKm4r3PbreJe5aVNr&quot;&gt;file:a7PS5GKm4r3PbreJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23137" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;oranenj said: &lt;b&gt;Child&lt;/b&gt; association with ticket #180 was added&lt;/p&gt;</comment>
                    <comment id="23138" author="importer" created="Tue, 24 Aug 2010 06:17:00 -0500"  >&lt;p&gt;oranenj said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:2f3d7d336122ca4f0c3961d92bbe0d05a4ec8316&amp;#93;&lt;/span&gt;]) Fix namespace for (symbol &quot;/&quot;)&lt;/p&gt;

&lt;p&gt;Fixes #179&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-214] Deprecate add-classpath</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-214</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Deprecate add-classpath&lt;/p&gt;</description>
                <environment></environment>
            <key id="13611">CLJ-214</key>
            <summary>Deprecate add-classpath</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Dec 2009 08:32:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:24:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:24:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23281" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/214&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/214&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix214-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aNTaNW4dCr3Qa0eJe5afGb/download/aNTaNW4dCr3Qa0eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aNTaNW4dCr3Qa0eJe5afGb/download/aNTaNW4dCr3Qa0eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23282" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:aNTaNW4dCr3Qa0eJe5afGb&quot;&gt;file:aNTaNW4dCr3Qa0eJe5afGb&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23283" author="importer" created="Tue, 24 Aug 2010 05:24:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:c5abcf6751c0fed34b72eab49ec9989458651bbf&amp;#93;&lt;/span&gt;]) deprecate add-classpath in docstring, print warning; fixes #214&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-209] Unifying the array support  for primitives (part 1)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-209</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;As discussed here:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/9a276a1709a88eeb&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/9a276a1709a88eeb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simply adding X-array, Xs&lt;/p&gt;</description>
                <environment></environment>
            <key id="13606">CLJ-209</key>
            <summary>Unifying the array support  for primitives (part 1)</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="timothypratley">Timothy Pratley</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Nov 2009 21:33:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:08:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23257" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/209&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/209&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
arrays.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ab7__AZOur3RCOeJe5afGb/download/ab7__AZOur3RCOeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ab7__AZOur3RCOeJe5afGb/download/ab7__AZOur3RCOeJe5afGb&lt;/a&gt;&lt;br/&gt;
arrays.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d30jsYZOWr3QYEeJe5aVNr/download/d30jsYZOWr3QYEeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d30jsYZOWr3QYEeJe5aVNr/download/d30jsYZOWr3QYEeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23258" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:ab7__AZOur3RCOeJe5afGb&quot;&gt;file:ab7__AZOur3RCOeJe5afGb&lt;/a&gt;]: copy+paste solution&lt;/p&gt;</comment>
                    <comment id="23259" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;timothypratley said: Straightforward approach of adding boolean/byte/char/short in similar fashion to existing. I&apos;ve marked this as (part 1) as it adds the missing features but there still might be some thinking required on how to &apos;unify&apos; and/or reduce boilerplate. Happy to work on further if any suggestions.&lt;/p&gt;

&lt;p&gt;Please note, have added tests as part of patch.&lt;/p&gt;</comment>
                    <comment id="23260" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;timothypratley said: Re-assigning to you Rich as I&apos;m not sure what the process is from here.&lt;/p&gt;</comment>
                    <comment id="23261" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:d30jsYZOWr3QYEeJe5aVNr&quot;&gt;file:d30jsYZOWr3QYEeJe5aVNr&lt;/a&gt;]: added some more tests&lt;/p&gt;</comment>
                    <comment id="23262" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;chouser@n01se.net said: That last patch looks good to me.  Not much can be done to reduce boilerplate in the Java.  I suppose a private macro could be used for the repetition in Clojure, but I don&apos;t know if that&apos;s necessary.  The . forms could be switched to a more &quot;modern&quot; format, if you&apos;re looking for extra ways to clean it up.&lt;/p&gt;

&lt;p&gt;As for process, unless you want to make above changes, you&apos;re done.  Next up Rich comments on or approves the patch.&lt;/p&gt;</comment>
                    <comment id="23263" author="importer" created="Tue, 24 Aug 2010 05:08:00 -0500"  >&lt;p&gt;timothypratley said: Ok I&apos;ll add those changes&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-217] Add :doc and :author strings to all core namespaces</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-217</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="13614">CLJ-217</key>
            <summary>Add :doc and :author strings to all core namespaces</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Dec 2009 10:55:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:25:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:25:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23295" author="importer" created="Tue, 24 Aug 2010 08:25:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/217&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/217&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix217-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cP92vk4dKr3Qa0eJe5afGb/download/cP92vk4dKr3Qa0eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cP92vk4dKr3Qa0eJe5afGb/download/cP92vk4dKr3Qa0eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23296" author="importer" created="Tue, 24 Aug 2010 08:25:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:cP92vk4dKr3Qa0eJe5afGb&quot;&gt;file:cP92vk4dKr3Qa0eJe5afGb&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23297" author="importer" created="Tue, 24 Aug 2010 08:25:00 -0500"  >&lt;p&gt;stuart.sierra said: Patch fix217-1.diff also notes &quot;DEPRECATED&quot; in clojure.parallel docstring, refs #217&lt;/p&gt;</comment>
                    <comment id="23298" author="importer" created="Tue, 24 Aug 2010 08:25:00 -0500"  >&lt;p&gt;stuart.sierra said: I mean refs #216&lt;/p&gt;</comment>
                    <comment id="23299" author="importer" created="Tue, 24 Aug 2010 08:25:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:76e7c4317dc3eac80c4908ac5e5fb885e302b2a4&amp;#93;&lt;/span&gt;]) Add :doc and :author metadata to core namespaces; fixes #216, fixes #217&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-197] Field &apos;count&apos; not updated correctly for &apos;PersistentHashMap&apos;s when three hashes collide</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-197</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Originally I had  the problem that &lt;tt&gt;(count my-hashmap)&amp;lt;/code&amp;gt; was smaller than &amp;lt;code&amp;gt;(count (rest my-hashmap))&lt;/tt&gt;.&lt;br/&gt;
It turned out to be a problem with incorrect updates of the &apos;count&apos; field:&lt;/p&gt;

&lt;p&gt;&amp;lt;code&amp;gt;&lt;br/&gt;
(count (assoc clojure.lang.PersistentHashMap/EMPTY 97 0,  \a 0,  &quot;a&quot; 0))&lt;br/&gt;
&amp;lt;/code&amp;gt;&lt;/p&gt;

&lt;p&gt;A friend and I discovered this, took only 3 hours to find this minimal example &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/wink.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13594">CLJ-197</key>
            <summary>Field &apos;count&apos; not updated correctly for &apos;PersistentHashMap&apos;s when three hashes collide</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Oct 2009 15:41:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:50:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:50:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23214" author="importer" created="Tue, 24 Aug 2010 07:50:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/197&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/197&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23215" author="importer" created="Tue, 24 Aug 2010 07:50:00 -0500"  >&lt;p&gt;oranenj said: Fixed by b4095306&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-218] Deprecate old launch Classes</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-218</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Deprecate clojure.lang.Repl and clojure.lang.Script and their implementations legacy-repl and legacy-script in clojure.main.&lt;/p&gt;

&lt;p&gt;Discussed here:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/5d51d6540b08da55&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/5d51d6540b08da55&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13615">CLJ-218</key>
            <summary>Deprecate old launch Classes</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 6 Dec 2009 18:13:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:27:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:27:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23300" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/218&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/218&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix218-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d-nbCa6Far3QNNeJe5afGb/download/d-nbCa6Far3QNNeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d-nbCa6Far3QNNeJe5afGb/download/d-nbCa6Far3QNNeJe5afGb&lt;/a&gt;&lt;br/&gt;
fix218-2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cE4I0S6Zer3PcSeJe5aVNr/download/cE4I0S6Zer3PcSeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cE4I0S6Zer3PcSeJe5aVNr/download/cE4I0S6Zer3PcSeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23301" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:d-nbCa6Far3QNNeJe5afGb&quot;&gt;file:d-nbCa6Far3QNNeJe5afGb&lt;/a&gt;]: Patch&lt;/p&gt;</comment>
                    <comment id="23302" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;stuart.sierra said: Patch fix218-1 prints a deprecation warning in legacy-repl and legacy-script.&lt;/p&gt;</comment>
                    <comment id="23303" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;richhickey said: Should those warnings tell people how to call clojure.main in order to get the same effect?&lt;/p&gt;</comment>
                    <comment id="23304" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:cE4I0S6Zer3PcSeJe5aVNr&quot;&gt;file:cE4I0S6Zer3PcSeJe5aVNr&lt;/a&gt;]: Patch&lt;/p&gt;</comment>
                    <comment id="23305" author="importer" created="Tue, 24 Aug 2010 05:27:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:2cc710e7aeaab08e0739debe21e2cc6b7020e1b1&amp;#93;&lt;/span&gt;]) main.clj: deprecation warning w/ usage for legacy repl/script; refs #218&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10008">Not Approved</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-205] Preserve type hints set on inlined or interop forms</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-205</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently one can&apos;t hint forms which are expanded by the compiler (interop sugar and inlines):&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;on instance methods:&lt;br/&gt;
user=&amp;gt; (.size #^java.util.ArrayList (.clone (java.util.ArrayList.)))&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:2 - reference to field size can&apos;t be resolved.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;on static methods:&lt;br/&gt;
user=&amp;gt; (.nth #^clojure.lang.Indexed (clojure.lang.RT/conj [] 2) (int 0))&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:21 - call to nth can&apos;t be resolved.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;on instance fields:&lt;br/&gt;
user=&amp;gt; (.count #^clojure.lang.Counted (.val (clojure.lang.Box. [])))&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:23 - reference to field count can&apos;t be resolved.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;on static fields:&lt;br/&gt;
user=&amp;gt; #(.withMeta #^clojure.lang.AFn clojure.lang.RT/EMPTY_GEN nil)&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:18 - call to withMeta can&apos;t be resolved.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;on inlines;&lt;br/&gt;
user=&amp;gt; (.count #^clojure.lang.Counted (aget (into-array [[]]) 0))&lt;br/&gt;
Reflection warning, NO_SOURCE_PATH:33 - reference to field count can&apos;t be resolved.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Discussed on #clojure &lt;a href=&quot;http://clojure-log.n01se.net/date/2009-10-22.html#08:18&quot;&gt;http://clojure-log.n01se.net/date/2009-10-22.html#08:18&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13602">CLJ-205</key>
            <summary>Preserve type hints set on inlined or interop forms</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Oct 2009 00:06:00 -0500</created>
                <updated>Tue, 24 Aug 2010 05:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:55:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23239" author="importer" created="Tue, 24 Aug 2010 05:55:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/205&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/205&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Preserve-type-hints-set-on-inlined-or-interop-forms-.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aqWBuKWaqr3OFEeJe5aVNr/download/aqWBuKWaqr3OFEeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aqWBuKWaqr3OFEeJe5aVNr/download/aqWBuKWaqr3OFEeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23240" author="importer" created="Tue, 24 Aug 2010 05:55:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:aqWBuKWaqr3OFEeJe5aVNr&quot;&gt;file:aqWBuKWaqr3OFEeJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23241" author="importer" created="Tue, 24 Aug 2010 05:55:00 -0500"  >&lt;p&gt;cgrand said: I have a related patch now that this point is fixed which make -&amp;gt; and -&amp;gt;&amp;gt; preserve metadata when splicing a list. Should I open another ticket for that? see &lt;a href=&quot;http://github.com/cgrand/clojure/commit/a027636d9ef857ee80cb13190731a2801684fe9c&quot;&gt;http://github.com/cgrand/clojure/commit/a027636d9ef857ee80cb13190731a2801684fe9c&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23242" author="importer" created="Tue, 24 Aug 2010 05:55:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:4115b53938c56e282b9de9701a2db474324092bd&amp;#93;&lt;/span&gt;]) Preserve type hints set on inlined or interop forms, fixes #205&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-212] Direct linking breaks clojure.contrib.repl-ln.</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-212</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Direct linking (commit 4d08439a9cf79f34a730714f12edd5959aae126e) breaks clojure.contrib.repl-ln.&lt;/p&gt;

&lt;p&gt;To reproduce, run the following in the standard REPL:&lt;br/&gt;
  (require &apos;clojure.contrib.repl-ln) (clojure.contrib.repl-ln/repl)&lt;/p&gt;

&lt;p&gt;Expected output (obtained with commit 98366f353463afdc195b9b8fdf9d220bca7d0d6a):&lt;br/&gt;
nil&lt;br/&gt;
1:2 user=&amp;gt; &lt;/p&gt;

&lt;p&gt;Result with commit 4d08439a9cf79f34a730714f12edd5959aae126e:&lt;br/&gt;
nil&lt;br/&gt;
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;/p&gt;

&lt;p&gt;The NullPointerException happens in clojure.contrib.repl-ln/prompt-hook where (&lt;b&gt;private&lt;/b&gt; :prompt) returns nil.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13609">CLJ-212</key>
            <summary>Direct linking breaks clojure.contrib.repl-ln.</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 30 Nov 2009 01:57:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:22:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:22:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23279" author="importer" created="Tue, 24 Aug 2010 05:22:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/212&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/212&lt;/a&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-219] filter doesn&apos;t have a doc string</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-219</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;In commit cf3b547e7d8f95d6e4234881f8122bb823ff46cd (&quot;made filter chunk-aware&quot; on Jun 20, 2009), the doc string for filter was dropped.&lt;/p&gt;

&lt;p&gt;I have included a patch that adds back the original doc string. I don&apos;t know if there was a reason Rich dropped that doc string or if it was just a finger fumble.&lt;/p&gt;

&lt;p&gt;In any case, filter is a significant enough function and this is a small enough change that I recommend that we fix it for 1.1.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13616">CLJ-219</key>
            <summary>filter doesn&apos;t have a doc string</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Dec 2009 01:49:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:29:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:29:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23306" author="importer" created="Tue, 24 Aug 2010 08:29:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/219&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/219&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
filter-doc.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d4d-t848ur3OjYeJe5afGb/download/d4d-t848ur3OjYeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d4d-t848ur3OjYeJe5afGb/download/d4d-t848ur3OjYeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23307" author="importer" created="Tue, 24 Aug 2010 08:29:00 -0500"  >&lt;p&gt;tomfaulhaber said: [&lt;a href=&quot;file:d4d-t848ur3OjYeJe5afGb&quot;&gt;file:d4d-t848ur3OjYeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-220] Adding more test cases for clojure set</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-220</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Expanded the test cases to also test&lt;br/&gt;
difference&lt;br/&gt;
select&lt;br/&gt;
project&lt;br/&gt;
rename-keys&lt;br/&gt;
index&lt;br/&gt;
map-invert&lt;br/&gt;
join&lt;/p&gt;

&lt;p&gt;Attached is the patch file.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13617">CLJ-220</key>
            <summary>Adding more test cases for clojure set</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="importer">Assembla Importer</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Dec 2009 00:47:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:31:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:31:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23308" author="importer" created="Tue, 24 Aug 2010 08:31:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/220&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/220&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
add-more-test-for-set.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c7bILu5HGr3QaYeJe5afGb/download/c7bILu5HGr3QaYeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c7bILu5HGr3QaYeJe5afGb/download/c7bILu5HGr3QaYeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23309" author="importer" created="Tue, 24 Aug 2010 08:31:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Applies cleanly to master.  Adds 8 tests that all pass.&lt;/p&gt;

&lt;p&gt;Looks good to me.&lt;/p&gt;

&lt;p&gt;--Chouser&lt;/p&gt;</comment>
                    <comment id="23310" author="importer" created="Tue, 24 Aug 2010 08:31:00 -0500"  >&lt;p&gt;importer said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:caaa0f4c96ddf43b6bbe3d760f49701c3f183783&amp;#93;&lt;/span&gt;]) adding more tests for set  Fixes #220&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-222] line-seq returns element only when successive line is read</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-222</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The &lt;tt&gt;lazy-seq&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;line-seq&amp;lt;/code&amp;gt; wraps the call to &amp;lt;code&amp;gt;cons&amp;lt;/code&amp;gt; but not the &amp;lt;code&amp;gt;readLine()&lt;/tt&gt;, which delays each line of the reader from being returned until the next one is read.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/e0d6efd53187ea09&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/e0d6efd53187ea09&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13619">CLJ-222</key>
            <summary>line-seq returns element only when successive line is read</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="drewr">Drew Raines</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Dec 2009 13:58:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:34:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:34:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23315" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/222&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/222&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
issue-222-line-seq.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aR53uY6Pmr3QNNeJe5afGb/download/aR53uY6Pmr3QNNeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aR53uY6Pmr3QNNeJe5afGb/download/aR53uY6Pmr3QNNeJe5afGb&lt;/a&gt;&lt;br/&gt;
issue-222-star-seq.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aIK31O6ZKr3PcSeJe5aVNr/download/aIK31O6ZKr3PcSeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aIK31O6ZKr3PcSeJe5aVNr/download/aIK31O6ZKr3PcSeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23316" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: [&lt;a href=&quot;file:aR53uY6Pmr3QNNeJe5afGb&quot;&gt;file:aR53uY6Pmr3QNNeJe5afGb&lt;/a&gt;]: Return readLine() before lazy-seq&lt;/p&gt;</comment>
                    <comment id="23317" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: I didn&apos;t see a problem with the other &lt;tt&gt;*-seq&lt;/tt&gt; fns, but I could be wrong.&lt;/p&gt;</comment>
                    <comment id="23318" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: [&lt;a href=&quot;file:aIK31O6ZKr3PcSeJe5aVNr&quot;&gt;file:aIK31O6ZKr3PcSeJe5aVNr&lt;/a&gt;]: Patch other two *-seq fns same way&lt;/p&gt;</comment>
                    <comment id="23319" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: I added a patch which alters &lt;tt&gt;resultset-seq&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;re-seq&amp;lt;/code&amp;gt; so that they don&apos;t require a successive element to be consumed before returning current.  However, these fns now return a &amp;lt;code&amp;gt;Cons&lt;/tt&gt; as the first element.  Assuming that&apos;s not an issue, then these changes should work.&lt;/p&gt;</comment>
                    <comment id="23320" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: My apologies, &quot;return a &lt;tt&gt;Cons&amp;lt;/code&amp;gt; as the first element&quot; is not correct.  I mean that they return a &amp;lt;code&amp;gt;Cons&amp;lt;/code&amp;gt; &lt;em&gt;first&lt;/em&gt;, then &amp;lt;code&amp;gt;lazy-seq&amp;lt;/code&amp;gt;s forward.  Since a &amp;lt;code&amp;gt;Cons&lt;/tt&gt; is seqable, I&apos;m thinking it won&apos;t be an issue.&lt;/p&gt;</comment>
                    <comment id="23321" author="importer" created="Tue, 24 Aug 2010 05:34:00 -0500"  >&lt;p&gt;drewr said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:2855e34106b2cacd4614f2b7e31f1536b4b849bc&amp;#93;&lt;/span&gt;]) Move cons outside of lazy-seq for *-seq fns; fixes #222.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-229] Clean up changes.txt formatting</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-229</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;E.g., limit lines to 70 characters, normalize spacing between sections&lt;/p&gt;</description>
                <environment></environment>
            <key id="13626">CLJ-229</key>
            <summary>Clean up changes.txt formatting</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Dec 2009 08:02:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:37:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:37:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23335" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/229&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/229&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fixchanges-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/djOatA6-8r3RgSeJe5aVNr/download/djOatA6-8r3RgSeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/djOatA6-8r3RgSeJe5aVNr/download/djOatA6-8r3RgSeJe5aVNr&lt;/a&gt;&lt;br/&gt;
fixchanges-2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bc3HYG6_yr3RgSeJe5aVNr/download/bc3HYG6_yr3RgSeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bc3HYG6_yr3RgSeJe5aVNr/download/bc3HYG6_yr3RgSeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23336" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:djOatA6-8r3RgSeJe5aVNr&quot;&gt;file:djOatA6-8r3RgSeJe5aVNr&lt;/a&gt;]: Patch&lt;/p&gt;</comment>
                    <comment id="23337" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:bc3HYG6_yr3RgSeJe5aVNr&quot;&gt;file:bc3HYG6_yr3RgSeJe5aVNr&lt;/a&gt;]: Patch from 1.1.x&lt;/p&gt;</comment>
                    <comment id="23338" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#229, #227, #228)&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-210] sorted-set-by fails when given no values</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-210</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;As described here: &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/1e9c368245800695&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/1e9c368245800695&lt;/a&gt;&lt;br/&gt;
(sorted-set-by &amp;gt;) throws a null pointer exception.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13607">CLJ-210</key>
            <summary>sorted-set-by fails when given no values</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="timothypratley">Timothy Pratley</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 13 Nov 2009 03:31:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:10:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:10:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23264" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/210&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/210&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
sorted-set-by.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cCsdcIZ_Wr3QwreJe5aVNr/download/cCsdcIZ_Wr3QwreJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cCsdcIZ_Wr3QwreJe5aVNr/download/cCsdcIZ_Wr3QwreJe5aVNr&lt;/a&gt;&lt;br/&gt;
ssb2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bHx3hk2Her3QkseJe5aVNr/download/bHx3hk2Her3QkseJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bHx3hk2Her3QkseJe5aVNr/download/bHx3hk2Her3QkseJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23265" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:cCsdcIZ_Wr3QwreJe5aVNr&quot;&gt;file:cCsdcIZ_Wr3QwreJe5aVNr&lt;/a&gt;]: removed bad initializers, added tests&lt;/p&gt;</comment>
                    <comment id="23266" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;timothypratley said: public static PersistentTreeSet create(Comparator comp, Object... init)&lt;br/&gt;
was shadowing&lt;br/&gt;
public static PersistentTreeSet create(Comparator comp, List init)&lt;/p&gt;

&lt;p&gt;I can&apos;t see any reason why Object... init should be there (it is only for sorted-set-by but not needed) so I&apos;ve simply removed it and added test coverage. Please advise if this is valid or if there is any reason Object... init is useful.&lt;/p&gt;</comment>
                    <comment id="23267" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;richhickey said: FYI - please don&apos;t assign things to me - thanks&lt;/p&gt;</comment>
                    <comment id="23268" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;richhickey said: &apos;ant test&apos; fails for clojure, with:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt; ERROR in (test-sorted-set-by) (test_clojure.clj:77)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt; expected: (set? (sorted-set-by &amp;lt;))&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt;   actual: java.lang.NullPointerException: null&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt;  at clojure.lang.PersistentTreeSet.create (PersistentTreeSet.java:33)&lt;/p&gt;</comment>
                    <comment id="23269" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;timothypratley said: Hi Rich,&lt;/p&gt;

&lt;p&gt;Ok thanks.&lt;/p&gt;

&lt;p&gt;I tried from a fresh branch, for some reason &apos;ant test&apos; does not recompile the java code (which has changed very slightly to fix the bug). However if you first run &apos;ant&apos; then run &apos;ant test&apos; it works fine and all tests pass. This seems to show that the build.xml isn&apos;t finding the dependency, but that is unrelated to this patch I believe.&lt;/p&gt;

&lt;p&gt;Can you please try again with a clean build before ant test?&lt;/p&gt;


&lt;p&gt;Regards,&lt;br/&gt;
Tim.&lt;/p&gt;</comment>
                    <comment id="23270" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;richhickey said: I did ant + ant test. Just tried again, same problem. Perhaps some important change didn&apos;t make it into your patch? Please pull down master and apply your patch to it in order to reproduce/diff. Thanks.&lt;/p&gt;</comment>
                    <comment id="23271" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;timothypratley said: Short answer - I am pretty sure the next attachment will fix it!&lt;/p&gt;


&lt;p&gt;Long answer -&lt;/p&gt;

&lt;p&gt;Hmmmm very odd! I can&apos;t reproduce any error here so it must be related to my environment somehow.&lt;/p&gt;

&lt;p&gt;git clone git://github.com/richhickey/clojure.git&lt;br/&gt;
cd clojure&lt;br/&gt;
ant&lt;br/&gt;
ant test&lt;br/&gt;
    works fine.... of course&lt;br/&gt;
git am -s &amp;lt; sorted-set-by.diff&lt;br/&gt;
ant&lt;br/&gt;
     &lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt; ERROR in (test-sorted-set-by) (test_clojure.clj:77)&lt;br/&gt;
     &lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt; expected: (set? (sorted-set-by &amp;lt;))&lt;br/&gt;
     &lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt;   actual: java.lang.NullPointerException: null&lt;br/&gt;
     &lt;span class=&quot;error&quot;&gt;&amp;#91;java&amp;#93;&lt;/span&gt;  at clojure.lang.PersistentTreeSet.create (PersistentTreeSet.java:50)&lt;br/&gt;
     expected, line number 50 is different from 33, again that&apos;s expected&lt;br/&gt;
ant&lt;br/&gt;
ant test&lt;br/&gt;
    works fine for me but errors on line 33 PersistentTreeSet for you&lt;br/&gt;
PersistentTreeSet line 33:&lt;br/&gt;
 for(Object key : init)&lt;br/&gt;
    init is clearly null&lt;br/&gt;
    I added some printouts - it never gets called for me - but does for you&lt;br/&gt;
    Summary - must be shadowing again!!! Argghhhh...&lt;/p&gt;

&lt;p&gt;Uploading patch now which should resolve.&lt;/p&gt;</comment>
                    <comment id="23272" author="importer" created="Tue, 24 Aug 2010 14:10:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:bHx3hk2Her3QkseJe5aVNr&quot;&gt;file:bHx3hk2Her3QkseJe5aVNr&lt;/a&gt;]: new patch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-225] Unintentional redef of bound-fn in clojure.core</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-225</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Found an unintentional redefinition in core.clj:&lt;/p&gt;

&lt;p&gt;On line 1285:&lt;/p&gt;

&lt;p&gt;(defmacro bound-fn&lt;br/&gt;
  &quot;Returns a function defined by the given fntail, which will install the&lt;br/&gt;
  same bindings in effect as in the thread at the time bound-fn was called.&lt;br/&gt;
  This may be used to define a helper function which runs on a different&lt;br/&gt;
  thread, but needs the same bindings in place.&quot;&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;amp; fntail&amp;#93;&lt;/span&gt;&lt;br/&gt;
  `(bound-fn* (fn ~@fntail)))&lt;/p&gt;

&lt;p&gt;On line 3433:&lt;/p&gt;

&lt;p&gt;(defn bound-fn&lt;br/&gt;
  {:private true}&lt;br/&gt;
  &lt;span class=&quot;error&quot;&gt;&amp;#91;#^clojure.lang.Sorted sc test key&amp;#93;&lt;/span&gt;&lt;br/&gt;
  (fn &lt;span class=&quot;error&quot;&gt;&amp;#91;e&amp;#93;&lt;/span&gt;&lt;br/&gt;
    (test (.. sc comparator (compare (. sc entryKey e) key)) 0)))&lt;/p&gt;

&lt;p&gt;My initial guess is that the second one should be called bound?-fn as long as it&apos;s kosher to put a ? in the middle of an identifier.&lt;/p&gt;

&lt;p&gt;I can whip up a patch if a good name is agreed upon.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13622">CLJ-225</key>
            <summary>Unintentional redef of bound-fn in clojure.core</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Dec 2009 23:31:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:36:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:36:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23328" author="importer" created="Tue, 24 Aug 2010 14:36:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/225&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/225&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23329" author="importer" created="Tue, 24 Aug 2010 14:36:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:3d8c97a939e5779553c53f47696f7445cf378583&amp;#93;&lt;/span&gt;]) fix name conflict - bound-fn. fixes #225&lt;/p&gt;

&lt;p&gt;Branch: master&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-228] Note old launcher deprecation in changes.txt</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-228</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="13625">CLJ-228</key>
            <summary>Note old launcher deprecation in changes.txt</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Dec 2009 08:01:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:37:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:37:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23333" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/228&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/228&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23334" author="importer" created="Tue, 24 Aug 2010 05:37:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#229, #227, #228)&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-227] rc0: changes.txt missing deprecations of legacy entry points</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-227</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;changes.txt should mention the deprecation of clojure.lang.Repl and clojure.lang.Script&lt;/p&gt;</description>
                <environment></environment>
            <key id="13624">CLJ-227</key>
            <summary>rc0: changes.txt missing deprecations of legacy entry points</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Dec 2009 14:55:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:37:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:37:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23331" author="importer" created="Tue, 24 Aug 2010 08:37:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/227&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/227&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23332" author="importer" created="Tue, 24 Aug 2010 08:37:00 -0500"  >&lt;p&gt;richhickey said: Updating tickets (#229, #227, #228)&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-221] document :pre and :post</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-221</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://github.com/richhickey/clojure/commit/0ac482878a1dd520cbee2faa0f5f6ab1082ffa76&quot;&gt;http://github.com/richhickey/clojure/commit/0ac482878a1dd520cbee2faa0f5f6ab1082ffa76&lt;/a&gt; is only documentation.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13618">CLJ-221</key>
            <summary>document :pre and :post</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Dec 2009 10:13:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:32:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:32:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23311" author="importer" created="Tue, 24 Aug 2010 08:32:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/221&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/221&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23312" author="importer" created="Tue, 24 Aug 2010 08:32:00 -0500"  >&lt;p&gt;stuart.sierra said: Pre/Post Documentation added to &quot;Changes in 1.1&quot; document at &lt;a href=&quot;http://docs.google.com/Doc?docid=0AeEMlyQZQkUMZGhxM2hyOV8zNXBucjNmeGc1&amp;amp;hl=en&quot;&gt;http://docs.google.com/Doc?docid=0AeEMlyQZQkUMZGhxM2hyOV8zNXBucjNmeGc1&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23313" author="importer" created="Tue, 24 Aug 2010 08:32:00 -0500"  >&lt;p&gt;oranenj said: I have patches to document this in fn&apos;s docstring (it&apos;s almost the same text as in the changes document), but it feels like the wrong place for it. First of all, it applies to defn and defmacro as well of course, since they expand to fn... but that&apos;s not obvious, and it would have to be explained in defn&apos;s docstring. Secondly, think it simply makes the documentation for fn too long.&lt;/p&gt;

&lt;p&gt;So, how about adding some dummy vars for documenting &quot;general&quot; features and then just point people to them in fn/defn/defmacro/whatever?  Something like (def #^{:doc &quot;whatever&quot;} feature-function-conditions)&lt;/p&gt;

&lt;p&gt;We could also have similar dummy vars for feature-transients etc. They would stand out in the API doc, making the features easier to discover, too.&lt;/p&gt;</comment>
                    <comment id="23314" author="importer" created="Tue, 24 Aug 2010 08:32:00 -0500"  >&lt;p&gt;richhickey said: I put doc for pre/post in &lt;a href=&quot;http://clojure.org/special_forms&quot;&gt;http://clojure.org/special_forms&lt;/a&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-224] Create ZIP distribution from build</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-224</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Need a way to generate a complete clojure-{VERSION}.zip file from the Ant build.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13621">CLJ-224</key>
            <summary>Create ZIP distribution from build</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Dec 2009 03:44:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:35:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:35:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23324" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/224&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/224&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix224-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cuk2I06E8r3O4veJe5aVNr/download/cuk2I06E8r3O4veJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cuk2I06E8r3O4veJe5aVNr/download/cuk2I06E8r3O4veJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23325" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:cuk2I06E8r3O4veJe5aVNr&quot;&gt;file:cuk2I06E8r3O4veJe5aVNr&lt;/a&gt;]: Patch to build&lt;/p&gt;</comment>
                    <comment id="23326" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:0f6e9932b2770a670630862853d14feeab3b105b&amp;#93;&lt;/span&gt;]) Add &quot;dist&quot; Ant target to build distribution ZIP; refs #224&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23327" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;stuart.sierra said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:3e813629e70d7b8e0e602adf553c0f5a516aa61f&amp;#93;&lt;/span&gt;]) Add &quot;dist&quot; dir and &quot;*.zip&quot; to .gitignore for build; refs #224&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-230] More precise docstring for #&apos;delay</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-230</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Change docstring for #&apos;delay to precise deref forces delays too.&lt;br/&gt;
See &lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/d835fd49d08e48ca&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/d835fd49d08e48ca&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13627">CLJ-230</key>
            <summary>More precise docstring for #&apos;delay</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Dec 2009 20:55:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:40:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:40:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23339" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/230&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/230&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
delay-doc-230.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ctaZRO7_0r3OLweJe5aVNr/download/ctaZRO7_0r3OLweJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ctaZRO7_0r3OLweJe5aVNr/download/ctaZRO7_0r3OLweJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-change-docstring-for-delay-to-specifiy-that-deref-fo.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/coSAKicYWr34sbeJe5aVNr/download/coSAKicYWr34sbeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/coSAKicYWr34sbeJe5aVNr/download/coSAKicYWr34sbeJe5aVNr&lt;/a&gt;&lt;br/&gt;
ticket230.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ao-gBWrTqr36P7eJe5d-aX/download/ao-gBWrTqr36P7eJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ao-gBWrTqr36P7eJe5d-aX/download/ao-gBWrTqr36P7eJe5d-aX&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23340" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:ctaZRO7_0r3OLweJe5aVNr&quot;&gt;file:ctaZRO7_0r3OLweJe5aVNr&lt;/a&gt;]: patch&lt;/p&gt;</comment>
                    <comment id="23341" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;richhickey said: This doesn&apos;t look like it is in the right patch format&lt;/p&gt;</comment>
                    <comment id="23342" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:coSAKicYWr34sbeJe5aVNr&quot;&gt;file:coSAKicYWr34sbeJe5aVNr&lt;/a&gt;]: used &quot;git format-patch&quot; this time&lt;/p&gt;</comment>
                    <comment id="23343" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;richhickey said: This patch fails to apply&lt;/p&gt;</comment>
                    <comment id="23344" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:ao-gBWrTqr36P7eJe5d-aX&quot;&gt;file:ao-gBWrTqr36P7eJe5d-aX&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23345" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;cgrand said: recreated patch from a fresh checkout of Clojure&apos;s master branch&lt;/p&gt;</comment>
                    <comment id="23346" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:92e9c2d76f6b8d86789bc69496596a98d8b67228&amp;#93;&lt;/span&gt;]) change docstring for delay to specifiy that deref forces. See #230&lt;/p&gt;

&lt;p&gt;Signed-off-by: Stuart Halloway &amp;lt;stu@thinkrelevance.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="23347" author="importer" created="Tue, 24 Aug 2010 14:40:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#230, #243)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-226] Formatting fixes for doc strings</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-226</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Looking at the automatically generated API documentation, I noticed that some doc strings were running off the right margin because of very long lines. Also, remove-method had a tab in the middle of the doc string.&lt;/p&gt;

&lt;p&gt;I&apos;ve made a patch that contains only updates to the doc strings and no logic strings and recommend it for a 1.1 &quot;cleanup&quot; style fix.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13623">CLJ-226</key>
            <summary>Formatting fixes for doc strings</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="tomfaulhaber">Tom Faulhaber</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Dec 2009 19:32:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:36:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:36:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23330" author="importer" created="Tue, 24 Aug 2010 14:36:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/226&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/226&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
docstr-format.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b_3dw46ZOr3RLoeJe5afGb/download/b_3dw46ZOr3RLoeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b_3dw46ZOr3RLoeJe5afGb/download/b_3dw46ZOr3RLoeJe5afGb&lt;/a&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-232] Locals cleared too aggressively on delay</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-232</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Steve Gilardi and I noticed some strange behaviour with local clearing in conjunction with delay:&lt;/p&gt;

&lt;p&gt;    (defn do-something &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt;&lt;br/&gt;
      (throw (Exception.)))&lt;/p&gt;

&lt;p&gt;    (defn clear-locals &lt;span class=&quot;error&quot;&gt;&amp;#91;x&amp;#93;&lt;/span&gt;&lt;br/&gt;
      (delay (try (do-something x)&lt;br/&gt;
                  (catch Exception e&lt;br/&gt;
                    (println &quot;argument value:&quot; x)))))&lt;/p&gt;

&lt;p&gt;    (force (clear-locals :argument))&lt;br/&gt;
    ;; =&amp;gt; argument value: nil&lt;/p&gt;

&lt;p&gt;It seems the locals are getting cleared a little too aggressively here. I did some digging to discover that delay is a thin wrapper around an fn, but using an fn in this context (rather than a delay) does not trigger the problem. Also I found that throwing an exception directly inside the try block (rather than in a function called from the try block) did not trigger it.&lt;/p&gt;

&lt;p&gt;I was able to reproduce in the new branch, the master branch, and 1.0.0, so it&apos;s not related to the more recent locals-clearing changes.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13629">CLJ-232</key>
            <summary>Locals cleared too aggressively on delay</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Dec 2009 17:27:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:43:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:43:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23358" author="importer" created="Tue, 24 Aug 2010 05:43:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/232&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/232&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
locals.clj - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d6rA1a9ASr3RHaeJe5afGb/download/d6rA1a9ASr3RHaeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d6rA1a9ASr3RHaeJe5afGb/download/d6rA1a9ASr3RHaeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23359" author="importer" created="Tue, 24 Aug 2010 05:43:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:d6rA1a9ASr3RHaeJe5afGb&quot;&gt;file:d6rA1a9ASr3RHaeJe5afGb&lt;/a&gt;]: repro case&lt;/p&gt;</comment>
                    <comment id="23360" author="importer" created="Tue, 24 Aug 2010 05:43:00 -0500"  >&lt;p&gt;chouser@n01se.net said: &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;((let [x :foo]
     (#^{:once &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;} fn* []
       (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; (#(&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Exception.)))
         (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception e
           (println &lt;span class=&quot;code-quote&quot;&gt;&quot;x:&quot;&lt;/span&gt; x))))))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
The same problem is visible when a &lt;span class=&quot;code-keyword&quot;&gt;finally&lt;/span&gt; clause uses a closed-over:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;  ((let [x :foo]
     (#^{:once &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;} fn* []
       (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; (#(&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Exception.)))
         (&lt;span class=&quot;code-keyword&quot;&gt;finally&lt;/span&gt;
           (println &lt;span class=&quot;code-quote&quot;&gt;&quot;x:&quot;&lt;/span&gt; x))))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
Both of these print x: nil when they should print x: :foo&lt;/p&gt;

&lt;p&gt;I think the problem is that, because the last expr in a try block produces the value that will be returned, it is compiled in a &quot;return&quot; context (a.k.a. tail position), therefore the locals are cleared before calling the final function.&lt;/p&gt;

&lt;p&gt;But if that final call throws an exception, you end up in the catch clause with your locals cleared.&lt;/p&gt;

&lt;p&gt;emitClearLocals protects against this problem by using localsUsedInCatchFinally, but emitClearCloses (used only when :once is true) does not.&lt;/p&gt;

&lt;p&gt;The solution is so very far beyond me.  I guess the simplest might be to skip clearing of closed-overs that are used in catch/finally clauses, but I don&apos;t think those are currently tracked.  It looks like closeOver could be made to track these as well, but I&apos;m lost as to the relationships between the various instances in that code.&lt;/p&gt;</comment>
                    <comment id="23361" author="importer" created="Tue, 24 Aug 2010 05:43:00 -0500"  >&lt;p&gt;danlarkin said: Kevin Downey and I just stumbled on this problem again. Here&apos;s our smallest repro case:&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;(defn throwsomething [] (&lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; (Exception.)))

(defn foo [bar]
  @(delay (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;
           (throwsomething)
           (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception e
             (nil? bar)))))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

We came up with two workarounds, one is to wrap everything inside the delay in a let capturing the &lt;span class=&quot;code-quote&quot;&gt;&quot;bar&quot;&lt;/span&gt; scope, like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;:

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;
(defn foo [bar]
  @(delay (let [bar bar]
            (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;
             (throwsomething)
             (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception e
               (nil? bar))))))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

and the other is to not have the exception-throwing call in the tail position, like &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;:

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;
(defn foo [bar]
  @(delay (&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt;
           (let [t (throwsomething)]
             t)
           (&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; Exception e
             (nil? bar)))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="23362" author="importer" created="Tue, 24 Aug 2010 05:43:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:93fecbd825c26e2570f8449cd64d0df0cc520c1d&amp;#93;&lt;/span&gt;]) fold closes clearing into the path system, fixes #232&lt;/p&gt;

&lt;p&gt;Branch: master&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-231] deftype cons doesn&apos;t support maps</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-231</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The deftype IPersistentMap implementation of cons does not have the same functionality as APersistentMap.cons. The current implementation doesn&apos;t support cons&apos;ing a map.&lt;/p&gt;

&lt;p&gt;See this thread for the original report:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/d4dd1a0a1ffee6c5#&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/d4dd1a0a1ffee6c5#&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13628">CLJ-231</key>
            <summary>deftype cons doesn&apos;t support maps</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Dec 2009 18:44:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:43:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:43:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23348" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/231&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/231&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
231.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bUooUw9ymr3PgfeJe5aVNr/download/bUooUw9ymr3PgfeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bUooUw9ymr3PgfeJe5aVNr/download/bUooUw9ymr3PgfeJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-Fixes-the-deftype-ipersistentmap-implementation-of-c.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/deOmiIlsOr36cneJe5aVNr/download/deOmiIlsOr36cneJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/deOmiIlsOr36cneJe5aVNr/download/deOmiIlsOr36cneJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-Fixes-the-deftype-ipersistentmap-implementation-of-c.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a1cup-ltur34PWeJe5avMc/download/a1cup-ltur34PWeJe5avMc&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a1cup-ltur34PWeJe5avMc/download/a1cup-ltur34PWeJe5avMc&lt;/a&gt;&lt;br/&gt;
make-defrecord-cons-work.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/coEZaItWar36KFeJe5dVir/download/coEZaItWar36KFeJe5dVir&quot;&gt;https://www.assembla.com/spaces/clojure/documents/coEZaItWar36KFeJe5dVir/download/coEZaItWar36KFeJe5dVir&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23349" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;importer said: [&lt;a href=&quot;file:bUooUw9ymr3PgfeJe5aVNr&quot;&gt;file:bUooUw9ymr3PgfeJe5aVNr&lt;/a&gt;]: A patch to fix the issue&lt;/p&gt;</comment>
                    <comment id="23350" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;richhickey said: Thanks for this. Primitive ops like this need to be coded for performance though, so would need to be tighter in order to be considered.&lt;/p&gt;</comment>
                    <comment id="23351" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;richhickey said: patch does not apply - &lt;/p&gt;

&lt;p&gt;&quot;Patch does not have a valid e-mail address.&quot;&lt;/p&gt;

&lt;p&gt;did you use git format-patch?&lt;/p&gt;</comment>
                    <comment id="23352" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;importer said: [&lt;a href=&quot;file:deOmiIlsOr36cneJe5aVNr&quot;&gt;file:deOmiIlsOr36cneJe5aVNr&lt;/a&gt;]: A second attempt at the patch. This one is as fast as the original java method, and was created with git format-patch&lt;/p&gt;</comment>
                    <comment id="23353" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;importer said: Actually, ignore the second patch, there&apos;s a bug.&lt;/p&gt;</comment>
                    <comment id="23354" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;importer said: [&lt;a href=&quot;file:a1cup-ltur34PWeJe5avMc&quot;&gt;file:a1cup-ltur34PWeJe5avMc&lt;/a&gt;]: This one works, and is fast&lt;/p&gt;</comment>
                    <comment id="23355" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:coEZaItWar36KFeJe5dVir&quot;&gt;file:coEZaItWar36KFeJe5dVir&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23356" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;stu said: patch had gone stale, and had a minor defect handling nil. Apr 23 patch subsumes previous patches and adds tests.&lt;/p&gt;</comment>
                    <comment id="23357" author="importer" created="Tue, 24 Aug 2010 14:43:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#231, #313, #303, #306)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-238] Make re-pattern accept multiple arguments to concatenate them.</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-238</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;This would help concatenating multiple regular expressions. The attached patch simply converts all arguments to a string and then pass that string to re-pattern. Currently if you&apos;re trying to concatenate literal regular expressions, you&apos;re force to use the str function. It&apos;s not much extra code, but given the similarity between re-pattern and str, I thought it would be nice to have them behave the same way. e.g.:&lt;/p&gt;

&lt;p&gt;(re-pattern (apply str (map (partial format &quot;%s{%s}&quot;) &lt;span class=&quot;error&quot;&gt;&amp;#91;\a \b \c \d \e&amp;#93;&lt;/span&gt; (iterate inc 1))))&lt;br/&gt;
would become&lt;br/&gt;
(apply re-pattern (map (partial format &quot;%s{%s}&quot;) &lt;span class=&quot;error&quot;&gt;&amp;#91;\a \b \c \d \e&amp;#93;&lt;/span&gt; (iterate inc 1)))&lt;/p&gt;

&lt;p&gt;It only save one call to str, so it might not warrant the extra code in the end.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13635">CLJ-238</key>
            <summary>Make re-pattern accept multiple arguments to concatenate them.</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="budu">Nicolas Buduroi</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Jan 2010 13:09:00 -0600</created>
                <updated>Fri, 7 Oct 2011 07:51:41 -0500</updated>
                    <resolved>Fri, 7 Oct 2011 07:51:41 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23378" author="importer" created="Tue, 28 Sep 2010 07:06:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/238&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/238&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Changed-re-pattern-to-accept-multiple-arguments-to-c.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/barzR2-Jyr3OGheJe5aVNr/download/barzR2-Jyr3OGheJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/barzR2-Jyr3OGheJe5aVNr/download/barzR2-Jyr3OGheJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23379" author="importer" created="Tue, 28 Sep 2010 07:06:00 -0500"  >&lt;p&gt;richhickey said: Could you please put an example of what the enhancement would let you do, in the description? Thanks.&lt;/p&gt;</comment>
                    <comment id="23380" author="importer" created="Tue, 28 Sep 2010 07:06:00 -0500"  >&lt;p&gt;richhickey said: I don&apos;t see the need for this&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10013">Test</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-245] Unnamed fns should have no binding of name</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-245</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently a binding is created for a generated name&lt;/p&gt;</description>
                <environment></environment>
            <key id="13642">CLJ-245</key>
            <summary>Unnamed fns should have no binding of name</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Jan 2010 22:30:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:52:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23398" author="importer" created="Tue, 24 Aug 2010 15:52:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/245&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/245&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23399" author="importer" created="Tue, 24 Aug 2010 15:52:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #94 was added&lt;/p&gt;</comment>
                    <comment id="23400" author="importer" created="Tue, 24 Aug 2010 15:52:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #94 was removed&lt;/p&gt;</comment>
                    <comment id="23401" author="importer" created="Tue, 24 Aug 2010 15:52:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:e6a315bd3d514c6af10d2e7a853b693aa5f4520d&amp;#93;&lt;/span&gt;]) Unnamed fns should have no binding of name - fixes #245&lt;/p&gt;

&lt;p&gt;Branch: master&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-242] Support implicit macro args for form and locals</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-242</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Inside the body of a defmacro expander, &amp;amp;whole will refer to the original macro invocation form (thus allowing recovery and use of metadata on that form by the expander itself). &amp;amp;env will refer to a map of symbols to TBD, such symbols representing the locals in scope. This will break code that depends on defmacro creating a fn with exactly the same signature.&lt;/p&gt;

&lt;p&gt;Possible alternate names: &amp;amp;locals, &amp;amp;form&lt;/p&gt;</description>
                <environment></environment>
            <key id="13639">CLJ-242</key>
            <summary>Support implicit macro args for form and locals</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 09:27:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23389" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/242&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/242&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23390" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;richhickey said: names are &amp;amp;form and &amp;amp;env&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-239] Tests for types and protocols, round 2</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-239</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="13636">CLJ-239</key>
            <summary>Tests for types and protocols, round 2</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 06:19:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23381" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/239&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/239&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
239-more-tests-for-types.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c3AD6Av6ur36EQeJe5cbCb/download/c3AD6Av6ur36EQeJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c3AD6Av6ur36EQeJe5cbCb/download/c3AD6Av6ur36EQeJe5cbCb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23382" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;mikehinchey said: I started writing some tests, but haven&apos;t gotten any feedback.  Let me know if this is worthwhile.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/68075dbbe48cca4d&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/68075dbbe48cca4d&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mikehinchey/clojure/commit/242d477423ef4df21b0f70e2a19a9ef68ea2b5df&quot;&gt;http://github.com/mikehinchey/clojure/commit/242d477423ef4df21b0f70e2a19a9ef68ea2b5df&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23383" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;stu said: Mike, &lt;/p&gt;

&lt;p&gt;Can you attach a patch that includes just the redef-protocol test and the compiler fix?&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                    <comment id="23384" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:c3AD6Av6ur36EQeJe5cbCb&quot;&gt;file:c3AD6Av6ur36EQeJe5cbCb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23385" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;stu said: I have opened a new ticket (#333) for the bug Mike found. &lt;/p&gt;

&lt;p&gt;My patch includes tests and a fix for a NPE when misusing extend.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-223] Maven build produces empty JAR</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-223</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently, &quot;ant&quot; generates a valid pom.xml. but &quot;mvn install&quot; doesn&apos;t work &amp;#8211; the target JAR is empty.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13620">CLJ-223</key>
            <summary>Maven build produces empty JAR</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Dec 2009 21:27:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:34:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:34:00 -0500</resolved>
                                            <fixVersion>Release 1.1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23322" author="importer" created="Tue, 24 Aug 2010 14:34:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/223&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/223&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23323" author="importer" created="Tue, 24 Aug 2010 14:34:00 -0500"  >&lt;p&gt;stuart.sierra said: The Ant build script defines a &quot;ci-build&quot; target that can take the place of &quot;mvn install&quot;.&lt;/p&gt;

&lt;p&gt;To use it, you need to download the Maven Ant Tasks jar from &lt;a href=&quot;http://maven.apache.org/ant-tasks/&quot;&gt;http://maven.apache.org/ant-tasks/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then run Ant 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;ant -lib maven-ant-tasks-2.1.0.jar ci-build&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is an acceptable alternative to a build that works with &quot;mvn install&quot;, in my opinion.&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-241] Tests for reify</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-241</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;subsumed by #239 and #240&lt;/p&gt;</description>
                <environment></environment>
            <key id="13638">CLJ-241</key>
            <summary>Tests for reify</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 16:19:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23388" author="importer" created="Tue, 24 Aug 2010 15:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/241&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/241&lt;/a&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-243] Add bound? and thread-bound? predicates</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-243</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Discussed in #clojure here: &lt;a href=&quot;http://clojure-log.n01se.net/date/2010-01-12.html#i96&quot;&gt;http://clojure-log.n01se.net/date/2010-01-12.html#i96&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wraps Var.isBound and the truthiness of Var.getThreadBinding; the latter particularly handy for knowing whether or not set! will fail or not.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13640">CLJ-243</key>
            <summary>Add bound? and thread-bound? predicates</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 16:15:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23391" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/243&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/243&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
boundthread-bound.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cIZ_rS_78r3QKheJe5afGb/download/cIZ_rS_78r3QKheJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cIZ_rS_78r3QKheJe5afGb/download/cIZ_rS_78r3QKheJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23392" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;oranenj said: Shouldn&apos;t tickets with patches be marked as &quot;test&quot;? Anyway, I tried this, and it applies cleanly and appears to work.&lt;/p&gt;</comment>
                    <comment id="23393" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;cemerick said: Yep, that&apos;s my bad.  Thanks, Jarkko.&lt;/p&gt;</comment>
                    <comment id="23394" author="importer" created="Tue, 24 Aug 2010 07:51:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#230, #243)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-240] Tests for protocols and types, round 1</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-240</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;I have included a patch with my original tests (pre deftype/defrecord split) plus a final patch to get things passing with the latest greatest.&lt;/p&gt;

&lt;p&gt;The final commit is worth looking at. The reduced dynamism of deftype is visible, in that I used to be able to redefine a type multiple times in a series of tests, and am now relying on per-test named types. I think this tradeoff is worth it for unification with the host type system. But a bigger issue occurs when working at the REPL: you can reload types, but not refer to the reloaded ones.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13637">CLJ-240</key>
            <summary>Tests for protocols and types, round 1</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 06:19:00 -0600</created>
                <updated>Tue, 24 Aug 2010 05:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 05:51:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23386" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/240&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/240&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
initial-tests-for-protocols-and-types.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5lA0usxGr37xPeJe5d-aX/download/c5lA0usxGr37xPeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5lA0usxGr37xPeJe5d-aX/download/c5lA0usxGr37xPeJe5d-aX&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23387" author="importer" created="Tue, 24 Aug 2010 05:51:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:c5lA0usxGr37xPeJe5d-aX&quot;&gt;file:c5lA0usxGr37xPeJe5d-aX&lt;/a&gt;]&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-249] Add &quot;starting at &lt;line&gt;&quot; to EOF while reading exceptions</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-249</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Extend some EOF exceptions during read so they look like this:&lt;/p&gt;

&lt;p&gt; java.lang.Exception: EOF while reading, starting at line 7 (bad.clj:15)&lt;/p&gt;

&lt;p&gt;So while bad.clj:15 indicates the file name and the fact that&lt;br/&gt;
line 15 is the last one of the file, &quot;starting at line 7&quot; points&lt;br/&gt;
out the line where the unclosed grouping construct started. &lt;/p&gt;

&lt;p&gt;Discussed: &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/872c5b2ee7af19fe&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/872c5b2ee7af19fe&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13646">CLJ-249</key>
            <summary>Add &quot;starting at &lt;line&gt;&quot; to EOF while reading exceptions</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="chouser@n01se.net">Chouser</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 27 Jan 2010 10:48:00 -0600</created>
                <updated>Sat, 2 Oct 2010 00:48:00 -0500</updated>
                    <resolved>Sat, 2 Oct 2010 00:48:00 -0500</resolved>
                                            <fixVersion>Release 1.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23415" author="importer" created="Sat, 2 Oct 2010 00:48:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/249&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/249&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Add-starting-at-line-to-readDelimitedList-EOF-er.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cw16NCc3qr34N6eJe5afGb/download/cw16NCc3qr34N6eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cw16NCc3qr34N6eJe5afGb/download/cw16NCc3qr34N6eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23416" author="importer" created="Sat, 2 Oct 2010 00:48:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:a5c2c36cd7f8ddbae68a5071ae7a3d9373b02a01&amp;#93;&lt;/span&gt;]) Add &quot;starting at &amp;lt;line&amp;gt;&quot; to readDelimitedList EOF errors&lt;/p&gt;

&lt;p&gt;Refs #249&lt;br/&gt;
Signed-off-by: Chouser &amp;lt;chouser@n01se.net&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-246] direct binding inhibits clojure.test functionality</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-246</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;clojure.test offers features that rely on binding functions from its namespace.  With the way direct binding is implemented now, this is impossible, since any namespaces beginning with &quot;clojure&quot; are directly bound.  This also has a (probably) unintended of direct binding namespaces that just &lt;em&gt;start with&lt;/em&gt; &quot;clojure&quot;, like &quot;clojuresque&quot; and &quot;clojure-http-client.&quot;&lt;/p&gt;

&lt;p&gt;I propose that direct binding use a whitelist, instead of direct binding anything that starts with &quot;clojure.&quot;&lt;/p&gt;

&lt;p&gt;An ever better solution, though, would be to use namespace metadata to turn off/on direct binding.  That way user code could turn on direct binding in hotspots.  Unfortunately, there&apos;s an open bug (#130) which causes AOT compilation to erase namespace metadata, so until that&apos;s closed I would prefer the whitelist option.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13643">CLJ-246</key>
            <summary>direct binding inhibits clojure.test functionality</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="technomancy">Phil Hagelberg</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jan 2010 02:35:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:53:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:53:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23402" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/246&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/246&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Don-t-let-clojure.test-test-var-be-dynamically-bound.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/awOFYMhm8r3498eJe5afGb/download/awOFYMhm8r3498eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/awOFYMhm8r3498eJe5afGb/download/awOFYMhm8r3498eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23403" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;technomancy said: Rich indicated in IRC that he would like to offer more flexibility for when direct binding should be applied, (possibly using ns metadata as suggested above) but wants to leave it as-is for now in order to flush out issues with direct binding.&lt;/p&gt;

&lt;p&gt;The workaround is to redefine the var in question with {:dynamic true} metadata.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;http://clojure-log.n01se.net/date/2010-01-14.html#i117&quot;&gt;http://clojure-log.n01se.net/date/2010-01-14.html#i117&lt;/a&gt; for a record of the conversation.&lt;/p&gt;</comment>
                    <comment id="23404" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;technomancy said: &lt;b&gt;Related&lt;/b&gt; association with ticket #271 was added&lt;/p&gt;</comment>
                    <comment id="23405" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:awOFYMhm8r3498eJe5afGb&quot;&gt;file:awOFYMhm8r3498eJe5afGb&lt;/a&gt;]: patch for dynamic test-var&lt;/p&gt;</comment>
                    <comment id="23406" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;technomancy said: Until we have a more fine-grained way of switching on and off direct binding, it would be very useful in some contexts to be able to rebind test-var.&lt;/p&gt;</comment>
                    <comment id="23407" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;stuart.sierra said: For a better long-term solution to this specific problem, I&apos;m working on a complete rewrite of clojure.test that doesn&apos;t depend on any dynamic binding.  Intermediate work here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/stuartsierra/lazytest&quot;&gt;http://github.com/stuartsierra/lazytest&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23408" author="importer" created="Tue, 24 Aug 2010 15:53:00 -0500"  >&lt;p&gt;technomancy said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:9694a92d84ddffb6794fa97efd429b5e23285553&amp;#93;&lt;/span&gt;]) Don&apos;t let clojure.test/test-var be dynamically bound. Fixes #246.&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&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-253] Improve errors for &quot;use&quot;/&quot;require&quot; in REPL</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-253</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;in the repl when i (use &apos;foo) vs. (use :foo) they both return nil, so it doesn&apos;t help me know that the former is right and the latter isn&apos;t. would it be sensible for use to return true or something more positive than nil if it successfully brings in a namespace? or print out an error message when symbols are used?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13650">CLJ-253</key>
            <summary>Improve errors for &quot;use&quot;/&quot;require&quot; in REPL</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="timothypratley">Timothy Pratley</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Jan 2010 11:17:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:07:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:07:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23420" author="importer" created="Tue, 24 Aug 2010 06:07:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/253&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/253&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
load.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bKJkksdv8r34IaeJe5afGb/download/bKJkksdv8r34IaeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bKJkksdv8r34IaeJe5afGb/download/bKJkksdv8r34IaeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23421" author="importer" created="Tue, 24 Aug 2010 06:07:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:bKJkksdv8r34IaeJe5afGb&quot;&gt;file:bKJkksdv8r34IaeJe5afGb&lt;/a&gt;]: check for a valid argument&lt;/p&gt;</comment>
                    <comment id="23422" author="importer" created="Tue, 24 Aug 2010 06:07:00 -0500"  >&lt;p&gt;timothypratley said: Please note, patch throws an exception if nothing specified to load,&lt;br/&gt;
in the use case, :foo is a keyword not a valid load target.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-260] Cannot load clojure classes from Jar files outside classpath using URLClassLoader</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-260</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;It is not possible to use URLClassLoader to load a class from a jar file if the jar is outside the classpath. It seems that RT.load tries to search for *.clj file within the classpath and doesn&apos;t respect the URLClassLoader and then fails with:&lt;/p&gt;

&lt;p&gt;Exception in thread &quot;main&quot; java.lang.ExceptionInInitializerError&lt;br/&gt;
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;br/&gt;
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)&lt;br/&gt;
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)&lt;br/&gt;
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)&lt;br/&gt;
        at java.lang.Class.newInstance0(Class.java:355)&lt;br/&gt;
        at java.lang.Class.newInstance(Class.java:308)&lt;br/&gt;
        at Loader.main(Loader.java:17)&lt;br/&gt;
Caused by: java.io.FileNotFoundException: Could not locate net/experimentalworks/Foo__init.class or net/experimentalworks/Foo.clj on classpath: &lt;br/&gt;
        at clojure.lang.RT.load(RT.java:402)&lt;br/&gt;
        at clojure.lang.RT.load(RT.java:371)&lt;br/&gt;
        at clojure.core$load_&lt;em&gt;6449$fn&lt;/em&gt;_6458.invoke(core.clj:4171)&lt;br/&gt;
        at clojure.core$load__6449.doInvoke(core.clj:4170)&lt;br/&gt;
        at clojure.lang.RestFn.invoke(RestFn.java:413)&lt;br/&gt;
        at clojure.lang.Var.invoke(Var.java:359)&lt;br/&gt;
        at net.experimentalworks.Foo.&amp;lt;clinit&amp;gt;(Unknown Source)&lt;br/&gt;
        ... 7 more&lt;/p&gt;

&lt;p&gt;The attached .tar.gz contains a sample jar file and the clojure file that was used to generate the class files as well as the sample loader. Java oder Scala written classes can be loaded without any problems. For sure the I put the clojure runtime into the classpath but not the loadme-clojure.jar&lt;/p&gt;</description>
                <environment></environment>
            <key id="13657">CLJ-260</key>
            <summary>Cannot load clojure classes from Jar files outside classpath using URLClassLoader</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 9 Feb 2010 19:08:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:18:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:18:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23452" author="importer" created="Tue, 24 Aug 2010 15:18:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/260&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/260&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
loader.tar.gz - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ayyZTifAyr34QPeJe5aVNr/download/ayyZTifAyr34QPeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ayyZTifAyr34QPeJe5aVNr/download/ayyZTifAyr34QPeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23453" author="importer" created="Tue, 24 Aug 2010 15:18:00 -0500"  >&lt;p&gt;stu said: Clojure&apos;s base loader uses the thread context loader so long as &lt;b&gt;use-context-classloader&lt;/b&gt; is true (the default). Make sure context class loader is set, and then set the thread context class loader to be the loader you have created by calling:&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-object&quot;&gt;Thread&lt;/span&gt;.currentThread().setContextClassLoader(loader);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Do this before using the loader to load classes.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br/&gt;
Stu&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-251] macroexpand should respect :inline</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-251</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;macroexpand and macroexpand-1 currently do not respect the :inline metadata of&lt;br/&gt;
functions.  For example you currently see:&lt;/p&gt;

&lt;p&gt; (macroexpand &apos;(+ 1 2))&lt;br/&gt;
 ;=&amp;gt; (+ 1 2)&lt;/p&gt;

&lt;p&gt;Instead, macroexpand should return something like:&lt;/p&gt;

&lt;p&gt; ;=&amp;gt; (. clojure.lang.Numbers (add 1 2))&lt;/p&gt;

&lt;p&gt;...depending of course on the exact definition of +&apos;s :inline fn.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13648">CLJ-251</key>
            <summary>macroexpand should respect :inline</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Jan 2010 10:14:00 -0600</created>
                <updated>Fri, 7 Oct 2011 07:47:38 -0500</updated>
                    <resolved>Fri, 7 Oct 2011 07:47:38 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23418" author="importer" created="Tue, 24 Aug 2010 06:06:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/251&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/251&lt;/a&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-262] (resolve &apos;FooBar.) should return nil</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-262</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently, (resolve &apos;FooBar.) throws a ClassNotFoundException it should return nil.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13659">CLJ-262</key>
            <summary>(resolve &apos;FooBar.) should return nil</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="cgrand">Christophe Grand</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Feb 2010 06:53:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:19:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:19:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23456" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/262&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/262&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-make-resolve-clojure.lang.Compiler-maybeResolveIn-to.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aPbyDofLur34eteJe5aVNr/download/aPbyDofLur34eteJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aPbyDofLur34eteJe5aVNr/download/aPbyDofLur34eteJe5aVNr&lt;/a&gt;&lt;br/&gt;
test-for-assembla-262.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aQu81Cr8er348xeJe5d-aX/download/aQu81Cr8er348xeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aQu81Cr8er348xeJe5d-aX/download/aQu81Cr8er348xeJe5d-aX&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23457" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;cgrand said: [&lt;a href=&quot;file:aPbyDofLur34eteJe5aVNr&quot;&gt;file:aPbyDofLur34eteJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23458" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;stu said: [&lt;a href=&quot;file:aQu81Cr8er348xeJe5d-aX&quot;&gt;file:aQu81Cr8er348xeJe5d-aX&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23459" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;stu said: code patch works, added test patch&lt;/p&gt;</comment>
                    <comment id="23460" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#247, #262, #275)&lt;/p&gt;</comment>
                    <comment id="23461" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;cgrand said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:6847019915f2d3a7708e3c810cc68926e35e1a7e&amp;#93;&lt;/span&gt;]) make resolve (clojure.lang.Compiler/maybeResolveIn) to return nil for &apos;MyClass. See #262&lt;/p&gt;

&lt;p&gt;Signed-off-by: Stuart Halloway &amp;lt;stu@thinkrelevance.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-261] Use Ant instead of Maven for Clojure-Contrib</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-261</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;It would be nice if we could go back to Ant for building the clojure-contrib.  At this time, it appears to be downloading many different packages that are not a part of the Clojure-Contrib source but Maven dependencies.  Furthermore, it would be consistent with the way that we currently build Clojure.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13658">CLJ-261</key>
            <summary>Use Ant instead of Maven for Clojure-Contrib</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Feb 2010 00:00:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:19:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:19:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23454" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/261&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/261&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23455" author="importer" created="Tue, 24 Aug 2010 06:19:00 -0500"  >&lt;p&gt;technomancy said: Regardless of whether this is a valid point, it should be opened on the Contrib project rather than Clojure.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.assembla.com/spaces/clojure-contrib/tickets&quot;&gt;http://www.assembla.com/spaces/clojure-contrib/tickets&lt;/a&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-255] add denominator and numerator fns for Ratio</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-255</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;currently the only way to get the denominator or numerator is via the exposed fields of the Ratio class.&lt;/p&gt;

&lt;p&gt;On Thu, Jan 21, 2010 at 7:57 AM, Jacek Generowicz&lt;br/&gt;
&amp;lt;jacek.generowicz@googlemail.com&amp;gt; wrote:&lt;br/&gt;
&amp;gt; Clojure has a Ratio type; presumably there should be an easy way to&lt;br/&gt;
&amp;gt; find the numerator and denominator of a Ratio object.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; I didn&apos;t have much luck on clojure.org or with find-doc, but&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;    (show 1/2)&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; taught me that there are numerator and denominator methods on Ratio&apos;s&lt;br/&gt;
&amp;gt; underlying Java implementation, so I can now do:&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;    (.numerator 1/2)     ; =&amp;gt; 1&lt;br/&gt;
&amp;gt;    (.denominator 1/2) ; =&amp;gt; 2&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; Is there a more direct way? (Not that this is bad! But you can&apos;t&lt;br/&gt;
&amp;gt; use .numerator as a first-order function (though #(.numerator %) is&lt;br/&gt;
&amp;gt; still pretty damn good).)&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; In general, do you have any hints on how to go about looking for&lt;br/&gt;
&amp;gt; useful Clojure functions which work with certain Clojure types ?&lt;br/&gt;
&amp;gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13652">CLJ-255</key>
            <summary>add denominator and numerator fns for Ratio</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="hiredman">Kevin Downey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Jan 2010 00:08:00 -0600</created>
                <updated>Tue, 28 Sep 2010 07:07:00 -0500</updated>
                    <resolved>Tue, 28 Sep 2010 07:07:00 -0500</resolved>
                                            <fixVersion>Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23427" author="importer" created="Tue, 28 Sep 2010 07:07:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/255&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/255&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
ratio-fns.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cyO2hUdrir3749eJe5aVNr/download/cyO2hUdrir3749eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cyO2hUdrir3749eJe5aVNr/download/cyO2hUdrir3749eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23428" author="importer" created="Tue, 28 Sep 2010 07:07:00 -0500"  >&lt;p&gt;hiredman said: [&lt;a href=&quot;file:cyO2hUdrir3749eJe5aVNr&quot;&gt;file:cyO2hUdrir3749eJe5aVNr&lt;/a&gt;]: add denominator and numerator fns&lt;/p&gt;</comment>
                    <comment id="23429" author="importer" created="Tue, 28 Sep 2010 07:07:00 -0500"  >&lt;p&gt;hiredman said: &lt;b&gt;Duplicated&lt;/b&gt; association with ticket #254 was added&lt;/p&gt;</comment>
                    <comment id="23430" author="importer" created="Tue, 28 Sep 2010 07:07:00 -0500"  >&lt;p&gt;hiredman said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:5772be9fc5ac9ddf92b727908c20b9aab971224a&amp;#93;&lt;/span&gt;]) numerator and denominator fns for Ratios, refs #255&lt;/p&gt;

&lt;p&gt;Signed-off-by: Rich Hickey &amp;lt;richhickey@gmail.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&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-258] can&apos;t recur from case special form</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-258</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;the &apos;case&apos; special form doesnt&apos;t propagate tailcontext.&lt;br/&gt;
eg.&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;; SLIME 2010-02-01
user&amp;gt; (loop [foo &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt;]
        (&lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; foo
          &lt;span class=&quot;code-quote&quot;&gt;&quot;foo&quot;&lt;/span&gt; (recur &apos;bar)
          &apos;bar (recur :baz)
          :done (&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; (println &lt;span class=&quot;code-quote&quot;&gt;&quot;hello&quot;&lt;/span&gt;))
          (recur :done)))
; Evaluation aborted.

Can only recur from tail position
  [Thrown class java.lang.UnsupportedOperationException]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;This can be easily fixed by making&lt;br/&gt;
Compiler.CaseExpr#emit() and Compiler.CaseExpr.Parser#parse() propagate their context instead stetting the context to C.EXPRESSION.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13655">CLJ-258</key>
            <summary>can&apos;t recur from case special form</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="richhickey">Rich Hickey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 3 Feb 2010 23:17:00 -0600</created>
                <updated>Tue, 24 Aug 2010 17:12:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 17:12:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23447" author="importer" created="Tue, 24 Aug 2010 17:12:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/258&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/258&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23448" author="importer" created="Tue, 24 Aug 2010 17:12:00 -0500"  >&lt;p&gt;richhickey said: (In [&lt;span class=&quot;error&quot;&gt;&amp;#91;r:c1ca66b7a171bcd2157e679799f37ba7a37bff36&amp;#93;&lt;/span&gt;]) analyze case exprs in context, fixes #258&lt;/p&gt;

&lt;p&gt;Branch: master&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-264] Complete interface impls for generic vector</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-264</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Vec needs several more interface implementations in order to be as complete as persistentvector.&lt;br/&gt;
See subtasks&lt;/p&gt;</description>
                <environment></environment>
            <key id="13661">CLJ-264</key>
            <summary>Complete interface impls for generic vector</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 12 Feb 2010 05:22:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:22:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:22:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23468" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/264&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/264&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23469" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #265 was added&lt;/p&gt;</comment>
                    <comment id="23470" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #266 was added&lt;/p&gt;</comment>
                    <comment id="23471" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #267 was added&lt;/p&gt;</comment>
                    <comment id="23472" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #268 was added&lt;/p&gt;</comment>
                    <comment id="23473" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Child&lt;/b&gt; association with ticket #269 was added&lt;/p&gt;</comment>
                    <comment id="23474" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#316, #264)&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-266] Add Comparable support to Vec</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-266</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description></description>
                <environment></environment>
            <key id="13663">CLJ-266</key>
            <summary>Add Comparable support to Vec</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="dsg">Daniel Solano G&#243;mez</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 12 Feb 2010 05:23:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:22:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:22:00 -0500</resolved>
                                            <fixVersion>Release 1.2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23480" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/266&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/266&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
fix266.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aUPsnCrXyr36i1eJe5avMc/download/aUPsnCrXyr36i1eJe5avMc&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aUPsnCrXyr36i1eJe5avMc/download/aUPsnCrXyr36i1eJe5avMc&lt;/a&gt;&lt;br/&gt;
add_comparable_support_to_vec.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bt20JetxCr36GpeJe5d-aX/download/bt20JetxCr36GpeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bt20JetxCr36GpeJe5d-aX/download/bt20JetxCr36GpeJe5d-aX&lt;/a&gt;&lt;br/&gt;
add_comparable_support_to_vec-revised.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c2n-HUtXWr34oReJe5dVir/download/c2n-HUtXWr34oReJe5dVir&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c2n-HUtXWr34oReJe5dVir/download/c2n-HUtXWr34oReJe5dVir&lt;/a&gt;&lt;br/&gt;
eliminate-reflection-in-266.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d_AO6it8Sr37m4eJe5dVir/download/d_AO6it8Sr37m4eJe5dVir&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d_AO6it8Sr37m4eJe5dVir/download/d_AO6it8Sr37m4eJe5dVir&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23481" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;richhickey said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #264 was added&lt;/p&gt;</comment>
                    <comment id="23482" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: This is my first attempt at submitting a real patch to Clojure, so I appreciate any feedback.  This patch actually does a few different things, specifically:&lt;/p&gt;

&lt;p&gt;1. Add java.lang.Comparable interface for Vec.&lt;br/&gt;
2. Modify vector-of to be a little more user-friendly.  The original only creates empty Vecs.  My patch allows vector-of to take arguments similar to vector and vec.  Importantly, it also takes a primitive array as an argument.  The implementation may not be the most efficient, but it seems to work.&lt;br/&gt;
3. I added a bunch of tests to ensure that vector-of mirrors the behaviour of standard vectors.  In doing so, I ran into a few bugs that led me to implement the Associative interface for Vec and IPersistentCollection to VecSeq.&lt;/p&gt;

&lt;p&gt;It is still probably a good idea to add more tests.&lt;/p&gt;</comment>
                    <comment id="23483" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: [&lt;a href=&quot;file:aUPsnCrXyr36i1eJe5avMc&quot;&gt;file:aUPsnCrXyr36i1eJe5avMc&lt;/a&gt;]: Patch to fix #266&lt;/p&gt;</comment>
                    <comment id="23484" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;stu said: Hi Daniel, &lt;/p&gt;

&lt;p&gt;Thanks for jumping on this. I am reviewing the patch, and have hit one issue so far. It&apos;s a subtle one:&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;(let [foo (into (vector-of :&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;) [1 2 3 4])]
  (println &lt;span class=&quot;code-quote&quot;&gt;&quot;count: &quot;&lt;/span&gt;(count (seq (next foo))))
  (println &lt;span class=&quot;code-quote&quot;&gt;&quot;.count: &quot;&lt;/span&gt; (.count (seq (next foo)))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your count isn&apos;t taking account of the offset in the VecSeq. This is hidden by a weakness in Clojure&apos;s count fn: it doesn&apos;t know when part of a seq is counted to take advantage of that, so you can&apos;t even see the issue by calling count!&lt;/p&gt;

&lt;p&gt;This makes me think we need to test every Java interface method directly. &lt;img class=&quot;emoticon&quot; src=&quot;http://dev.clojure.org/jira/images/icons/emoticons/sad.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    <comment id="23485" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: &lt;b&gt;Parent&lt;/b&gt; association with ticket #297 was added&lt;/p&gt;</comment>
                    <comment id="23486" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: [&lt;a href=&quot;file:bt20JetxCr36GpeJe5d-aX&quot;&gt;file:bt20JetxCr36GpeJe5d-aX&lt;/a&gt;]: Adds Comparable support to Vec, with tests.&lt;/p&gt;</comment>
                    <comment id="23487" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: New patch for Comparable support.  I&apos;ll move the other fixes/features to other bugs.  This new patch (dated 21 Apr), also includes tests specifically for Comparable.&lt;/p&gt;</comment>
                    <comment id="23488" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;stu said: Hi Daniel,&lt;/p&gt;

&lt;p&gt;This looks great. One tweak: it is not idiomatic (in Clojure at least) to do the type check. All the other Comparable types in Clojure simply throw a ClassCastException when you pass a bad arg to .compareTo.&lt;/p&gt;

&lt;p&gt;If you convert that check to a Clojure (cast ...) and update the tests, I think we&apos;re good to go.&lt;/p&gt;

&lt;p&gt;(I can also make this change, but I want to let the whole thing go in under your name.)&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br/&gt;
Stu&lt;/p&gt;</comment>
                    <comment id="23489" author="importer" created="Tue, 24 Aug 2010 06:22:00 -0500"  >&lt;p&gt;dsg said: Hello, Stu,&lt;/p&gt;

&lt;p&gt;Thanks for the feedback.  I&apos;ll make your suggested changes and open those other tickets tomorrow.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;/p&gt;

&lt;p&gt;Daniel Solano G&#65533;&#65533;mez&lt;/p&gt;</comment>
                    <comment id="23490" au