<!--
RSS generated by JIRA (4.4#649-r158309) at Tue May 21 22:46:53 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+CONTRIB+AND+status+%3D+Closed+ORDER+BY+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+CONTRIB+AND+status+%3D+Closed+ORDER+BY+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="82" total="82"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[CONTRIB-4] Purge removed libraries from load_all.clj</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-4</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;(load &quot;clojure/contrib/load_all&quot;) has not worked since the penultimate commit to clojure-contrib, as libraries are being moved to core. &lt;b&gt;all-contrib-libs&lt;/b&gt; needs to be adjusted to match the new set of libraries.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14164">CONTRIB-4</key>
            <summary>Purge removed libraries from load_all.clj</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, 1 Jul 2009 20:53:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:51:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25504" author="importer" created="Tue, 24 Aug 2010 13:51: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;br/&gt;
Attachments:&lt;br/&gt;
load_all.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c6XnLWzMGr3QkbeJe5aVNr/download/c6XnLWzMGr3QkbeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c6XnLWzMGr3QkbeJe5aVNr/download/c6XnLWzMGr3QkbeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25505" author="importer" created="Tue, 24 Aug 2010 13:51:00 -0500"  >&lt;p&gt;hircus said: [&lt;a href=&quot;file:c6XnLWzMGr3QkbeJe5aVNr&quot;&gt;file:c6XnLWzMGr3QkbeJe5aVNr&lt;/a&gt;]: git-generated diff to load_all.clj&lt;/p&gt;</comment>
                    <comment id="25506" author="importer" created="Tue, 24 Aug 2010 13:51:00 -0500"  >&lt;p&gt;scgilardi said: If it&apos;s feasible, it would be good to add load-all to the tests that are run by &quot;ant test&quot; so it gets run frequently. (I run ant test every time I build clojure and contrib.)&lt;/p&gt;</comment>
                    <comment id="25507" author="importer" created="Tue, 24 Aug 2010 13:51:00 -0500"  >&lt;p&gt;scgilardi said: In case somebody likes this idea gets to this before I do: I think it would be cool for load-all to figure out what all the clojure-contrib libraries are on its own: perhaps by searching in the resources in the clojure-contrib Jar file for ns declarations that are exactly &quot;clojure.contrib.&lt;span class=&quot;error&quot;&gt;&amp;#91;^.&amp;#93;&lt;/span&gt;+$&quot; (only one component after clojure.contrib).&lt;/p&gt;

&lt;p&gt;We could then maintain a list in the load-all vicinity of only those libraries that should &lt;b&gt;not&lt;/b&gt; be loaded by load-all. That seems much easier to maintain as we&apos;ll automatically be prompted (by a failure to load) if we forget an exclusion.&lt;/p&gt;</comment>
                    <comment id="25508" author="importer" created="Tue, 24 Aug 2010 13:51:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25509" author="importer" created="Tue, 24 Aug 2010 13:51:00 -0500"  >&lt;p&gt;stu said: Here&apos;s the approach I took:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;moved the file from main to test&lt;/li&gt;
	&lt;li&gt;used find-namespace to find all the namespaces&lt;/li&gt;
	&lt;li&gt;removed the deprecated ones&lt;/li&gt;
	&lt;li&gt;manufactured one unit test per namespace that tries to load the namespace&lt;/li&gt;
&lt;/ul&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>[CONTRIB-5] def: Add defn-memo</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-5</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Idea from &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/77d9d741e81fd8f6&quot;&gt;google group thread&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14165">CONTRIB-5</key>
            <summary>def: Add defn-memo</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, 9 Jul 2009 00:12:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:54:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:54:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25510" author="importer" created="Tue, 24 Aug 2010 07:54:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/5&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/5&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25511" author="importer" created="Tue, 24 Aug 2010 07:54:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/4df3fae61cbd538786a73908eb0b8fc176b3fefd&quot;&gt;revision:4df3fae61cbd538786a73908eb0b8fc176b3fefd&lt;/a&gt;) def: Add defn-memo&lt;br/&gt;
Fixes #5&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>[CONTRIB-6] Add set of regular expression functions</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-6</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;A couple of RE utilities I developed for Cascade that I no longer need but are generally useful.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14166">CONTRIB-6</key>
            <summary>Add set of regular expression functions</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="hlship">Howard Lewis Ship</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Jul 2009 01:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:00:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:00:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25512" author="importer" created="Tue, 24 Aug 2010 14:00: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;br/&gt;
Attachments:&lt;br/&gt;
re.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bJLaTSDWWr3PNFeJe5aVNr/download/bJLaTSDWWr3PNFeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bJLaTSDWWr3PNFeJe5aVNr/download/bJLaTSDWWr3PNFeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25513" author="importer" created="Tue, 24 Aug 2010 14:00:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:bJLaTSDWWr3PNFeJe5aVNr&quot;&gt;file:bJLaTSDWWr3PNFeJe5aVNr&lt;/a&gt;]: patch file&lt;/p&gt;</comment>
                    <comment id="25514" author="importer" created="Tue, 24 Aug 2010 14:00:00 -0500"  >&lt;p&gt;stuart.sierra said: An equivalent to re-map is present in str-utils2 &amp;amp; 3, not sure about re-partition&lt;/p&gt;</comment>
                    <comment id="25515" author="importer" created="Tue, 24 Aug 2010 14:00:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25516" author="importer" created="Tue, 24 Aug 2010 14:00:00 -0500"  >&lt;p&gt;stu said: re-partition seems to be on the borderline in terms of generality. If it really has important use cases, please re-implement to be lazy.&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>[CONTRIB-7] Logging functions</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-7</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Logging functions to interact with existing java logging implementations.&lt;/p&gt;

&lt;p&gt;Discussed in clojure group:  &lt;a href=&quot;http://groups.google.com/group/clojure/t/b21d1241d47d682f&quot;&gt;http://groups.google.com/group/clojure/t/b21d1241d47d682f&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14167">CONTRIB-7</key>
            <summary>Logging functions</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, 24 Jul 2009 04:18:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:01:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:01:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25517" author="importer" created="Tue, 24 Aug 2010 14:01: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;
logging.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d2q6qwD-8r3QuDeJe5aVNr/download/d2q6qwD-8r3QuDeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d2q6qwD-8r3QuDeJe5aVNr/download/d2q6qwD-8r3QuDeJe5aVNr&lt;/a&gt;&lt;br/&gt;
logging-doc.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bqM80SEYmr3OxIeJe5aVNr/download/bqM80SEYmr3OxIeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bqM80SEYmr3OxIeJe5aVNr/download/bqM80SEYmr3OxIeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25518" author="importer" created="Tue, 24 Aug 2010 14:01:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:d2q6qwD-8r3QuDeJe5aVNr&quot;&gt;file:d2q6qwD-8r3QuDeJe5aVNr&lt;/a&gt;]: implementation patch&lt;/p&gt;</comment>
                    <comment id="25519" author="importer" created="Tue, 24 Aug 2010 14:01:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:bqM80SEYmr3OxIeJe5aVNr&quot;&gt;file:bqM80SEYmr3OxIeJe5aVNr&lt;/a&gt;]: Cleaned up some of the docs and added the copyright notice&lt;/p&gt;</comment>
                    <comment id="25520" author="importer" created="Tue, 24 Aug 2010 14:01:00 -0500"  >&lt;p&gt;tomfaulhaber said: Fixed with commit  beba7b088ef67a16c57f592b7d845a6f3b8dfa0d&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>[CONTRIB-1] Move Clojure Contrib issues from GC to Assembla</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-1</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Sorry, Rich, taking over #1 here. &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;All issues (even closed ones!) from Contrib&apos;s Google Code issue tracker need to be moved over to assembla.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/clojure-contrib/issues/list?can=1&quot;&gt;Full list of issues at GC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take a look at the &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets&quot;&gt;Clojure space tickets&lt;/a&gt; for an example of how it was done there&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; The tickets should be moved in order; also, please leave them unassigned to anyone or to any milestone&lt;/p&gt;

&lt;p&gt;Hint: You can add the tickets all as  &quot;new&quot; at first and then use the batch update feature to change their attributes&lt;br/&gt;
to match Google Code.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14161">CONTRIB-1</key>
            <summary>Move Clojure Contrib issues from GC to Assembla</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, 10 Jun 2009 11:34:00 -0500</created>
                <updated>Fri, 17 Jun 2011 20:42:18 -0500</updated>
                    <resolved>Fri, 17 Jun 2011 20:42:17 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25492" author="importer" created="Tue, 24 Aug 2010 03:41: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;/p&gt;</comment>
                    <comment id="25493" author="importer" created="Tue, 24 Aug 2010 03:41:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="26513" author="cemerick" created="Fri, 17 Jun 2011 20:42:17 -0500"  >&lt;p&gt;We&apos;re on JIRA now, so this is surely irrelevant at this point.&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>[CONTRIB-3] Agent shutdown introduces AccessControlException when compiling via ant</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-3</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The change that fixes issue &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/124-GC--Issue-120--Determine-mechanism-for-controlling-automatic-shutdown-of-Agents--with-a-default-p---&quot;&gt;Clojure Ticket #124&lt;/a&gt; introduces an AccessControlException when building via ant on java 1.5 and java 1.6/osx:&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] java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThread)
[java] at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
[java] at java.security.AccessController.checkPermission(AccessController.java:427)
[java] at java.util.concurrent.ThreadPoolExecutor.shutdown(ThreadPoolExecutor.java:894)
...&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For discussion see &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/124-GC--Issue-120--Determine-mechanism-for-controlling-automatic-shutdown-of-Agents--with-a-default-p---#comment:8&quot;&gt;this post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The attached patch is a modification to &quot;build.xml&quot; which fixes the problem for java 1.5/osx and java 1.6/osx.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14163">CONTRIB-3</key>
            <summary>Agent shutdown introduces AccessControlException when compiling via ant</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, 22 Jun 2009 18:33:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:46:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:46:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25499" author="importer" created="Tue, 24 Aug 2010 13:46: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;br/&gt;
Attachments:&lt;br/&gt;
compilation.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d7aye4x0er3RUGeJe5aVNr/download/d7aye4x0er3RUGeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d7aye4x0er3RUGeJe5aVNr/download/d7aye4x0er3RUGeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25500" author="importer" created="Tue, 24 Aug 2010 13:46:00 -0500"  >&lt;p&gt;achimpassen said: [&lt;a href=&quot;file:d7aye4x0er3RUGeJe5aVNr&quot;&gt;file:d7aye4x0er3RUGeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25501" author="importer" created="Tue, 24 Aug 2010 13:46:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25502" author="importer" created="Tue, 24 Aug 2010 13:46:00 -0500"  >&lt;p&gt;oranenj said: As clojure-contrib is built by Maven now and there is no build.xml in the repository, I will consider this ticket fixed.&lt;/p&gt;</comment>
                    <comment id="25503" author="importer" created="Tue, 24 Aug 2010 13:46:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-12] log-system-agent state becomes nil if log level is not enabled.</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-12</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Currently an invocation of do-log will return nil if the log level isn&apos;t enabled, thus gives a nil to the log-system-agent. The log-system needs to be returned every time.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14172">CONTRIB-12</key>
            <summary>log-system-agent state becomes nil if log level is not enabled.</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Aug 2009 18:38:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25534" author="importer" created="Tue, 24 Aug 2010 11:08: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;
logging-12.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aTmbBkGRKr3PGIeJe5aVNr/download/aTmbBkGRKr3PGIeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aTmbBkGRKr3PGIeJe5aVNr/download/aTmbBkGRKr3PGIeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25535" author="importer" created="Tue, 24 Aug 2010 11:08:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:aTmbBkGRKr3PGIeJe5aVNr&quot;&gt;file:aTmbBkGRKr3PGIeJe5aVNr&lt;/a&gt;]: Patch to fix the bug&lt;/p&gt;</comment>
                    <comment id="25536" author="importer" created="Tue, 24 Aug 2010 11:08:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/db7ac3aa9a5de29ac9c0107a21a790f90104ad3f&quot;&gt;revision:db7ac3aa9a5de29ac9c0107a21a790f90104ad3f&lt;/a&gt;) Fixes #12; log-system ref is now always returned.&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>[CONTRIB-15] Streamline clojure.contrib.http.agent interface</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-15</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Simplify the interface to clojure.contrib.http.agent as follows:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Replace separate :on-success and :on-failure callbacks with single :handler callback.&lt;/li&gt;
	&lt;li&gt;Shorten response-body-bytes/str names to &quot;result&quot; and &quot;result-str.&quot;&lt;/li&gt;
	&lt;li&gt;Shorten response-status/message/headers names to status/message/headers&lt;/li&gt;
	&lt;li&gt;Provide accessors for request parameters such as URI, headers, body, etc.&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
            <key id="14175">CONTRIB-15</key>
            <summary>Streamline clojure.contrib.http.agent 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="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Aug 2009 16:14:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:14:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:14:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25544" author="importer" created="Tue, 24 Aug 2010 11:14:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/15&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/15&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25545" author="importer" created="Tue, 24 Aug 2010 11:14:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/74f64cdea1debc7e2442f9337f28a25a769792d2&quot;&gt;revision:74f64cdea1debc7e2442f9337f28a25a769792d2&lt;/a&gt;) http/agent.clj: streamlined interface, refs #15&lt;/p&gt;

&lt;p&gt;This brings http.agent close to completion.&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25546" author="importer" created="Tue, 24 Aug 2010 11:14:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/b5fa8307d410a4447e6c36ac5fcaeff0c4f1baff&quot;&gt;revision:b5fa8307d410a4447e6c36ac5fcaeff0c4f1baff&lt;/a&gt;) http/agent.clj: added documentation and examples, refs #15&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25547" author="importer" created="Tue, 24 Aug 2010 11:14:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/78637658d879f8859ac6a883e0e0984d63f6ff18&quot;&gt;revision:78637658d879f8859ac6a883e0e0984d63f6ff18&lt;/a&gt;) http/agent.clj: more documentation, refs #15&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>[CONTRIB-14] Performance enhancements needed for logging</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-14</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;ul&gt;
	&lt;li&gt;The enabled check should occur prior to sending off to an agent.&lt;/li&gt;
	&lt;li&gt;The allow-direct-logging flag should default to true.&lt;/li&gt;
	&lt;li&gt;Replace the map of implementation-specific functions with a direct def of them.&lt;/li&gt;
	&lt;li&gt;Memoize the get-log function.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14174">CONTRIB-14</key>
            <summary>Performance enhancements needed for logging</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Aug 2009 10:36:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:12:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:12:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25541" author="importer" created="Tue, 24 Aug 2010 14:12: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;
logging-14.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bUbU0yH9Wr3RwjeJe5afGb/download/bUbU0yH9Wr3RwjeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bUbU0yH9Wr3RwjeJe5afGb/download/bUbU0yH9Wr3RwjeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25542" author="importer" created="Tue, 24 Aug 2010 14:12:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:bUbU0yH9Wr3RwjeJe5afGb&quot;&gt;file:bUbU0yH9Wr3RwjeJe5afGb&lt;/a&gt;]: Patch to make performance enhancements&lt;/p&gt;</comment>
                    <comment id="25543" author="importer" created="Tue, 24 Aug 2010 14:12:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/44e4c23000a7cdee5395006dadc2eb1b58bc9b9d&quot;&gt;revision:44e4c23000a7cdee5395006dadc2eb1b58bc9b9d&lt;/a&gt;) Implementation changes to improve performance&lt;br/&gt;
see #14&lt;/p&gt;

&lt;p&gt;Signed-off-by: Tom Faulhaber &amp;lt;git_net@infolace.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>[CONTRIB-16] duck-streams/copy bug on InputStream-to-Writer</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-16</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;clojure.contrib.duck-streams/copy works incorrectly when copying an InputStream to a Writer.  It does not use the correct buffer size when the buffer is less than full.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14176">CONTRIB-16</key>
            <summary>duck-streams/copy bug on InputStream-to-Writer</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>Mon, 17 Aug 2009 13:40:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:14:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:14:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25548" author="importer" created="Tue, 24 Aug 2010 04:14: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;/p&gt;</comment>
                    <comment id="25549" author="importer" created="Tue, 24 Aug 2010 04:14:00 -0500"  >&lt;p&gt;stuart.sierra said: Fixed in github, waiting to see if Assembla will notice the commit.&lt;/p&gt;</comment>
                    <comment id="25550" author="importer" created="Tue, 24 Aug 2010 04:14:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/386168c1b3c64f3402dbf7068f6626b55ac825ec&quot;&gt;revision:386168c1b3c64f3402dbf7068f6626b55ac825ec&lt;/a&gt;) duck_streams.clj: use correct array size, Fixes #16&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>[CONTRIB-18] java-utils/as-str could be variadic</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-18</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Compojure has a function called str* that works like clojure.core/str but uses the &lt;em&gt;names&lt;/em&gt; of symbols/keywords instead of their literal representation.&lt;/p&gt;

&lt;p&gt;clojure.contrib.java-utils/as-str fulfills the same purpose, but only accepts a single argument.&lt;/p&gt;

&lt;p&gt;as-str could be 100% compatible with str if it became variadic:&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 as-str
  [&amp;amp; args]
  (apply str (map (fn [x] (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (instance? clojure.lang.Named x)
                            (name x) x))
                  args)))

user&amp;gt; (as-str &lt;span class=&quot;code-quote&quot;&gt;&quot;Hello, &quot;&lt;/span&gt; :World)
&lt;span class=&quot;code-quote&quot;&gt;&quot;Hello, World&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="14178">CONTRIB-18</key>
            <summary>java-utils/as-str could be variadic</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, 19 Aug 2009 09:32:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:15:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:15:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25554" author="importer" created="Tue, 24 Aug 2010 04:15: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>
                    <comment id="25555" author="importer" created="Tue, 24 Aug 2010 04:15:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/5dbecc380cbb65afff33648325f1e3b44b535143&quot;&gt;revision:5dbecc380cbb65afff33648325f1e3b44b535143&lt;/a&gt;) java_utils.clj: made as-str variadic like str, fixes #18&lt;/p&gt;

&lt;p&gt;This commit also includes tests for this function.&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>[CONTRIB-11] Default log namespace is incorrect</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-11</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Currently the runtime value of &lt;b&gt;ns&lt;/b&gt; is used to namespace calls to log, instead of the ns of the code that calls log.  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;user=&amp;gt; (ns foo (:use (clojure.contrib logging))) 
nil
foo=&amp;gt; (defn bar [] (log :fatal &lt;span class=&quot;code-quote&quot;&gt;&quot;in foo/bar&quot;&lt;/span&gt;)) 
#&apos;foo/bar
foo=&amp;gt; (bar)
#&amp;lt;Agent@4f961bac...&amp;gt;
foo=&amp;gt; (ns baz (:use (clojure.contrib logging)))
nil
baz=&amp;gt;  (foo/bar) 
#&amp;lt;Agent@4f961bac...&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
and the output to the log is:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;2009-08-06 11:05:19,817 FATAL foo - / - in foo/bar
2009-08-06 11:05:38,167 FATAL baz - / - in foo/bar&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The second printed namespace is &quot;baz&quot; and it should be the same as the first, &quot;foo&quot;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14171">CONTRIB-11</key>
            <summary>Default log namespace is incorrect</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Aug 2009 14:09:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25531" author="importer" created="Tue, 24 Aug 2010 07:08: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;
logging-11.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cnaHiKGR4r3RZOeJe5afGb/download/cnaHiKGR4r3RZOeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cnaHiKGR4r3RZOeJe5afGb/download/cnaHiKGR4r3RZOeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25532" author="importer" created="Tue, 24 Aug 2010 07:08:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:cnaHiKGR4r3RZOeJe5afGb&quot;&gt;file:cnaHiKGR4r3RZOeJe5afGb&lt;/a&gt;]: Patch to fix log namespacing&lt;/p&gt;</comment>
                    <comment id="25533" author="importer" created="Tue, 24 Aug 2010 07:08:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/90f7ea1dec4e7c835cf3a7f98e67c4e02d7d0f64&quot;&gt;revision:90f7ea1dec4e7c835cf3a7f98e67c4e02d7d0f64&lt;/a&gt;) Fixes #11; log-ns is now captured at macro-expansion-time.&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>[CONTRIB-2] Clojure tests: sets</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-2</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Tracking ticket for work on Clojure contributed test suite.&lt;/p&gt;

&lt;p&gt;First basic commit in forked GitHub repo:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/rnewman/clojure-contrib/commit/1c2d3d6f9ae91abf5a7861706e0173f3290dd926&quot;&gt;http://github.com/rnewman/clojure-contrib/commit/1c2d3d6f9ae91abf5a7861706e0173f3290dd926&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This covers difference, project, join.&lt;/p&gt;

&lt;p&gt;Maintainers: I know the Clojure patch doc says &quot;create a patch&quot;. Would a link to the commit suffice? It seems that a `git pull` and a link to a permanent record of the contents would serve better than using the issue tracker and patch files as a primitive form of version control, at least for real work-in-progress stuff&#65533;&#65533;&#65533;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14162">CONTRIB-2</key>
            <summary>Clojure tests: sets</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="rnewman">rnewman</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Jun 2009 08:14: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="25494" 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/2&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/2&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25495" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;mikehinchey said: This ticket should be closed as invalid. Clojure tests were moved from contrib to clojure. Also, Richard&apos;s link to github is now dead.&lt;/p&gt;</comment>
                    <comment id="25496" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25497" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;oranenj said: I&apos;m just closing this as invalid as it doesn&apos;t seem relevant anymore. Contrib tickets seem to have become unmaintained :/ &lt;/p&gt;

&lt;p&gt;If someone disagrees, please reopen&lt;/p&gt;</comment>
                    <comment id="25498" author="importer" created="Tue, 24 Aug 2010 00:45:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-10] Implementation-specific logging functions are using reflection</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-10</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;As reported by Richard Newman via email.  &lt;/p&gt;

&lt;p&gt;The lack of type hinting results in multiple reflective calls even if the logging level is disabled.  Not fast.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14170">CONTRIB-10</key>
            <summary>Implementation-specific logging functions are using 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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Aug 2009 06:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 00:07:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:07:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25527" author="importer" created="Tue, 24 Aug 2010 00:07: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;
logging-type-hinting.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aoZzXWGI0r3PQKeJe5afGb/download/aoZzXWGI0r3PQKeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aoZzXWGI0r3PQKeJe5afGb/download/aoZzXWGI0r3PQKeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25528" author="importer" created="Tue, 24 Aug 2010 00:07:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:aoZzXWGI0r3PQKeJe5afGb&quot;&gt;file:aoZzXWGI0r3PQKeJe5afGb&lt;/a&gt;]: Patch to stop reflection&lt;/p&gt;</comment>
                    <comment id="25529" author="importer" created="Tue, 24 Aug 2010 00:07:00 -0500"  >&lt;p&gt;ataggart said: Implementation-specific functions no longer need reflection.  Now the only reflection warnings remaining are a result of the proxy methods for the log-stream (flush and reset), which I can&apos;t figure out how to solve.&lt;/p&gt;</comment>
                    <comment id="25530" author="importer" created="Tue, 24 Aug 2010 00:07:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/6dd2205627cd524894b1175da20ce9c5ac65aef7&quot;&gt;revision:6dd2205627cd524894b1175da20ce9c5ac65aef7&lt;/a&gt;) Added type hints to remove reflection when implementation-specific functions are invoked.&lt;br/&gt;
Fixes #10&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>[CONTRIB-23] Clojure AOT compilation will compile unwanted classes</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-23</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;My build file specifies the namespaces to AOT compile but if I include another namespace (even from a JAR dependency) that is not AOT compiled, the other namespace will be compiled as well.&lt;/p&gt;

&lt;p&gt;In my case, I was using clojure-contrib&apos;s clojure.contrib.str-utils2 namespace, and I got a bunch of clojure/contrib/str_utils2 classes in my output directory.&lt;/p&gt;

&lt;p&gt;I think that the AOT compiler should NOT precompile any namespaces that are transitively reached, only namespaces in the set specified by the command line are appropriate.&lt;/p&gt;

&lt;p&gt;As currently coded, you will frequently find unwanted third-party dependencies in your output JARs; further, if multiple parties depend on the same JARs, this could cause bloating and duplication in the eventual runtime classpath.&lt;/p&gt;

&lt;p&gt;Note: I&apos;m tracking against master for both clojure and clojure-contrib.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14183">CONTRIB-23</key>
            <summary>Clojure AOT compilation will compile unwanted 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="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Aug 2009 00:06:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:17:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25583" author="importer" created="Tue, 24 Aug 2010 04:17: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>
                    <comment id="25584" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25585" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stuart.sierra said: I don&apos;t quite understand this ticket, but clojure-contrib is no longer AOT-compiled by default except for those namespaces that need it.&lt;/p&gt;

&lt;p&gt;Note that Clojure generates one class per fn, so one AOT-compiled namespace produces many classes.&lt;/p&gt;</comment>
                    <comment id="25586" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;technomancy said: This is a Clojure issue, not a Contrib issue.&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>[CONTRIB-9] Invoking namespaced log macro is tedious</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-9</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Current style is fine when using :use, but looks ugly when using :require.  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 foo.bar
    (:require (clojure.contrib [logging :as log])))
(log/log :debug &lt;span class=&quot;code-quote&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;)&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

Adding convenience macros &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; the 6 logging levels would mean invoking:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;(log/debug &lt;span class=&quot;code-quote&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Which looks much nicer.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14169">CONTRIB-9</key>
            <summary>Invoking namespaced log macro is tedious</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Aug 2009 01:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:06:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:06:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25524" 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/9&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/9&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
logging-4.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dBZ8R2Gmmr3QoLeJe5aVNr/download/dBZ8R2Gmmr3QoLeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dBZ8R2Gmmr3QoLeJe5aVNr/download/dBZ8R2Gmmr3QoLeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25525" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:dBZ8R2Gmmr3QoLeJe5aVNr&quot;&gt;file:dBZ8R2Gmmr3QoLeJe5aVNr&lt;/a&gt;]: Implementation patch&lt;/p&gt;</comment>
                    <comment id="25526" author="importer" created="Tue, 24 Aug 2010 13:06:00 -0500"  >&lt;p&gt;tomfaulhaber said: Fixed in commit  6c95fe9&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>[CONTRIB-13] Add test coverage for seq-utils</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-13</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;I realized that seq-utils is untested based on this discussion:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/2be768e15d2b717a&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/2be768e15d2b717a&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ll be adding unit tests to ensure coverage, for future changes.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14173">CONTRIB-13</key>
            <summary>Add test coverage for seq-utils</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, 7 Aug 2009 09:23:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:09:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25537" author="importer" created="Tue, 24 Aug 2010 07:09: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;
create-seq-utils-test.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aG1hp6G9Kr3REGeJe5afGb/download/aG1hp6G9Kr3REGeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aG1hp6G9Kr3REGeJe5afGb/download/aG1hp6G9Kr3REGeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25538" author="importer" created="Tue, 24 Aug 2010 07:09:00 -0500"  >&lt;p&gt;devlinsf said: [&lt;a href=&quot;file:aG1hp6G9Kr3REGeJe5afGb&quot;&gt;file:aG1hp6G9Kr3REGeJe5afGb&lt;/a&gt;]: Test coverage for seq-utils&lt;/p&gt;</comment>
                    <comment id="25539" author="importer" created="Tue, 24 Aug 2010 07:09:00 -0500"  >&lt;p&gt;devlinsf said: Preliminary tests complete&lt;/p&gt;</comment>
                    <comment id="25540" author="importer" created="Tue, 24 Aug 2010 07:09:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/407ab8766349881d87d48409601337b1f0dc485a&quot;&gt;revision:407ab8766349881d87d48409601337b1f0dc485a&lt;/a&gt;) seq_utils_test.clj: add tests from Sean Devlin; fixes #13&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>[CONTRIB-22] clojure.contrib.str-utils2 is not AOT compiled</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-22</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;build.xml is missing the line to pre-compile the namespace.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14182">CONTRIB-22</key>
            <summary>clojure.contrib.str-utils2 is not 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="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Aug 2009 00:02:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:17:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25565" author="importer" created="Tue, 24 Aug 2010 04:17: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;
ticket-22.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aQpl6KQH8r3Q2KeJe5afGb/download/aQpl6KQH8r3Q2KeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aQpl6KQH8r3Q2KeJe5afGb/download/aQpl6KQH8r3Q2KeJe5afGb&lt;/a&gt;&lt;br/&gt;
0001-Automatically-locate-namespaces-to-AOT-compile.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c5gnW-QIqr3RD1eJe5afGb/download/c5gnW-QIqr3RD1eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c5gnW-QIqr3RD1eJe5afGb/download/c5gnW-QIqr3RD1eJe5afGb&lt;/a&gt;&lt;br/&gt;
0001-Ticket-22-patch.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dAQ4d0QIKr3O-6eJe5afGb/download/dAQ4d0QIKr3O-6eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dAQ4d0QIKr3O-6eJe5afGb/download/dAQ4d0QIKr3O-6eJe5afGb&lt;/a&gt;&lt;br/&gt;
0002-Reconcile-the-patch-s-copy-of-build.xml-fixing-XML-f.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dAVwG8QIKr3O-6eJe5afGb/download/dAVwG8QIKr3O-6eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dAVwG8QIKr3O-6eJe5afGb/download/dAVwG8QIKr3O-6eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25566" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: The patch addresses a number of compilation problems, and fixes things so that a number of tests that were present (but not run) are now run.&lt;/p&gt;

&lt;p&gt;I think this is just a starting point, and we need seperate folders to identify main source code, gen classes, and tests so that we don&apos;t need so many exclude rules when identifying the namespaces to AOT compile.&lt;/p&gt;</comment>
                    <comment id="25567" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: I&apos;m tyring to use the Eclipse Clojure plugin, but due to this bug, clojure.contrib.repl_ln is not pre-compiled and so it doesn&apos;t work. Please take a few minutes to apply the patch!&lt;/p&gt;</comment>
                    <comment id="25568" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;richhickey said: what patch?&lt;/p&gt;</comment>
                    <comment id="25569" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: That&apos;s odd ... what did happen to the patch?&lt;/p&gt;

&lt;p&gt;I&apos;ll regenerate it, but this is very, very odd.  I remember adding it to this ticket (maybe I accidentally added it to a different ticket?).&lt;/p&gt;</comment>
                    <comment id="25570" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:aQpl6KQH8r3Q2KeJe5afGb&quot;&gt;file:aQpl6KQH8r3Q2KeJe5afGb&lt;/a&gt;]: Patch file&lt;/p&gt;</comment>
                    <comment id="25571" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: The patch automatically AOT compiles the code; it automatically locates namespaces to compile. I also located a number of &quot;dead&quot; tests (tests that were not being run), some of which needed to be corrected for the move of c.c.test-is to c.test.&lt;/p&gt;</comment>
                    <comment id="25572" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;richhickey said: Patches must be prepared with git format-patch:&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;Also, your patch seems to contain many + lines that look to me identical to the lines they replace, which makes it very difficult to see what is new. Any idea why that is happening?&lt;/p&gt;</comment>
                    <comment id="25573" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:c5gnW-QIqr3RD1eJe5afGb&quot;&gt;file:c5gnW-QIqr3RD1eJe5afGb&lt;/a&gt;]: patch via git format-patch&lt;/p&gt;</comment>
                    <comment id="25574" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: I&apos;ve create the correct patch ... again, sorry for that.  I was rushing. &lt;/p&gt;

&lt;p&gt;I&apos;m not sure if that&apos;s a spaces vs. tabs issue, or a windows/mac line endings issue.&lt;/p&gt;</comment>
                    <comment id="25575" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: I&apos;m redoing the patch, unstaging the whitespace differences inside build.xml.  I&apos;ll have it ready in a few minutes.&lt;/p&gt;</comment>
                    <comment id="25576" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: The XML editor I was using put a space before /&amp;gt; in empty tags, thus the changes.  Ugh.&lt;/p&gt;</comment>
                    <comment id="25577" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:dAQ4d0QIKr3O-6eJe5afGb&quot;&gt;file:dAQ4d0QIKr3O-6eJe5afGb&lt;/a&gt;]: Revised patch, part 1/2&lt;/p&gt;</comment>
                    <comment id="25578" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:dAVwG8QIKr3O-6eJe5afGb&quot;&gt;file:dAVwG8QIKr3O-6eJe5afGb&lt;/a&gt;]: Revised patch, part 2/2&lt;/p&gt;</comment>
                    <comment id="25579" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: Just added two new patch files that were created against the latest pull from GitHub master, and do not have the erroneous lines (an XML formatting issue).  Should be much more straight forward to apply. Sorry for the trouble.&lt;/p&gt;</comment>
                    <comment id="25580" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stu said: looking at this now...&lt;/p&gt;</comment>
                    <comment id="25581" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stu said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/04a22729691863a5b7e7b1b3c6c1157a02aff3b2&quot;&gt;revision:04a22729691863a5b7e7b1b3c6c1157a02aff3b2&lt;/a&gt;) compile str-utils2 and other build fixes, refs #22&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25582" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stu said: pushed to master (04a22729691863a5b7e7b1b3c6c1157a02aff3b2). Let me know if you see any issues.&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>[CONTRIB-29] Backport clojure.contrib.logging to clojure-1.0-compat branch</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-29</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;This simply backports the clojure.contrib.logging namespace to the 1.0-compatible branch.&lt;/p&gt;

&lt;p&gt;The only change from master was to revert back to the old style of import calls.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14189">CONTRIB-29</key>
            <summary>Backport clojure.contrib.logging to clojure-1.0-compat 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>Thu, 3 Sep 2009 17:15:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:24:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:24:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25601" author="importer" created="Tue, 24 Aug 2010 07:24: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;
0001-Backport-logging.clj-to-1.0-compatible-branch.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dIpoK8Mm4r3Rt6eJe5aVNr/download/dIpoK8Mm4r3Rt6eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dIpoK8Mm4r3Rt6eJe5aVNr/download/dIpoK8Mm4r3Rt6eJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-Backport-logging-to-1.0-compatible-branch.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dd6JqgTpur3RF9eJe5afGb/download/dd6JqgTpur3RF9eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dd6JqgTpur3RF9eJe5afGb/download/dd6JqgTpur3RF9eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25602" author="importer" created="Tue, 24 Aug 2010 07:24:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:dIpoK8Mm4r3Rt6eJe5aVNr&quot;&gt;file:dIpoK8Mm4r3Rt6eJe5aVNr&lt;/a&gt;]: logging backport patch&lt;/p&gt;</comment>
                    <comment id="25603" author="importer" created="Tue, 24 Aug 2010 07:24:00 -0500"  >&lt;p&gt;ataggart said: Out of curiosity, why was such an old version of c.c.logging used?  I&apos;ve added a number of performance improvements since then:&lt;br/&gt;
&lt;a href=&quot;http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/logging.clj&quot;&gt;http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/logging.clj&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25604" author="importer" created="Tue, 24 Aug 2010 07:24:00 -0500"  >&lt;p&gt;technomancy said: Alex: just because I did the backport a few weeks ago and procrastinated on submitting it. =)&lt;/p&gt;

&lt;p&gt;I&apos;ll create a new patch for the latest logging.clj.&lt;/p&gt;</comment>
                    <comment id="25605" author="importer" created="Tue, 24 Aug 2010 07:24:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:dd6JqgTpur3RF9eJe5afGb&quot;&gt;file:dd6JqgTpur3RF9eJe5afGb&lt;/a&gt;]: Updated patch&lt;/p&gt;</comment>
                    <comment id="25606" author="importer" created="Tue, 24 Aug 2010 07:24:00 -0500"  >&lt;p&gt;tomfaulhaber said: Applied patch (commit bd3c20). Seems to work.&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>[CONTRIB-8] Named agent-log function defined within log macro not found at runtime</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-8</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Per an email from Richard Newman:&lt;/p&gt;

&lt;p&gt;By adding print statements to the various &apos;discovery&apos; macros I could confirm that a logging framework was being found. However, when my app (servlet in this case) actually executed a log statement, I got an error that clojure.contrib.logging/agent-log was undefined.&lt;/p&gt;

&lt;p&gt;This confused me, because the presence of any send-log form should cause it to be defined in the macroexpansion. My code simply called (log :info &quot;some string&quot;), which eventually expands into (amongst other things) a send-log form.&lt;/p&gt;

&lt;p&gt;Simply lifting the function definition out of the macro made the problem go away&lt;/p&gt;</description>
                <environment></environment>
            <key id="14168">CONTRIB-8</key>
            <summary>Named agent-log function defined within log macro not found at runtime</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, 2 Aug 2009 22:37:00 -0500</created>
                <updated>Tue, 24 Aug 2010 06:06:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:06:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25521" 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/8&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/8&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
logging-3.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cz6050F98r3RuieJe5aVNr/download/cz6050F98r3RuieJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cz6050F98r3RuieJe5aVNr/download/cz6050F98r3RuieJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25522" author="importer" created="Tue, 24 Aug 2010 06:06:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:cz6050F98r3RuieJe5aVNr&quot;&gt;file:cz6050F98r3RuieJe5aVNr&lt;/a&gt;]: Patch solves the issue as well as cleaned up the implementation.&lt;/p&gt;</comment>
                    <comment id="25523" author="importer" created="Tue, 24 Aug 2010 06:06:00 -0500"  >&lt;p&gt;tomfaulhaber said: Late on Sunday night, I didn&apos;t think about it too hard. So I hope Alex got it right and I applied it right!&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>[CONTRIB-30] append-spit should only write out an encoding marker once</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-30</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;In clojure.contrib.duck-streams append-spit writes out encoding&lt;br/&gt;
markers (for UnicodeLittle for example this is a FEFF in hex)&lt;br/&gt;
each time it appends to a file. This should happen only when&lt;br/&gt;
the file is initially created.&lt;/p&gt;

&lt;p&gt;Test case for reproducing this behaviour:&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;(use &apos;clojure.contrib.duck-streams)

(binding [*&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-encoding* &lt;span class=&quot;code-quote&quot;&gt;&quot;UnicodeLittle&quot;&lt;/span&gt;]
  (append-spit &lt;span class=&quot;code-quote&quot;&gt;&quot;/foo.txt&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;Line 1\n&quot;&lt;/span&gt;))
(binding [*&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-encoding* &lt;span class=&quot;code-quote&quot;&gt;&quot;UnicodeLittle&quot;&lt;/span&gt;]
  (append-spit &lt;span class=&quot;code-quote&quot;&gt;&quot;/foo.txt&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;Line 2\n&quot;&lt;/span&gt;))

(slurp &lt;span class=&quot;code-quote&quot;&gt;&quot;c:/foo.txt&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;UnicodeLittle&quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The slurp outputs&lt;br/&gt;
&quot;Line 1\n?Line 2\n&quot;&lt;br/&gt;
The expected output is:&lt;br/&gt;
&quot;Line 1\nLine 2\n&quot;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14190">CONTRIB-30</key>
            <summary>append-spit should only write out an encoding marker once</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>Thu, 10 Sep 2009 15:36:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:28:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:28:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25607" author="importer" created="Tue, 24 Aug 2010 14:28: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;/p&gt;</comment>
                    <comment id="25608" author="importer" created="Tue, 24 Aug 2010 14:28:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25609" author="importer" created="Tue, 24 Aug 2010 14:28:00 -0500"  >&lt;p&gt;stu said: I am not sure there is a good answer here. The code above chooses an encoding with an explicit marker, and gets what it asks for. &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;

&lt;p&gt;One proposed solution (&lt;a href=&quot;http://github.com/sergey-miryanov/clojure-contrib/commits/bug-30&quot;&gt;http://github.com/sergey-miryanov/clojure-contrib/commits/bug-30&lt;/a&gt;) tries to detect this scenario, and recover via a hard-coded mapping between encodings-with-markers and similar-encodings-without. But I don&apos;t think this can work in general, because the set of possible encodings is open and the Charset API doesn&apos;t provide a mapping between the with-markers and without-markers versions.&lt;/p&gt;

&lt;p&gt;Sorry, and please feel free to reopen this if I am missing an obvious approach.&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>[CONTRIB-24] Dependency from clojure-contrib to clojure is incorrect (for Maven snapshot builds)</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-24</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The version number of Clojure is still listed in pom.xml as 1.0-SNAPSHOT, but should be 1.1.0-alpha-SNAPSHOT to track the master of clojure-contrib against the master of clojure-lang.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14184">CONTRIB-24</key>
            <summary>Dependency from clojure-contrib to clojure is incorrect (for Maven snapshot builds)</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="hlship">Howard Lewis Ship</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Aug 2009 00:10:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:17:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25587" author="importer" created="Tue, 24 Aug 2010 04:17: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;br/&gt;
Attachments:&lt;br/&gt;
0001-Change-version-number-of-clojure-lang-dependency.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d0vOJgKN8r3PeveJe5aVNr/download/d0vOJgKN8r3PeveJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d0vOJgKN8r3PeveJe5aVNr/download/d0vOJgKN8r3PeveJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25588" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: [&lt;a href=&quot;file:d0vOJgKN8r3PeveJe5aVNr&quot;&gt;file:d0vOJgKN8r3PeveJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25589" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: I believe this is the last problem with the CI server build (and thus the Maven nightlies). Because the version number is wrong, clojure-contrib can&apos;t build on the CI server, since clojure-contrib master needs clojure-lang master but is getting clojure-lang 1.0.&lt;/p&gt;</comment>
                    <comment id="25590" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;hlship said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/0ef485fc1e2c80d6d531b5f8874f051e0f4c7d0a&quot;&gt;revision:0ef485fc1e2c80d6d531b5f8874f051e0f4c7d0a&lt;/a&gt;) Change version number of clojure-lang dependency.&lt;/p&gt;

&lt;p&gt;Closes #24&lt;/p&gt;

&lt;p&gt;Signed-off-by: scgilardi &amp;lt;scgilardi@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>[CONTRIB-17] str-utils2: seq-like functions have different argument order</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-17</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;clojure.contrib.str-utils2 contains several functions with the same names as clojure.core functions: take, drop, butlast.  However, their argument order is reversed from the order used by the clojure.core functions.&lt;/p&gt;

&lt;p&gt;One of the stated design goals of str-utils2 is to have all functions take the string they are operating on as their first argument, to enable easy composition with -&amp;gt;&lt;/p&gt;

&lt;p&gt;Either these functions should be renamed, as &quot;str-take&quot;, or a note should be added to their documentation explaining the argument order.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14177">CONTRIB-17</key>
            <summary>str-utils2: seq-like functions have different argument order</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, 18 Aug 2009 16:26:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:14:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:14:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25551" author="importer" created="Tue, 24 Aug 2010 07:14:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/17&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/17&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25552" author="importer" created="Tue, 24 Aug 2010 07:14:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/3b6d95140393bf78930c9f4045ba2feab36f3946&quot;&gt;revision:3b6d95140393bf78930c9f4045ba2feab36f3946&lt;/a&gt;) str_utils2.clj: explain argument order of take/drop/butlast, refs #17&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25553" author="importer" created="Tue, 24 Aug 2010 07:14:00 -0500"  >&lt;p&gt;stuart.sierra said: Added documentation, don&apos;t want longer function names or to break the string-argument-first design.&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>[CONTRIB-32] Unknown severity level causes NPE</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-32</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</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;$ cat .clojure
/opt/clojure/clojure.jar:/opt/clojure-contrib/clojure-contrib.jar:lib/commons-logging-1.1.1.jar
$ clj
Clojure 1.1.0-alpha-SNAPSHOT
user=&amp;gt; (use &apos;clojure.contrib.logging)
nil
user=&amp;gt; (log :info &lt;span class=&quot;code-quote&quot;&gt;&quot;Hello, world.&quot;&lt;/span&gt;)   
Sep 21, 2009 3:44:03 PM clojure.contrib.logging$eval__92$impl_write_BANG___100 invoke
INFO: Hello, world.
nil
user=&amp;gt; (log :bar &lt;span class=&quot;code-quote&quot;&gt;&quot;Hello, world.&quot;&lt;/span&gt;) 
java.lang.NullPointerException (NO_SOURCE_FILE:0)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I hit this when using :severe as a log level, which should actually be :error.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14192">CONTRIB-32</key>
            <summary>Unknown severity level causes NPE</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Sep 2009 01:48:00 -0500</created>
                <updated>Tue, 24 Aug 2010 14:35:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:35:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25613" 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/32&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/32&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
logging.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bCd_BmPWmr3OVpeJe5afGb/download/bCd_BmPWmr3OVpeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bCd_BmPWmr3OVpeJe5afGb/download/bCd_BmPWmr3OVpeJe5afGb&lt;/a&gt;&lt;br/&gt;
logging.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aOuXXKPWqr3OVpeJe5afGb/download/aOuXXKPWqr3OVpeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aOuXXKPWqr3OVpeJe5afGb/download/aOuXXKPWqr3OVpeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25614" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;rnewman said: [&lt;a href=&quot;file:bCd_BmPWmr3OVpeJe5afGb&quot;&gt;file:bCd_BmPWmr3OVpeJe5afGb&lt;/a&gt;]: Patch.&lt;/p&gt;</comment>
                    <comment id="25615" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;rnewman said: Added a patch. This does three things:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Examines the level in (log). If it&apos;s a keyword at compile-time, transform it now; otherwise, transform it later.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Transformation maps j.u.l terms to those used by c.c.l. This is handy, though the mapping (of course) does not round-trip perfectly.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Unrecognized terms cause an exception to be thrown.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The best test is &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;(require [&apos;clojure.contrib.logging :as &apos;log])
(log/log ((fn []:severe)) &lt;span class=&quot;code-quote&quot;&gt;&quot;hi&quot;&lt;/span&gt;)   ; Test runtime level computation. 
(log/log :boo &lt;span class=&quot;code-quote&quot;&gt;&quot;ho&quot;&lt;/span&gt;)
(log/log :fine &lt;span class=&quot;code-quote&quot;&gt;&quot;ha&quot;&lt;/span&gt;)
(log/log :info &lt;span class=&quot;code-quote&quot;&gt;&quot;ha&quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="25616" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;rnewman said: [&lt;a href=&quot;file:aOuXXKPWqr3OVpeJe5afGb&quot;&gt;file:aOuXXKPWqr3OVpeJe5afGb&lt;/a&gt;]: Correct quoting.&lt;/p&gt;</comment>
                    <comment id="25617" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;ataggart said: The only valid levels are the ones specified in the documentation, those levels in common use across multiple logging implementations.  If one uses an invalid value one should not expect it to work.&lt;/p&gt;

&lt;p&gt;The &quot;correct&quot; solution would be to provide a better exception in this error case.&lt;/p&gt;</comment>
                    <comment id="25618" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;rnewman said: &quot;If one uses an invalid value one should not expect it to work&quot;&lt;/p&gt;

&lt;p&gt;No, but one should expect something more useful than a NPE. The patch I attached throws an exception when an invalid value is used (indeed, at compile time if it&apos;s a constant keyword).&lt;/p&gt;

&lt;p&gt;c.c.l already translates from one set of log levels to those in use by the underlying implementation (e.g., if you&apos;re using Java Logging it&apos;ll convert :debug to FINE). This patch ensures that you can use the other set of names, too, which seems perfectly reasonable, but I can understand if you disagree. In that case, simply change translate-log-level to something like&lt;/p&gt;

&lt;p&gt;(defn translate-log-level &lt;span class=&quot;error&quot;&gt;&amp;#91;level&amp;#93;&lt;/span&gt;&lt;br/&gt;
  (or (#{:trace :debug :info :warn :error :fatal} level)&lt;br/&gt;
      (throw (new Exception (str &quot;Unknown log level &quot; (prn-str level))))))&lt;/p&gt;

&lt;p&gt;and commit. I&apos;m not particularly fussed either way, but the validation needs to be done.&lt;/p&gt;</comment>
                    <comment id="25619" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)&lt;/p&gt;</comment>
                    <comment id="25620" author="importer" created="Tue, 24 Aug 2010 14:35:00 -0500"  >&lt;p&gt;ataggart said: Handled at the protocol implementation level in new version of c.c.logging (since alternate implementations may choose to use non-standard levels).&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>[CONTRIB-33] Add delete-file and delete-file-recursively functions to java-utils</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-33</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Another one of those bizarre omissions from the JDK. Discussed this with Chouser on IRC, and he thinks it&apos;s a good idea.&lt;/p&gt;

&lt;p&gt;I&apos;ve added it to java-utils, though there are enough file-specific functions now that I think a new file-utils namespace could be spun off.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14193">CONTRIB-33</key>
            <summary>Add delete-file and delete-file-recursively functions to java-utils</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, 8 Oct 2009 21:38: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="25621" 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/33&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/33&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0002-Added-test-for-delete-file.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cjQBUaTi0r3R7MeJe5afGb/download/cjQBUaTi0r3R7MeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cjQBUaTi0r3R7MeJe5afGb/download/cjQBUaTi0r3R7MeJe5afGb&lt;/a&gt;&lt;br/&gt;
0001-Add-delete-file-and-delete-file-recursively-function.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cjQy7qTi0r3R7MeJe5afGb/download/cjQy7qTi0r3R7MeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cjQy7qTi0r3R7MeJe5afGb/download/cjQy7qTi0r3R7MeJe5afGb&lt;/a&gt;&lt;br/&gt;
0003-Added-a-test-for-delete-file-recursively.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cjQEqGTi0r3R7MeJe5afGb/download/cjQEqGTi0r3R7MeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cjQEqGTi0r3R7MeJe5afGb/download/cjQEqGTi0r3R7MeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25622" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:cjQy7qTi0r3R7MeJe5afGb&quot;&gt;file:cjQy7qTi0r3R7MeJe5afGb&lt;/a&gt;]: Implementation&lt;/p&gt;</comment>
                    <comment id="25623" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:cjQBUaTi0r3R7MeJe5afGb&quot;&gt;file:cjQBUaTi0r3R7MeJe5afGb&lt;/a&gt;]: First test&lt;/p&gt;</comment>
                    <comment id="25624" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:cjQEqGTi0r3R7MeJe5afGb&quot;&gt;file:cjQEqGTi0r3R7MeJe5afGb&lt;/a&gt;]: Second test&lt;/p&gt;</comment>
                    <comment id="25625" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Did you try test-delete-file-recursively on Windows?  Looks like it might have issues there.  I&apos;ll apply the 0001 and 0002 patches, but please take a look at 0003 to see if there&apos;s a way to be sure it won&apos;t cause false negatives.&lt;/p&gt;</comment>
                    <comment id="25626" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;technomancy said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/8eef617aac7b077421d4aa9c84a2df189af6ee17&quot;&gt;revision:8eef617aac7b077421d4aa9c84a2df189af6ee17&lt;/a&gt;) java-utils: Add delete-file and delete-file-recursively functions&lt;/p&gt;

&lt;p&gt;Also added test for delete-file. Refs #33&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="25627" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25628" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-26] Compatibility from clojure.contrib.test-is to clojure.test</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-26</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;It would be nice if there was a compatibility layer for older code compiled against 1.0&apos;s clojure.contrib.test-is to work with 1.1&apos;s clojure.test.  In other words, have a clojure.contrib .test-is namespace that re-exports the corresponding code from the new clojure.test.  Handling the change in the (are) macro&apos;s semantics will be a challenge, however.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14186">CONTRIB-26</key>
            <summary>Compatibility from clojure.contrib.test-is to clojure.test</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, 23 Aug 2009 00:23:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:17:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:17:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25593" author="importer" created="Tue, 24 Aug 2010 04:17: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;/p&gt;</comment>
                    <comment id="25594" author="importer" created="Tue, 24 Aug 2010 04:17:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/cdbfc8de5723bc352ee4fb54bd3eeb4502835362&quot;&gt;revision:cdbfc8de5723bc352ee4fb54bd3eeb4502835362&lt;/a&gt;) test_is.clj: compatibility bridge to the new clojure.test; refs #26&lt;/p&gt;

&lt;p&gt;Includes support for the old syntax of the &quot;are&quot; macro.&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>[CONTRIB-21] Private logging macros aren&apos;t private</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-21</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;E.g.,&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 commons-logging
  &lt;span class=&quot;code-quote&quot;&gt;&quot;....&quot;&lt;/span&gt;
  #^{:&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

should be
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;(defmacro commons-logging
  &lt;span class=&quot;code-quote&quot;&gt;&quot;....&quot;&lt;/span&gt;
  {:&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="14181">CONTRIB-21</key>
            <summary>Private logging macros aren&apos;t private</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Aug 2009 23:15:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:15:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:15:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25562" author="importer" created="Tue, 24 Aug 2010 04:15:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/21&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/21&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
logging-21.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aL9cSKJver3RM6eJe5aVNr/download/aL9cSKJver3RM6eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aL9cSKJver3RM6eJe5aVNr/download/aL9cSKJver3RM6eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25563" author="importer" created="Tue, 24 Aug 2010 04:15:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:aL9cSKJver3RM6eJe5aVNr&quot;&gt;file:aL9cSKJver3RM6eJe5aVNr&lt;/a&gt;]: Fix making impl macros private&lt;/p&gt;</comment>
                    <comment id="25564" author="importer" created="Tue, 24 Aug 2010 04:15:00 -0500"  >&lt;p&gt;ataggart said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/cd69d778f5a08810d4b934dbfc08f400ed34146a&quot;&gt;revision:cd69d778f5a08810d4b934dbfc08f400ed34146a&lt;/a&gt;) Fixed attr-maps on private macros.&lt;br/&gt;
Signed-off-by: Tom Faulhaber &amp;lt;git_net@infolace.com&amp;gt;&lt;br/&gt;
See #21&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>[CONTRIB-20] Report progress in http.agent</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-20</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;clojure.contrib.http.agent provides no way to monitor the progress of the HTTP request/response.&lt;/p&gt;

&lt;p&gt;It would be possible to monitor the number of bytes sent and received by replacing duck-streams/copy with a function that updates an atom (or agent) with the number of bytes copied.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14180">CONTRIB-20</key>
            <summary>Report progress in http.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="2">Declined</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Aug 2009 23:12:00 -0500</created>
                <updated>Tue, 24 Aug 2010 13:15:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:15:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25559" author="importer" created="Tue, 24 Aug 2010 13:15: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;/p&gt;</comment>
                    <comment id="25560" author="importer" created="Tue, 24 Aug 2010 13:15:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25561" author="importer" created="Tue, 24 Aug 2010 13:15:00 -0500"  >&lt;p&gt;stuart.sierra said: Let&apos;s be honest, I am never going to implement this.&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>[CONTRIB-31] Contribs profiler can run into an Exception</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-31</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The profile function from clojure.contrib.profile can run into&lt;br/&gt;
an Exception when it&apos;s argument is a lazy sequence.&lt;br/&gt;
Reproduce this problem:&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;(use &apos;clojure.contrib.profile)

(defn foo [x] (prof :foo (+ x 10)))

(profile (map foo (range 5))) ==&amp;gt;
java.lang.IllegalArgumentException: Wrong number of args passed to: core$max

(profile (pmap foo (range 5))) ==&amp;gt;
java.lang.IllegalArgumentException: Wrong number of args passed to: core$max

(profile (doseq [i (range 5)] (foo i))) ==&amp;gt; Works fine&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="14191">CONTRIB-31</key>
            <summary>Contribs profiler can run into an 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="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Sep 2009 16:40:00 -0500</created>
                <updated>Tue, 24 Aug 2010 15:28:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:28:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25610" author="importer" created="Tue, 24 Aug 2010 15:28:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/31&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/31&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25611" author="importer" created="Tue, 24 Aug 2010 15:28:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25612" author="importer" created="Tue, 24 Aug 2010 15:28:00 -0500"  >&lt;p&gt;stu said: The problem isn&apos;t lazy sequences, but the absence of any data to report on. Commit 6dd033d9e12337f6630faa3d3f5c2e901a28c4f4 prevents the exception, and causes the printed report to be empty in the case there is nothing to report. &lt;/p&gt;

&lt;p&gt;On the calling side, the examples shown above aren&apos;t profiling anything, because the lazy calls are never evaluated. You should use some kind of &quot;do&quot; form instead.&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>[CONTRIB-37] Include math/lcm for more than 2 args</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-37</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Please pull changes from &lt;a href=&quot;http://github.com/neotyk/clojure-contrib/commit/b70d0c0fd16f6ea6b963fceb39b6d60f1ca55e95&quot;&gt;neotyk/clojure-contrib&lt;/a&gt;.&lt;br/&gt;
This is very small improvement of math/lcm just to accept more than two arguments.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14197">CONTRIB-37</key>
            <summary>Include math/lcm for more than 2 args</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>Sat, 17 Oct 2009 08:22:00 -0500</created>
                <updated>Tue, 24 Aug 2010 04:51:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 04:51:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25638" 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/37&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/37&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25639" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25640" author="importer" created="Tue, 24 Aug 2010 04:51:00 -0500"  >&lt;p&gt;stu said: Hi Hubert,&lt;/p&gt;

&lt;p&gt;Have you signed the Contributor Agreement? If so, please let me know and resubmit this patch.&lt;/p&gt;

&lt;p&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>[CONTRIB-38] repl_utils addition: apropos</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-38</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;An implementation of apropos, as found in some Scheme implementations: given a symbol or a string s, return all definitions in currently-loaded namespaces that contains s as part of their names.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14198">CONTRIB-38</key>
            <summary>repl_utils addition: apropos</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>Fri, 23 Oct 2009 07:53:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:55:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25641" author="importer" created="Tue, 24 Aug 2010 11:55: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;
repl_utils_apropos.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/agSq5KV7mr3OndeJe5afGb/download/agSq5KV7mr3OndeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/agSq5KV7mr3OndeJe5afGb/download/agSq5KV7mr3OndeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25642" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;hircus said: [&lt;a href=&quot;file:agSq5KV7mr3OndeJe5afGb&quot;&gt;file:agSq5KV7mr3OndeJe5afGb&lt;/a&gt;]: adds apropos function&lt;/p&gt;</comment>
                    <comment id="25643" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25644" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;stu said: Michel,&lt;/p&gt;

&lt;p&gt;I modified the apropos function to also work with regular expressions. If that is a problem please create another ticket or email me directly.&lt;/p&gt;

&lt;p&gt;Sorry this took so long to get in.&lt;/p&gt;

&lt;p&gt;Stu&lt;/p&gt;</comment>
                    <comment id="25645" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-27] str-utils2: add type hints for returned values</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-27</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;clojure.contrib.str-utils2 is has type hints for function arguments, but not for the functions themselves, so return values are not type-hinted.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14187">CONTRIB-27</key>
            <summary>str-utils2: add type hints for returned 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="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Aug 2009 00:44:00 -0500</created>
                <updated>Tue, 24 Aug 2010 07:20:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:20:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25595" author="importer" created="Tue, 24 Aug 2010 07:20: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;/p&gt;</comment>
                    <comment id="25596" author="importer" created="Tue, 24 Aug 2010 07:20:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/4b4f6ab5bcab58c4219eb50395bd366daea3ecc3&quot;&gt;revision:4b4f6ab5bcab58c4219eb50395bd366daea3ecc3&lt;/a&gt;) str_utils2.clj: added type hints for String return values; fixes #27&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>[CONTRIB-43] add wall-hack-method and wall-hack-field to java_utils.clj</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-43</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;fns for access private or protected methods or fields&lt;/p&gt;</description>
                <environment></environment>
            <key id="14203">CONTRIB-43</key>
            <summary>add wall-hack-method and wall-hack-field to java_utils.clj</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="hiredman">Kevin Downey</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 7 Nov 2009 15:17:00 -0600</created>
                <updated>Tue, 24 Aug 2010 21:06:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 21:06:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25659" author="importer" created="Tue, 24 Aug 2010 21:06: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;br/&gt;
Attachments:&lt;br/&gt;
wall-hack.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a2XedQY2ur3Q1LeJe5afGb/download/a2XedQY2ur3Q1LeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a2XedQY2ur3Q1LeJe5afGb/download/a2XedQY2ur3Q1LeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25660" author="importer" created="Tue, 24 Aug 2010 21:06:00 -0500"  >&lt;p&gt;hiredman said: [&lt;a href=&quot;file:a2XedQY2ur3Q1LeJe5afGb&quot;&gt;file:a2XedQY2ur3Q1LeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25661" author="importer" created="Tue, 24 Aug 2010 21:06:00 -0500"  >&lt;p&gt;hiredman said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/cc4e2ec2bf558f059330ebc97a031d7806a1e364&quot;&gt;revision:cc4e2ec2bf558f059330ebc97a031d7806a1e364&lt;/a&gt;) add wall-hack-method and wall-hack-field. fixes #43&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_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CONTRIB-41] PersistentFnMap doesn&apos;t handle both valAt arities</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-41</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;clojure.contrib.fnmap.PersistentFnMap implements Associative (and thus ILookup) but doesn&apos;t supply a definition for both arities of valAt - needs to add&lt;/p&gt;

&lt;p&gt;-valAt (&lt;span class=&quot;error&quot;&gt;&amp;#91;this key&amp;#93;&lt;/span&gt; ...) (&lt;span class=&quot;error&quot;&gt;&amp;#91;this key not-found&amp;#93;&lt;/span&gt; ...)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14201">CONTRIB-41</key>
            <summary>PersistentFnMap doesn&apos;t handle both valAt arities</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>Sat, 31 Oct 2009 00:20:00 -0500</created>
                <updated>Tue, 24 Aug 2010 08:00:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:00:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25653" author="importer" created="Tue, 24 Aug 2010 08:00: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>
                    <comment id="25654" author="importer" created="Tue, 24 Aug 2010 08:00:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/962d8be44aa71ee13aa12a21f277f62b3c301021&quot;&gt;revision:962d8be44aa71ee13aa12a21f277f62b3c301021&lt;/a&gt;) PersistentFnMap.clj: add default value arity for -valAt; fixes #41&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>[CONTRIB-39] tracing enhancement: dotrace</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-39</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;As &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/e438e926eb33654c&quot;&gt;discussed&lt;/a&gt; a few months ago on Google Groups:&lt;/p&gt;

&lt;p&gt;dotrace lets one easily trace calls to the named functions, by rebinding them so that calls to these functions within the dotrace body invoke the trace-enabled functions instead of the originals.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14199">CONTRIB-39</key>
            <summary>tracing enhancement: dotrace</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, 23 Oct 2009 10:29:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:55:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25646" author="importer" created="Tue, 24 Aug 2010 11:55: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;br/&gt;
Attachments:&lt;br/&gt;
dotrace.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bTctXwV8ar3PNheJe5afGb/download/bTctXwV8ar3PNheJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bTctXwV8ar3PNheJe5afGb/download/bTctXwV8ar3PNheJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25647" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;hircus said: [&lt;a href=&quot;file:bTctXwV8ar3PNheJe5afGb&quot;&gt;file:bTctXwV8ar3PNheJe5afGb&lt;/a&gt;]: dotrace implementation&lt;/p&gt;</comment>
                    <comment id="25648" author="importer" created="Tue, 24 Aug 2010 11:55:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/6dff158bdec5f06c33877c6c6550699d5e08ca71&quot;&gt;revision:6dff158bdec5f06c33877c6c6550699d5e08ca71&lt;/a&gt;) trace.clj: add dotrace; fixes #39&lt;/p&gt;

&lt;p&gt;Patch from Michel Salim&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>[CONTRIB-36] clojure.contrib.test-is use-fixtures function composes fixture functions repeatedly (Backport clojure #194)</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-36</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;For the clojure-1.0-compatibility branch,  copy the fix from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/194-clojure-test-use-fixtures-function-composes-fixture-functions-repeatedly&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/194-clojure-test-use-fixtures-function-composes-fixture-functions-repeatedly&lt;/a&gt;&lt;/p&gt;

&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;br/&gt;
  (use-fixtures :each my-cleanup)   (deftest my-messy-test &lt;span class=&quot;error&quot;&gt;&amp;#91;&#65533;&#65533;&#65533;&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="14196">CONTRIB-36</key>
            <summary>clojure.contrib.test-is use-fixtures function composes fixture functions repeatedly (Backport clojure #194)</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, 14 Oct 2009 23:28:00 -0500</created>
                <updated>Tue, 24 Aug 2010 11:49:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 11:49:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25636" author="importer" created="Tue, 24 Aug 2010 11:49: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;
test-fixtures-36.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ajZUI6Ur0r3PnzeJe5aVNr/download/ajZUI6Ur0r3PnzeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ajZUI6Ur0r3PnzeJe5aVNr/download/ajZUI6Ur0r3PnzeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25637" author="importer" created="Tue, 24 Aug 2010 11:49:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:ajZUI6Ur0r3PnzeJe5aVNr&quot;&gt;file:ajZUI6Ur0r3PnzeJe5aVNr&lt;/a&gt;]: patch copy of clojure 194&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>[CONTRIB-48] Replace instances of ^ reader macro with (meta ...)</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-48</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Clojure 1.1 is deprecating the form ^x in favor of (meta x) in order to reclaim the ^ prefix.&lt;/p&gt;

&lt;p&gt;We need to get clojure.contrib to respect this in order to avoid having deprecation warnings.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14208">CONTRIB-48</key>
            <summary>Replace instances of ^ reader macro with (meta ...)</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>Mon, 7 Dec 2009 09:51:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:28:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:28:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25697" author="importer" created="Tue, 24 Aug 2010 06:28: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;br/&gt;
Attachments:&lt;br/&gt;
meta.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dmYXqQ5Iyr3QaYeJe5afGb/download/dmYXqQ5Iyr3QaYeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dmYXqQ5Iyr3QaYeJe5afGb/download/dmYXqQ5Iyr3QaYeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25698" author="importer" created="Tue, 24 Aug 2010 06:28:00 -0500"  >&lt;p&gt;abscondment said: [&lt;a href=&quot;file:dmYXqQ5Iyr3QaYeJe5afGb&quot;&gt;file:dmYXqQ5Iyr3QaYeJe5afGb&lt;/a&gt;]: I believe this replaces all instances of the macro.&lt;/p&gt;</comment>
                    <comment id="25699" author="importer" created="Tue, 24 Aug 2010 06:28:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/e5b7819ef66410a87b8072417dc2f09ac4ddb03f&quot;&gt;revision:e5b7819ef66410a87b8072417dc2f09ac4ddb03f&lt;/a&gt;) Changed all instances of ^x across contrib to (meta x) since the ^x form is being deprecated in 1.1&lt;br/&gt;
refs #48&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25700" author="importer" created="Tue, 24 Aug 2010 06:28:00 -0500"  >&lt;p&gt;tomfaulhaber said: Sorry, Brendan I didn&apos;t see your patch before I did almost exactly the same thing. I went ahead and pushed my stuff instead since I don&apos;t think that yours would have passed test_contrib (the pprint test you modified would have failed in your version, I just took it out in my version). Let me know if  I missed anything.&lt;/p&gt;</comment>
                    <comment id="25701" author="importer" created="Tue, 24 Aug 2010 06:28:00 -0500"  >&lt;p&gt;abscondment said: Oh, no worries! The tests passed when I ran them (unless I&apos;ve gone totally crazy), but I don&apos;t think coverage is really worse off without that one.&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>[CONTRIB-46] make duck-streams work with java.net.Socket</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-46</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Add another type for the key multimethods in duck-streams.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14206">CONTRIB-46</key>
            <summary>make duck-streams work with java.net.Socket</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="devlinsf">Sean Devlin</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Nov 2009 21:35:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:10:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:10:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25690" 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/46&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/46&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
expand-duck-streams.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aky6QM0a4r3QwreJe5aVNr/download/aky6QM0a4r3QwreJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aky6QM0a4r3QwreJe5aVNr/download/aky6QM0a4r3QwreJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25691" author="importer" created="Tue, 24 Aug 2010 06:10:00 -0500"  >&lt;p&gt;devlinsf said: [&lt;a href=&quot;file:aky6QM0a4r3QwreJe5aVNr&quot;&gt;file:aky6QM0a4r3QwreJe5aVNr&lt;/a&gt;]: expand reader/writer to work w/ sockets.&lt;/p&gt;</comment>
                    <comment id="25692" author="importer" created="Tue, 24 Aug 2010 06:10:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/2ae8ff46d348522efe9f96cfd31f6e9b6018cfdc&quot;&gt;revision:2ae8ff46d348522efe9f96cfd31f6e9b6018cfdc&lt;/a&gt;) duck_streams.clj: support Socket in reader &amp;amp; writer; fixes #46&lt;/p&gt;

&lt;p&gt;Patch by Sean Devlin&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>[CONTRIB-51] Add let-kw to c.c.macros</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-51</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;As discussed &lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/d6b5fa21073541c1&quot;&gt;in this thread&lt;/a&gt; on the main Clojure list, I&apos;m submitting the let-kw keyword argument processing macro. Please see the attached patch (against the master branch). This is the version &lt;a href=&quot;http://groups.google.com/group/clojure/msg/3ee695696c5ea1ec&quot;&gt;from this message&lt;/a&gt;, which uses symbols for binding, like the normal let form (rather than keywords). The attached patch has a few tests which also provide decent usage examples.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14211">CONTRIB-51</key>
            <summary>Add let-kw to c.c.macros</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, 12 Dec 2009 00:33:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:33:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:33:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25712" author="importer" created="Tue, 24 Aug 2010 06:33: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;
let-kw.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a_GQWq51ur3PBzeJe5afGb/download/a_GQWq51ur3PBzeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a_GQWq51ur3PBzeJe5afGb/download/a_GQWq51ur3PBzeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25713" author="importer" created="Tue, 24 Aug 2010 06:33:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)&lt;/p&gt;</comment>
                    <comment id="25714" author="importer" created="Tue, 24 Aug 2010 06:33:00 -0500"  >&lt;p&gt;vetoshev said: Canceling this ticket; similar functionality is now in Clojure core: &lt;a href=&quot;http://github.com/richhickey/clojure/commit/29389970bcd41998359681d9a4a20ee391a1e07c&quot;&gt;http://github.com/richhickey/clojure/commit/29389970bcd41998359681d9a4a20ee391a1e07c&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25715" author="importer" created="Tue, 24 Aug 2010 06:33:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-47] cl-format rounding bugs</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-47</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Reported to me by Carlos Ungil (and confirmed by me):&lt;/p&gt;

&lt;p&gt;Unfortunately there are still some issues with rounding. I&apos;ve noticed that when the&lt;br/&gt;
mantissa is rounded up from 9 to 10 the exponent is not changed&lt;br/&gt;
accordingly. As a result, we get for example&lt;br/&gt;
clojure.contrib.pprint&amp;gt; (cl-format nil &quot;~,0F&quot; 9.4) =&amp;gt; &quot;9.&quot;&lt;br/&gt;
clojure.contrib.pprint&amp;gt; (cl-format nil &quot;~,0F&quot; 9.5) =&amp;gt; &quot;1.0&quot;&lt;/p&gt;

&lt;p&gt;I&apos;ve compared the output from Clojure and Common Lisp for a handful of&lt;br/&gt;
cases. Below we see how &quot;0.10&quot; is returned instead of &quot;1.0&quot; when&lt;br/&gt;
printing 0.99 with a single digit after the decimal point. There is&lt;br/&gt;
also a minor problem with &quot;01.&quot; being printed instead of &quot;1.&quot;, but&lt;br/&gt;
returning a different representation for a number is of course not as&lt;br/&gt;
bad as returning a wrong representation.&lt;/p&gt;

&lt;p&gt;;;(map #(cl-format nil % 0.99) &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;~,0F&amp;quot; &amp;quot;~,1F&amp;quot; &amp;quot;~,2F&amp;quot; &amp;quot;~,3F&amp;quot;&amp;#93;&lt;/span&gt;)&lt;br/&gt;
(&quot;01.&quot; &quot;0.10&quot; &quot;0.99&quot; &quot;0.990&quot;)&lt;br/&gt;
;;(loop for fmt in &apos;(&quot;&lt;sub&gt;,0F&quot; &quot;&lt;/sub&gt;,1F&quot; &quot;&lt;sub&gt;,2F&quot; &quot;&lt;/sub&gt;,3F&quot;) collect (format nil&lt;br/&gt;
fmt 0.99))&lt;br/&gt;
(&quot;1.&quot; &quot;1.0&quot; &quot;0.99&quot; &quot;0.990&quot;)&lt;/p&gt;

&lt;p&gt;There are also issues with negative numbers, the add-sign variable has&lt;br/&gt;
the same bug in fixed-float that it had in dollar-float but fixing&lt;br/&gt;
that is not enough to correct the problem.&lt;/p&gt;

&lt;p&gt;;; &amp;gt; (map #(cl-format nil % -0.99) &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;~,0F&amp;quot; &amp;quot;~,1F&amp;quot; &amp;quot;~,2F&amp;quot; &amp;quot;~,3F&amp;quot;&amp;#93;&lt;/span&gt;)&lt;br/&gt;
(&quot;010.&quot; &quot;0-1.0&quot; &quot;0-0.99&quot; &quot;0-0.990&quot;)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14207">CONTRIB-47</key>
            <summary>cl-format rounding bugs</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, 3 Dec 2009 06:07:00 -0600</created>
                <updated>Tue, 24 Aug 2010 13:25:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:25:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25693" author="importer" created="Tue, 24 Aug 2010 13:25:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/47&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/47&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25694" author="importer" created="Tue, 24 Aug 2010 13:25:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#28, #32, #45, #47, #51, #19)&lt;/p&gt;</comment>
                    <comment id="25695" author="importer" created="Tue, 24 Aug 2010 13:25:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/912e5671cc8237addf55753ff524bf283830e684&quot;&gt;revision:912e5671cc8237addf55753ff524bf283830e684&lt;/a&gt;) clojure.contrib.pprint (cl-format): Fixes to rounding and width issues in ~f and ~$. See #47.&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25696" author="importer" created="Tue, 24 Aug 2010 13:25:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/5a703b33391e9486548af9ae7d8c3601d6f44505&quot;&gt;revision:5a703b33391e9486548af9ae7d8c3601d6f44505&lt;/a&gt;) Remove debug prints &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;. See #47&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>[CONTRIB-44] AOT compilation of clojure-contrib.jar pre-sets logging implementation</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-44</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Using ant to build clojure-contrib.jar causes clojure.contrib.logging to be AOT-compiled.&lt;/p&gt;

&lt;p&gt;This means that the classpath at contrib build time affects which logging implementation is used, not the classpath in use when the code &lt;b&gt;using&lt;/b&gt; c.c.l is compiled.&lt;/p&gt;

&lt;p&gt;Using a standard pre-built clojure-contrib.jar one can never use anything but java.util.logging! That&apos;s bad for anyone who uses released snapshots, or who uses different log implementations on different projects, but doesn&apos;t want to maintain different builds of clojure-contrib.jar.&lt;/p&gt;

&lt;p&gt;Furthermore, someone building clojure-contrib.jar with, say, log4j in their classpath will produce a jar in which c.c.l will fail when log4j is unavailable:&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; (use &apos;clojure.contrib.logging)
    java.lang.NoClassDefFoundError: org/apache/log4j/Level (NO_SOURCE_FILE:0)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;c.c.l should be adjusted so that the logging implementation is not discovered until runtime, or otherwise be removed from the AOT-compiled set.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14204">CONTRIB-44</key>
            <summary>AOT compilation of clojure-contrib.jar pre-sets logging 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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 8 Nov 2009 23:25:00 -0600</created>
                <updated>Tue, 24 Aug 2010 00:06:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 00:06:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25662" author="importer" created="Tue, 24 Aug 2010 00:06: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;
0001-Delayed-detection-of-logging-implementation.-See-44.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/deght-7A8r3P1ZeJe5aVNr/download/deght-7A8r3P1ZeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/deght-7A8r3P1ZeJe5aVNr/download/deght-7A8r3P1ZeJe5aVNr&lt;/a&gt;&lt;br/&gt;
logging-aotc-compatible.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/asSL5Ea1qr34B3eJe5aVNr/download/asSL5Ea1qr34B3eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/asSL5Ea1qr34B3eJe5aVNr/download/asSL5Ea1qr34B3eJe5aVNr&lt;/a&gt;&lt;br/&gt;
actual-aotc-fix.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b3wOBUbi0r37IeeJe5aVNr/download/b3wOBUbi0r37IeeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b3wOBUbi0r37IeeJe5aVNr/download/b3wOBUbi0r37IeeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25663" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;rnewman said: This simple diff fixes things, albeit at the cost of runtime work.&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;diff --git a/build.xml b/build.xml
index e72d36e..fa1161c 100644
--- a/build.xml
+++ b/build.xml
@@ -118,6 +118,7 @@
         &amp;lt;exclude name=&lt;span class=&quot;code-quote&quot;&gt;&quot;**/repl_utils/javadoc.clj&quot;&lt;/span&gt;/&amp;gt;
         &amp;lt;exclude name=&lt;span class=&quot;code-quote&quot;&gt;&quot;clojure/contrib/load_all.clj&quot;&lt;/span&gt;/&amp;gt;
         &amp;lt;exclude name=&lt;span class=&quot;code-quote&quot;&gt;&quot;**/tests.clj&quot;&lt;/span&gt;/&amp;gt;
+        &amp;lt;exclude name=&lt;span class=&quot;code-quote&quot;&gt;&quot;**/logging.clj&quot;&lt;/span&gt;/&amp;gt;
       &amp;lt;/fileset&amp;gt;
       &amp;lt;chainedmapper&amp;gt;
         &amp;lt;packagemapper from=&lt;span class=&quot;code-quote&quot;&gt;&quot;${src}/*.clj&quot;&lt;/span&gt; to=&lt;span class=&quot;code-quote&quot;&gt;&quot;*&quot;&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="25664" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;cemerick said: That&apos;s not really a solution, especially for those of us who can&apos;t (or don&apos;t want to) ship .clj files.&lt;/p&gt;

&lt;p&gt;Would folks be amenable to having each logging system setup fn return a map of implementation fns, which can sit in a top-level delay?  This would push selection of a logging system out of compile-time, regardless of AOT.  Adds the cost of a deref to each logging call, but I can certainly live with that.&lt;/p&gt;</comment>
                    <comment id="25665" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;rnewman said: Yes, I don&apos;t consider it a solution, but it at least allows me and other people to use something other than j.u.l until Alex rewrites this library.&lt;/p&gt;

&lt;p&gt;Sure would be nice to have eval-when&#65533;&#65533;&#65533;&lt;/p&gt;</comment>
                    <comment id="25666" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;cemerick said: I don&apos;t think what I suggested this morning would require much.  If Alex et al. are amenable to it, I&apos;d be happy to produce a patch when I have some spare moments.&lt;/p&gt;</comment>
                    <comment id="25667" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;mattrevelle said: I&apos;m going to go ahead and write up a patch for Chas&apos; proposition.  Alex, if you already have something in mind then feel free to kick me off the ticket.&lt;/p&gt;</comment>
                    <comment id="25668" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;mattrevelle said: [&lt;a href=&quot;file:deght-7A8r3P1ZeJe5aVNr&quot;&gt;file:deght-7A8r3P1ZeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25669" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;mattrevelle said: Patch attached above.  Feedback very welcome.&lt;/p&gt;</comment>
                    <comment id="25670" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: I didn&apos;t notice this ticket until today; guess the initial assignment got lost in all the email noise.&lt;/p&gt;

&lt;p&gt;I&apos;ll take a look at what&apos;s been done so far.&lt;/p&gt;</comment>
                    <comment id="25671" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: I must say, I&apos;m a bit put off by the notion that we should have to discard perfectly useful aspects of Clojure to suit some peoples reaction to whether a JAR contains some .clj files vs. exclusively .class files.  AOT should be an option for code, not a mandate that infects all code in contrib.&lt;/p&gt;

&lt;p&gt;That said, I&apos;m still going to go over the proposed changes.&lt;/p&gt;</comment>
                    <comment id="25672" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;technomancy said: I recommend turning off AOT until Alex gets a chance to go over this patch in more detail.&lt;/p&gt;</comment>
                    <comment id="25673" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;scgilardi said: if nobody objects, I plan to make Phil&apos;s suggested minimal workaround patch &quot;change build.xml to turn off aot for this one file&quot; today.&lt;/p&gt;</comment>
                    <comment id="25674" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;mattrevelle said: Sounds good.&lt;/p&gt;</comment>
                    <comment id="25675" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;scgilardi said: Checked in to the master branch: change to build.xml so it doesn&apos;t compile logging.clj. (suggested by Richard Newman, Phil Hagelberg).&lt;/p&gt;

&lt;p&gt;Do we need this interim change on the 1.1.x branch? Re: 1.1.x, Stuart mentioned &quot;assume all library code is frozen on these branches&quot;. I don&apos;t plan to push this change to the 1.1.x branch without more discussion.&lt;/p&gt;</comment>
                    <comment id="25676" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;rnewman said: The problem is actually worse for people who use a pre-packaged  &lt;br/&gt;
release: c.c.logging will use the logging implementation available on  &lt;br/&gt;
the machine on which the release was built. I&apos;m in favor of pushing  &lt;br/&gt;
the fix wherever it can go.&lt;/p&gt;</comment>
                    <comment id="25677" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;stuart.sierra said: Added to 1.1.x branch, included in 1.1.0-RC2&lt;/p&gt;</comment>
                    <comment id="25678" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;stuart.sierra said: That is, the temporary fix (not compiling logging.clj) is in 1.1.x and 1.1.0-RC2&lt;/p&gt;</comment>
                    <comment id="25679" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;timothypratley said: The issue remains in clojure-contrib-1.1.0-master-20100111.160148-18.jar  (do RC live elsewhere than &lt;a href=&quot;http://build.clojure.org/snapshots&quot;&gt;http://build.clojure.org/snapshots&lt;/a&gt; ?)&lt;/p&gt;

&lt;p&gt;Might it be possible to have the best of both worlds by having a dynamic binding of the macros? By this I mean the log macros can be rebound when the lib is used, so macro expansions after loading the lib will use the current environment. This would preclude AOT libs from &lt;b&gt;using&lt;/b&gt; logging though, as the macro would be different in the lib compile environment and the user compile environment.&lt;/p&gt;

&lt;p&gt;It seems the most robust solution would be to allow the choice of either fully dynamic log binding (might be useful for libs), or macro expanded logging... which would require two namespaces: clojure.contrib.logging and clojure.contrib.logging-dynamic or something like that.&lt;/p&gt;</comment>
                    <comment id="25680" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:asSL5Ea1qr34B3eJe5aVNr&quot;&gt;file:asSL5Ea1qr34B3eJe5aVNr&lt;/a&gt;]: patch to handle aotc issues&lt;/p&gt;</comment>
                    <comment id="25681" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: I&apos;ve taken Matt&apos;s idea regarding delays and made a less invasive change.&lt;/p&gt;

&lt;p&gt;The patch also contains some switches that can be set during compilation to obviate certain performance penalties introduced in order to handle AOTC.&lt;/p&gt;

&lt;p&gt;See the note at the bottom of the ns docs for more info.&lt;/p&gt;</comment>
                    <comment id="25682" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: Ok, I clearly was working on this too late in the evening.  There are some kinks to work out.  Setting back to new until I have them ironed out.&lt;/p&gt;</comment>
                    <comment id="25683" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:b3wOBUbi0r37IeeJe5aVNr&quot;&gt;file:b3wOBUbi0r37IeeJe5aVNr&lt;/a&gt;]: Final (I hope) patch attempt&lt;/p&gt;</comment>
                    <comment id="25684" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: Wow, I&apos;m an idiot.&lt;/p&gt;

&lt;p&gt;The solution was simply to make the implementation-specific-def&apos;ing macros (e.g., log4j-logging) into functions that call eval at runtime.&lt;/p&gt;

&lt;p&gt;Sigh.&lt;/p&gt;</comment>
                    <comment id="25685" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;ataggart said: Not sure what &quot;Next Release&quot; means, but the latest patch (on Jan 18 15:59) can be pushed to master at anytime.&lt;/p&gt;</comment>
                    <comment id="25686" author="importer" created="Tue, 24 Aug 2010 00:06:00 -0500"  >&lt;p&gt;stuart.sierra said: Applied in commit 655060b3f265026ef3b45b44f5ab22d8897b3034&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>[CONTRIB-42] Pom specifies dependency on clojure 1.0-SNAPSHOT</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-42</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;It seems like contrib&apos;s master should point to the same version as clojure&apos;s master. If not, it should at least depend on the final release of 1.0; there&apos;s no reason to use a snapshot.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14202">CONTRIB-42</key>
            <summary>Pom specifies dependency on clojure 1.0-SNAPSHOT</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, 4 Nov 2009 03:01:00 -0600</created>
                <updated>Tue, 24 Aug 2010 21:02:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 21:02:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25655" author="importer" created="Tue, 24 Aug 2010 21:02:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/42&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/42&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Update-pom-to-depend-on-latest-Clojure.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ad63wgYkmr3Q_UeJe5afGb/download/ad63wgYkmr3Q_UeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ad63wgYkmr3Q_UeJe5afGb/download/ad63wgYkmr3Q_UeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25656" author="importer" created="Tue, 24 Aug 2010 21:02:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:ad63wgYkmr3Q_UeJe5afGb&quot;&gt;file:ad63wgYkmr3Q_UeJe5afGb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25657" author="importer" created="Tue, 24 Aug 2010 21:02:00 -0500"  >&lt;p&gt;technomancy said: Also: didn&apos;t we decide to change the artifactId from &quot;clojure-lang&quot; to just &quot;clojure&quot;?&lt;/p&gt;</comment>
                    <comment id="25658" author="importer" created="Tue, 24 Aug 2010 21:02:00 -0500"  >&lt;p&gt;technomancy said: Somehow I was looking at an older revision of this file; it has been fixed. Sorry!&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>[CONTRIB-40] bugs in cl-format</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-40</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;As reported in the google group (&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/ae3e636a44c95686):&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/ae3e636a44c95686):&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I&apos;ve encountered a couple of issues with the cl-format function&lt;br/&gt;
included in contrib.pprint&lt;/p&gt;

&lt;p&gt;(cl-format nil &quot;~1,1$&quot; -12.0) ;; =&amp;gt; &quot;12.0&quot;  the sign is lost&lt;/p&gt;

&lt;p&gt;I think the problem is the following assignment in the dollar-float&lt;br/&gt;
function&lt;br/&gt;
        add-sign (and (:at params) (not (neg? arg)))     ;; wrong&lt;br/&gt;
(the sign is only printed when the colon modifier is present and only&lt;br/&gt;
for positive numbers)&lt;br/&gt;
that should read, if I understand correctly the logic,&lt;br/&gt;
        add-sign (or (:at params) (neg? arg))&lt;/p&gt;

&lt;p&gt;The second issue is not so straightforward to solve:&lt;/p&gt;

&lt;p&gt;(cl-format true &quot;&lt;sub&gt;1,1$&lt;/sub&gt;%&quot; 0.001) ;; =&amp;gt; String index out of range: -1&lt;/p&gt;

&lt;p&gt;I&apos;ve tracked down the bug into the function round-str (the variable&lt;br/&gt;
round-pos will be negative and this case is not handled properly), but&lt;br/&gt;
I don&apos;t understand the code well enough to propose a fix.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;Carlos&lt;/p&gt;</description>
                <environment></environment>
            <key id="14200">CONTRIB-40</key>
            <summary>bugs in cl-format</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>Sat, 31 Oct 2009 02:19:00 -0500</created>
                <updated>Tue, 24 Aug 2010 08:00:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:00:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25649" author="importer" created="Tue, 24 Aug 2010 08:00: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;/p&gt;</comment>
                    <comment id="25650" author="importer" created="Tue, 24 Aug 2010 08:00:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/3f267049a38f205ac3c7d91173c63648f139e790&quot;&gt;revision:3f267049a38f205ac3c7d91173c63648f139e790&lt;/a&gt;) cl-format: ~$ wasn&apos;t handling negative numbers correctly&lt;br/&gt;
refs #40&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25651" author="importer" created="Tue, 24 Aug 2010 08:00:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/6f9e9c276bf53b0fce2275abf29a25f9735a6409&quot;&gt;revision:6f9e9c276bf53b0fce2275abf29a25f9735a6409&lt;/a&gt;) cl-format: ~$ wasn&apos;t handling very small fractions (that round to 0) correctly.&lt;br/&gt;
refs #40&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25652" author="importer" created="Tue, 24 Aug 2010 08:00:00 -0500"  >&lt;p&gt;tomfaulhaber said: Fixed with the two above changelists&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>[CONTRIB-49] update pom.xml for contrib to include build.clojure.org and ticket 208 change</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-49</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The pom refers to 1.1.0-alpha, but clojure&apos;s master branch is now called 1.1.0-master. Also, the canonical maven repo for clojure is now build.clojure.org.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14209">CONTRIB-49</key>
            <summary>update pom.xml for contrib to include build.clojure.org and ticket 208 change</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>Thu, 10 Dec 2009 13:46:00 -0600</created>
                <updated>Tue, 24 Aug 2010 06:31:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 06:31:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25702" author="importer" created="Tue, 24 Aug 2010 06:31: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;/p&gt;</comment>
                    <comment id="25703" author="importer" created="Tue, 24 Aug 2010 06:31:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Fixed in commit e76ad0689697b03cf33da50304f62701d0bd4de8&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>[CONTRIB-50] Allow for externally-provided db connection to c.c.sql</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-50</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;This small patch allows an &lt;tt&gt;:external&lt;/tt&gt; key in a db-spec map, to allow the use of existing database connection.&lt;/p&gt;

&lt;p&gt;Among other benefits, this would make it trivial to use a Proxool db connection-pool with c.c.sql.&lt;/p&gt;

&lt;p&gt;(Suggestions for alternative key-names are welcome. Maybe &lt;tt&gt;:instance&lt;/tt&gt; or &lt;tt&gt;:connection-object&lt;/tt&gt; would be more clear?)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14210">CONTRIB-50</key>
            <summary>Allow for externally-provided db connection to c.c.sql</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>Fri, 11 Dec 2009 17:05:00 -0600</created>
                <updated>Tue, 24 Aug 2010 13:32:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 13:32:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25704" author="importer" created="Tue, 24 Aug 2010 13:32: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;
c-c-sql-external-key.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bsf2Y-5NCr3QaYeJe5afGb/download/bsf2Y-5NCr3QaYeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bsf2Y-5NCr3QaYeJe5afGb/download/bsf2Y-5NCr3QaYeJe5afGb&lt;/a&gt;&lt;br/&gt;
ticket-50-scg-1.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d4S8n-6m8r3PaPeJe5aVNr/download/d4S8n-6m8r3PaPeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d4S8n-6m8r3PaPeJe5aVNr/download/d4S8n-6m8r3PaPeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25705" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;scgilardi said: Hi Graham,&lt;/p&gt;

&lt;p&gt;I recall now why I didn&apos;t have this as an option already. with-connection retrieves an open connection based on the info in db-spec, allows body to use it, then closes it. If we have the connection object in the db-spec object itself, it will only be good for one use.&lt;/p&gt;

&lt;p&gt;How about this as an alternative to your patch (in addition to the other methods that will remain): Allow the user to provide a function (:factory) whose argument is a map of the remaining keys and values in the db-spec object. To retrieve a new, open connection, with-connection would call the factory object supplying a map of its params.&lt;/p&gt;

&lt;p&gt;I think this will provide enough of an escape hatch for &lt;b&gt;any&lt;/b&gt; source of open database connections to be used while still preserving db-spec as an immutable object that specifies how to retrieve them.&lt;/p&gt;</comment>
                    <comment id="25706" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;scgilardi said: [&lt;a href=&quot;file:d4S8n-6m8r3PaPeJe5aVNr&quot;&gt;file:d4S8n-6m8r3PaPeJe5aVNr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25707" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;gmfawcett said: Hi Steve,&lt;/p&gt;

&lt;p&gt;I had considered the &lt;tt&gt;:factory&lt;/tt&gt; approach as an option, and would be fine with it &amp;#8211; certainly it&apos;s a better general solution. &lt;/p&gt;

&lt;p&gt;In my specific case, though, auto-closing is a good thing: Proxool connections are proxy-objects, and closing one signals that the underlying connection can be returned to the connection pool.&lt;/p&gt;

&lt;p&gt;I think you&apos;re proposing adding logic to (with-connection*), to not use (with-open) if the &lt;tt&gt;:factory&lt;/tt&gt; key is used? If so, perhaps we could also add a optional &lt;tt&gt;:factory-close&lt;/tt&gt; key, whose value is either&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;a cleanup function, e.g. {{{:factory-close (fn &lt;span class=&quot;error&quot;&gt;&amp;#91;conn&amp;#93;&lt;/span&gt; (.close conn))}}}&lt;/li&gt;
	&lt;li&gt;a boolean, e.g. {&lt;tt&gt;:factory-close true&lt;/tt&gt;} implies that (with-connection*) should use (with-open) to close the factory-supplied connection?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I&apos;m happy to provide an alternate patch once we sort out the details. (I know it&apos;s only a few minutes of typing; no offense will be taken if you code something yourself and ignore my patch.)&lt;/p&gt;</comment>
                    <comment id="25708" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;gmfawcett said: Just to clarify my last comment: I understand your comment about not wanting a possibly-closed connection object as a value in the map. In my test code, the :external worked just fine &amp;#8211; in spite of the &quot;closed&quot; object in the map, I could re-use it without any trouble. Proxool must be doing some magic to make this work. But this is bad form. &lt;/p&gt;

&lt;p&gt;+1 for your :factory patch, and I&apos;m still in favour of :factory-close if you would accept a patch for (with-connection*) as well.&lt;/p&gt;</comment>
                    <comment id="25709" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;scgilardi said: I like the uniformity of using with-open on all the connections. I&apos;d like to save :factory-close until we have a usecase where it&apos;s needed. Could you please test the :factory patch in your setup? If you find that it works well for you, I&apos;d like to commit it. Thanks!&lt;/p&gt;</comment>
                    <comment id="25710" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;gmfawcett said: I&apos;ve tested your patch, and :factory works just fine for me. &lt;/p&gt;

&lt;p&gt;I withdraw the :factory-close suggestion for now, since I don&apos;t need it. (I had suggested it based on a false assumption that you were patching with-connection* as well.)&lt;/p&gt;

&lt;p&gt;Thank you!&lt;/p&gt;</comment>
                    <comment id="25711" author="importer" created="Tue, 24 Aug 2010 13:32:00 -0500"  >&lt;p&gt;importer said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/be33acd87f190d9ec2ad756d8cb31c88abca7e5f&quot;&gt;revision:be33acd87f190d9ec2ad756d8cb31c88abca7e5f&lt;/a&gt;) Add Factory as a method of obtaining open database connections, fixes #50&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>[CONTRIB-59] Bug in test_java_utils.clj</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-59</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;I got test error today (21 Jan 2009, GMT+5:30) on Clojure-contrib 1.1 (maven branch) while running &quot;mvn assembly:assembly&quot; on Windows XP 32-bit on JDK 1.6.0_18.&lt;/p&gt;

&lt;p&gt;&amp;lt;snip&amp;gt;passing tests&amp;lt;/snip&amp;gt;&lt;/p&gt;

&lt;p&gt;FAIL in (test-relative-path-string) (run-test503247994263281606.clj:130)&lt;br/&gt;
absolute path strings are forbidden&lt;br/&gt;
expected: (thrown? IllegalArgumentException (relative-path-string &quot;/baz&quot;))&lt;br/&gt;
  actual: nil&lt;/p&gt;

&lt;p&gt;FAIL in (test-relative-path-string) (run-test503247994263281606.clj:130)&lt;br/&gt;
absolute File paths are forbidden&lt;br/&gt;
expected: (thrown? IllegalArgumentException (relative-path-string (File. &quot;/quux&quot;)))&lt;br/&gt;
  actual: nil&lt;/p&gt;

&lt;p&gt;FAIL in (test-file) (run-test503247994263281606.clj:130)&lt;br/&gt;
no sneaking in absolute paths!&lt;br/&gt;
expected: (thrown? IllegalArgumentException (file &quot;foo&quot; &quot;bar&quot; &quot;/boom&quot; &quot;baz&quot; &quot;quux&quot;))&lt;br/&gt;
  actual: nil&lt;/p&gt;

&lt;p&gt;FAIL in (test-as-url) (run-test503247994263281606.clj:130)&lt;br/&gt;
expected: (= (URL. &quot;file:/foo&quot;) (as-url (File. &quot;/foo&quot;)))&lt;br/&gt;
  actual: (not (= #&amp;lt;URL &lt;a href=&quot;file:/foo&quot;&gt;file:/foo&lt;/a&gt;&amp;gt; #&amp;lt;URL &lt;a href=&quot;file:/C:/foo&quot;&gt;file:/C:/foo&lt;/a&gt;&amp;gt;))&lt;/p&gt;

&lt;p&gt;&amp;lt;snip&amp;gt;passing tests&amp;lt;/snip&amp;gt;&lt;/p&gt;

&lt;p&gt;4 failures, 0 errors&lt;/p&gt;</description>
                <environment></environment>
            <key id="14219">CONTRIB-59</key>
            <summary>Bug in test_java_utils.clj</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, 21 Jan 2010 08:47:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:59:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:59:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25744" author="importer" created="Tue, 24 Aug 2010 07:59: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;/p&gt;</comment>
                    <comment id="25745" author="importer" created="Tue, 24 Aug 2010 07:59:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25746" author="importer" created="Tue, 24 Aug 2010 07:59:00 -0500"  >&lt;p&gt;stuart.sierra said: This is probably caused by the way Windows handles paths.  Needs a fix for portability.&lt;/p&gt;</comment>
                    <comment id="25747" author="importer" created="Tue, 24 Aug 2010 07:59:00 -0500"  >&lt;p&gt;stu said: Using File/separator should work cross-platform. Added in commit ebf0d212dcc076ebee6984d276ff037ce1a7ecbe.&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>[CONTRIB-60] Add strint (string interpolation) lib</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-60</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Previously discussed:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://muckandbrass.com/web/x/AgBP&quot;&gt;http://muckandbrass.com/web/x/AgBP&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_frm/thread/1364f0702bfe293c&quot;&gt;http://groups.google.com/group/clojure-dev/browse_frm/thread/1364f0702bfe293c&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://clojure-log.n01se.net/date/2010-01-20.html#10:51&quot;&gt;http://clojure-log.n01se.net/date/2010-01-20.html#10:51&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14220">CONTRIB-60</key>
            <summary>Add strint (string interpolation) lib</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>Sat, 23 Jan 2010 08:50:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:01:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:01:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25748" author="importer" created="Tue, 24 Aug 2010 08:01: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;
add-strint.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c1uE4-cc4r35wteJe5afGb/download/c1uE4-cc4r35wteJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c1uE4-cc4r35wteJe5afGb/download/c1uE4-cc4r35wteJe5afGb&lt;/a&gt;&lt;br/&gt;
add-strint2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aeyw6icJSr37PueJe5aVNr/download/aeyw6icJSr37PueJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aeyw6icJSr37PueJe5aVNr/download/aeyw6icJSr37PueJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25749" author="importer" created="Tue, 24 Aug 2010 08:01:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:aeyw6icJSr37PueJe5aVNr&quot;&gt;file:aeyw6icJSr37PueJe5aVNr&lt;/a&gt;]: include bugfix&lt;/p&gt;</comment>
                    <comment id="25750" author="importer" created="Tue, 24 Aug 2010 08:01:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&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>[CONTRIB-58] Add println-style args to log macros</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-58</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Per a post to the group from Phil Hagelberg:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/d91e1911e3095157&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/d91e1911e3095157&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14218">CONTRIB-58</key>
            <summary>Add println-style args to log macros</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="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 17 Jan 2010 05:58:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:55:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25739" author="importer" created="Tue, 24 Aug 2010 08:55: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;br/&gt;
Attachments:&lt;br/&gt;
easy-logging-args.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/buYy7Qa1Cr35jGeJe5afGb/download/buYy7Qa1Cr35jGeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/buYy7Qa1Cr35jGeJe5afGb/download/buYy7Qa1Cr35jGeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25740" author="importer" created="Tue, 24 Aug 2010 08:55:00 -0500"  >&lt;p&gt;ataggart said: [&lt;a href=&quot;file:buYy7Qa1Cr35jGeJe5afGb&quot;&gt;file:buYy7Qa1Cr35jGeJe5afGb&lt;/a&gt;]: patch to add format-string-based and println-style log macros&lt;/p&gt;</comment>
                    <comment id="25741" author="importer" created="Tue, 24 Aug 2010 08:55:00 -0500"  >&lt;p&gt;ataggart said: Done.  Left extant macros unchanged since modifying them could have unexpected results for end-users.&lt;/p&gt;

&lt;p&gt;New macros follow similar naming to the original ones, with println-style macros ending in &apos;p&apos;, and format-string ones ending in &apos;f&apos;.&lt;/p&gt;

&lt;p&gt;In an ideal world, the -p variants would be the default.  Backwards-compatibility is a bitch.&lt;/p&gt;</comment>
                    <comment id="25742" author="importer" created="Tue, 24 Aug 2010 08:55:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25743" author="importer" created="Tue, 24 Aug 2010 08:55:00 -0500"  >&lt;p&gt;ataggart said: Incorporated the ideas here into the new c.c.logging 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>[CONTRIB-62] duck-streams should handle bytes as well as characters</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-62</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;I&apos;d like to see duck-streams learn to support byte-oriented I/O just as well as it currently supports character-oriented I/O.&lt;/p&gt;

&lt;p&gt;I&apos;ve written an implementation and made it available on my ducks-byte &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; branch of clojure-contrib for discussion and possible inclusion.&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://github.com/bpsm/clojure-contrib/tree/ducks-byte&quot;&gt;http://github.com/bpsm/clojure-contrib/tree/ducks-byte&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The branch itself breaks the change down into a sequence of (hopefully) logical steps, so I encourage those interested to have a look at it.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Features&quot;&gt;&lt;/a&gt;Features &lt;/h1&gt;

&lt;ul&gt;
	&lt;li&gt;input-stream is like reader, except for bytes.&lt;/li&gt;
	&lt;li&gt;output-stream is like writer, except for bytes.&lt;/li&gt;
	&lt;li&gt;reader and writer now build on input-stream and output-stream where appropriate.&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;&lt;a name=&quot;Compatibility&quot;&gt;&lt;/a&gt;Compatibility&lt;/h1&gt;

&lt;p&gt;I&apos;ve renamed &lt;tt&gt;&lt;b&gt;append-to-writer&lt;/b&gt;&lt;/tt&gt; because it applies not just to writers, but also to output-streams. This might be a compatibility issue for clients that did not heed the advice given in documentation to use append-writer or append-spit instead of directly binding this var.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14222">CONTRIB-62</key>
            <summary>duck-streams should handle bytes as well as characters</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>Tue, 26 Jan 2010 09:33:00 -0600</created>
                <updated>Tue, 24 Aug 2010 09:04:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 09:04:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25755" author="importer" created="Tue, 24 Aug 2010 09:04: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;br/&gt;
Attachments:&lt;br/&gt;
0001-c.c.io-provides-input-stream-and-output-stream-for-b.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d_99D0cRWr34N6eJe5afGb/download/d_99D0cRWr34N6eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d_99D0cRWr34N6eJe5afGb/download/d_99D0cRWr34N6eJe5afGb&lt;/a&gt;&lt;br/&gt;
0001-c.c.io-provides-input-stream-and-output-stream-for-b.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b8NlJSrXKr346PeJe5afGb/download/b8NlJSrXKr346PeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b8NlJSrXKr346PeJe5afGb/download/b8NlJSrXKr346PeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25756" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:d_99D0cRWr34N6eJe5afGb&quot;&gt;file:d_99D0cRWr34N6eJe5afGb&lt;/a&gt;]: compatible with mavenized master (e.g. 18c6d2102a)&lt;/p&gt;</comment>
                    <comment id="25757" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;bpsm said: Teaching duck-streams to try to resolve a string that isn&apos;t a file or URL as a classpath resource more properly belongs in a separate ticket.&lt;/p&gt;</comment>
                    <comment id="25758" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25759" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:b8NlJSrXKr346PeJe5afGb&quot;&gt;file:b8NlJSrXKr346PeJe5afGb&lt;/a&gt;]: rebased for clojure.contrib.io&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>[CONTRIB-53] AOT of logging.clj causes logging implementation to be decided at compile-time</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-53</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;We shouldn&apos;t AOT logging.clj since this causes the log implementation to be determined at compile-time. This is almost always the wrong thing; it should be determined at load-time since it&apos;s determined by what classes are on the classpath at runtime.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14213">CONTRIB-53</key>
            <summary>AOT of logging.clj causes logging implementation to be decided at compile-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="2">Declined</resolution>
                                <assignee username="ataggart">Alexander Taggart</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Dec 2009 20:00:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:42:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:42:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25723" author="importer" created="Tue, 24 Aug 2010 08:42: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;
0001-Don-t-AOT-logging.clj.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aqNkDi9byr3Rn8eJe5aVNr/download/aqNkDi9byr3Rn8eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aqNkDi9byr3Rn8eJe5aVNr/download/aqNkDi9byr3Rn8eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25724" author="importer" created="Tue, 24 Aug 2010 08:42:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:aqNkDi9byr3Rn8eJe5aVNr&quot;&gt;file:aqNkDi9byr3Rn8eJe5aVNr&lt;/a&gt;]: A patch to build.xml&lt;/p&gt;</comment>
                    <comment id="25725" author="importer" created="Tue, 24 Aug 2010 08:42:00 -0500"  >&lt;p&gt;rnewman said: Phil, did you see #44?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.assembla.com/spaces/clojure-contrib/tickets/44-AOT-compilation-of-clojure-contrib-jar-pre-sets-logging-implementation&quot;&gt;http://www.assembla.com/spaces/clojure-contrib/tickets/44-AOT-compilation-of-clojure-contrib-jar-pre-sets-logging-implementation&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25726" author="importer" created="Tue, 24 Aug 2010 08:42:00 -0500"  >&lt;p&gt;technomancy said: Oops; dupe of #44.&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>[CONTRIB-66] fix pprint tests and reenable</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-66</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Apparently (according to ticket 65), someone has broken the pprint tests, presumably during the switch to maven and all the hacking to get around gen-class/maven bugs.&lt;/p&gt;

&lt;p&gt;Take a look at this and fix it.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14226">CONTRIB-66</key>
            <summary>fix pprint tests and reenable</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>Sun, 31 Jan 2010 10:09:00 -0600</created>
                <updated>Tue, 24 Aug 2010 22:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 22:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25777" author="importer" created="Tue, 24 Aug 2010 22:08: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="25778" author="importer" created="Tue, 24 Aug 2010 22:08:00 -0500"  >&lt;p&gt;stuart.sierra said: It appears that the ColumnWriter/-init function is getting called with 3 arguments.&lt;/p&gt;</comment>
                    <comment id="25779" author="importer" created="Tue, 24 Aug 2010 22:08:00 -0500"  >&lt;p&gt;stuart.sierra said: I don&apos;t think this was caused by changes in the build.  Something has changed about how arguments get passed to init functions.  The ColumnWriter init function is getting the same arguments as the PrettyWriter init function (a Writer, 72, and 40).&lt;/p&gt;</comment>
                    <comment id="25780" author="importer" created="Tue, 24 Aug 2010 22:08:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/5b3beaed9ef8520c8c1e09ff7ac5b817786f51e2&quot;&gt;revision:5b3beaed9ef8520c8c1e09ff7ac5b817786f51e2&lt;/a&gt;) Fix mis-named ns in pprint.gen-class; refs #66&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25781" author="importer" created="Tue, 24 Aug 2010 22:08:00 -0500"  >&lt;p&gt;stuart.sierra said: Never mind, it was a simple typo in the gen_class.clj file.  Nothing to do with pprint or with the build process.&lt;/p&gt;

&lt;p&gt;Tests re-enabled; all pass.&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>[CONTRIB-61] Add -?&gt;&gt; to clojure.contrib.core</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-61</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Obvious companion to -?&amp;gt;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14221">CONTRIB-61</key>
            <summary>Add -?&gt;&gt; to clojure.contrib.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="stu">Stuart Halloway</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 23 Jan 2010 09:34:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:01:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:01:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25751" author="importer" created="Tue, 24 Aug 2010 08:01: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;br/&gt;
Attachments:&lt;br/&gt;
add-nilsafe-thread-last.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dkG7yKcdqr36GOeJe5aVNr/download/dkG7yKcdqr36GOeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dkG7yKcdqr36GOeJe5aVNr/download/dkG7yKcdqr36GOeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25752" author="importer" created="Tue, 24 Aug 2010 08:01:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25753" author="importer" created="Tue, 24 Aug 2010 08:01:00 -0500"  >&lt;p&gt;oranenj said: This ticket has a patch, so marking as &apos;test&apos;&lt;/p&gt;</comment>
                    <comment id="25754" author="importer" created="Tue, 24 Aug 2010 08:01:00 -0500"  >&lt;p&gt;stu said: Less useful than -?&amp;gt; since nil/empty falls out anyway but worth it for completeness and for where the nil/empty distinction matters.&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>[CONTRIB-57] remove walk tests as now part of core</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-57</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/51982e4091e3614d&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/51982e4091e3614d&lt;/a&gt;&lt;br/&gt;
Move tests over to core&lt;/p&gt;</description>
                <environment></environment>
            <key id="14217">CONTRIB-57</key>
            <summary>remove walk tests as now part of 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="2">Declined</resolution>
                                <assignee username="timothypratley">Timothy Pratley</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jan 2010 17:56:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:52:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25737" author="importer" created="Tue, 24 Aug 2010 07:52: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;/p&gt;</comment>
                    <comment id="25738" author="importer" created="Tue, 24 Aug 2010 07:52:00 -0500"  >&lt;p&gt;timothypratley said: SS has fixed it already &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>
                </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>[CONTRIB-63] duck-streams open as resource what isn&apos;t File or URL</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-63</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Currently: When duck-streams is given a string, it attempts to open it for reading as a URL and if that fails it tries the string as a path specifying a File. When the string doesn&apos;t specify a readable file either, we fail.&lt;/p&gt;

&lt;p&gt;I&apos;d like to see duck-streams try to resolve the string as a resource name before finally giving up.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14223">CONTRIB-63</key>
            <summary>duck-streams open as resource what isn&apos;t File or URL</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, 26 Jan 2010 22:39:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:04:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:04:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25760" author="importer" created="Tue, 24 Aug 2010 15:04: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;
0001-teach-duck-streams-classpath-on62.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a8_B2gcSmr37PueJe5aVNr/download/a8_B2gcSmr37PueJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a8_B2gcSmr37PueJe5aVNr/download/a8_B2gcSmr37PueJe5aVNr&lt;/a&gt;&lt;br/&gt;
0001-teach-duck-streams-classpath.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/a8_zgOcSmr37PueJe5aVNr/download/a8_zgOcSmr37PueJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/a8_zgOcSmr37PueJe5aVNr/download/a8_zgOcSmr37PueJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25761" author="importer" created="Tue, 24 Aug 2010 15:04:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25762" author="importer" created="Tue, 24 Aug 2010 15:04:00 -0500"  >&lt;p&gt;stu said: I am going to reject this patch for now, because I don&apos;t like:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;the double-purposing of filelike names. If a &quot;foo/bar&quot; points to something on the classpath, and something different on the filesystem, which one should dominate?&lt;/li&gt;
	&lt;li&gt;the asymmetry with writing: you can&apos;t write to things on the classpath, so writer and reader would become asymmetric.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Better IMO just to be explicit about hitting the classpath.&lt;/p&gt;</comment>
                    <comment id="25763" author="importer" created="Tue, 24 Aug 2010 15:04:00 -0500"  >&lt;p&gt;bpsm said: Fair enough. The overloaded meaning of &apos;path-like-string&apos; isn&apos;t pretty.  As an alternative, perhaps you would consider including:&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 #^URL resource
  &quot;Return the URL of the named resource on the CLASSPATH.
nil indicates no such resource was found.&quot;
  [#^&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; name]
  (.getResource (clojure.lang.RT/baseLoader) name))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
This would allow formulations like:
&amp;lt;pre&amp;gt;{{(input-stream (resource &lt;span class=&quot;code-quote&quot;&gt;&quot;foo/bar.gif&quot;&lt;/span&gt;))}}&amp;lt;/pre&amp;gt;
or even:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;(-?&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;foo/bar.gif&quot;&lt;/span&gt; resource input-stream)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Which is reasonably compact and makes the meaning of the string clear.&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>[CONTRIB-56] Faster version of reductions</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-56</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Faster version of reductions for seq-utils&lt;/p&gt;</description>
                <environment></environment>
            <key id="14216">CONTRIB-56</key>
            <summary>Faster version of reductions</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>Sat, 2 Jan 2010 22:03:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:44:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:44:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25733" author="importer" created="Tue, 24 Aug 2010 08: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;
reductions.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dCrXzw-bqr3PBmeJe5aVNr/download/dCrXzw-bqr3PBmeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dCrXzw-bqr3PBmeJe5aVNr/download/dCrXzw-bqr3PBmeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25734" author="importer" created="Tue, 24 Aug 2010 08:44:00 -0500"  >&lt;p&gt;timothypratley said: Passes the reductions tests.&lt;/p&gt;</comment>
                    <comment id="25735" author="importer" created="Tue, 24 Aug 2010 08:44:00 -0500"  >&lt;p&gt;timothypratley said: [&lt;a href=&quot;file:dCrXzw-bqr3PBmeJe5aVNr&quot;&gt;file:dCrXzw-bqr3PBmeJe5aVNr&lt;/a&gt;]: faster reductions&lt;/p&gt;</comment>
                    <comment id="25736" author="importer" created="Tue, 24 Aug 2010 08:44:00 -0500"  >&lt;p&gt;meikelbrandmeyer said: Reductions was moved to core. See here: &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/312-audit---promote-some-clojure-contrib-seq-fns&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/312-audit---promote-some-clojure-contrib-seq-fns&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sorry. I wasn&apos;t aware of this ticket and your patch.&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>[CONTRIB-73] lazy-xml uses old-style reify syntax</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-73</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;lazy-xml was not updated when the reify syntax change hit Clojure master, and thus is broken. Assigning to next release milestone with a high priority, as this prevents lazy-xml from working at all.&lt;/p&gt;

&lt;p&gt;Patch attached.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14233">CONTRIB-73</key>
            <summary>lazy-xml uses old-style reify 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="2">Declined</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 11 Apr 2010 07:39:00 -0500</created>
                <updated>Tue, 24 Aug 2010 10:23:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 10:23:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25797" author="importer" created="Tue, 24 Aug 2010 10:23: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;
0001-lazy-xml-Fix-reify-uses-missing-this-arguments.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dIdkISrv4r36_-eJe5aVNr/download/dIdkISrv4r36_-eJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dIdkISrv4r36_-eJe5aVNr/download/dIdkISrv4r36_-eJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25798" author="importer" created="Tue, 24 Aug 2010 10:23:00 -0500"  >&lt;p&gt;oranenj said: Oops, didn&apos;t notice Chouser was ahead of me. Closing as invalid.&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>[CONTRIB-54] with-temp-ns should clean up after exceptional condition</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-54</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;removing the temporary namespace needs to be in a finally block&lt;/p&gt;</description>
                <environment></environment>
            <key id="14214">CONTRIB-54</key>
            <summary>with-temp-ns should clean up after exceptional condition</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 13:09:00 -0600</created>
                <updated>Tue, 24 Aug 2010 08:43:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 08:43:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25727" author="importer" created="Tue, 24 Aug 2010 08:43: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;/p&gt;</comment>
                    <comment id="25728" author="importer" created="Tue, 24 Aug 2010 08:43:00 -0500"  >&lt;p&gt;stu said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/f24f6412a1cee7015285856e5e4fc6ddc3974439&quot;&gt;revision:f24f6412a1cee7015285856e5e4fc6ddc3974439&lt;/a&gt;) clean up temporary namespaces, fixes #54&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>[CONTRIB-70] c.c.string: final migration (in c.c.repl-utils, c.c.command-line)</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-70</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Patch addresses remaining items to be converted to the new string lib: &lt;br/&gt;
 &#65533;&#65533;&#65533; &quot;str-join&quot; to &quot;join&quot; in c.c.command-line&lt;br/&gt;
 &#65533;&#65533;&#65533; &quot;re-partition&quot; to &quot;partition&quot; in c.c.repl-utils &lt;br/&gt;
 &#65533;&#65533;&#65533; correction to the example function call in c.c.string/partition&apos;s docs (reversed order of arguments)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14230">CONTRIB-70</key>
            <summary>c.c.string: final migration (in c.c.repl-utils, c.c.command-line)</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, 3 Feb 2010 09:32:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:11:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:11:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25789" author="importer" created="Tue, 24 Aug 2010 07:11: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;
c-c-string-fixes.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/djkmaEeoGr36OOeJe5afGb/download/djkmaEeoGr36OOeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/djkmaEeoGr36OOeJe5afGb/download/djkmaEeoGr36OOeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25790" author="importer" created="Tue, 24 Aug 2010 07:11:00 -0500"  >&lt;p&gt;stuart.sierra said: Please reformat the patch according to &lt;a href=&quot;http://clojure.org/patches&quot;&gt;http://clojure.org/patches&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25791" author="importer" created="Tue, 24 Aug 2010 07:11:00 -0500"  >&lt;p&gt;trolard said: [&lt;a href=&quot;file:djkmaEeoGr36OOeJe5afGb&quot;&gt;file:djkmaEeoGr36OOeJe5afGb&lt;/a&gt;]: Patch for remaining itesm in c.c.string migration.&lt;/p&gt;</comment>
                    <comment id="25792" author="importer" created="Tue, 24 Aug 2010 07:11:00 -0500"  >&lt;p&gt;trolard said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/af788ed71a5c92f32daa5bfc5673455bd8843faa&quot;&gt;revision:af788ed71a5c92f32daa5bfc5673455bd8843faa&lt;/a&gt;) c.c.string migration changes; fixes #70&lt;/p&gt;

&lt;p&gt;Signed-off-by: Stuart Sierra &amp;lt;mail@stuartsierra.com&amp;gt;&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25793" author="importer" created="Tue, 24 Aug 2010 07:11:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-77] Refactor c.c.io/writer, reader, etc as a protocol; stop returning PrintWriters</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-77</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;As discussed here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_frm/thread/3e39e9b3982f542b&quot;&gt;http://groups.google.com/group/clojure-dev/browse_frm/thread/3e39e9b3982f542b&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14237">CONTRIB-77</key>
            <summary>Refactor c.c.io/writer, reader, etc as a protocol; stop returning PrintWriters</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>Mon, 26 Apr 2010 09:30:00 -0500</created>
                <updated>Sat, 18 Sep 2010 01:53:00 -0500</updated>
                    <resolved>Sat, 18 Sep 2010 01:53:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25804" author="importer" created="Sat, 18 Sep 2010 01:53:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/77&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/77&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
77-refactor-c.c.io.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/b9K9uwuu4r37NTeJe5d-aX/download/b9K9uwuu4r37NTeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/b9K9uwuu4r37NTeJe5d-aX/download/b9K9uwuu4r37NTeJe5d-aX&lt;/a&gt;&lt;br/&gt;
77-refactor-c.c.io2.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cGY9s2vRir37QQeJe5cbCb/download/cGY9s2vRir37QQeJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cGY9s2vRir37QQeJe5cbCb/download/cGY9s2vRir37QQeJe5cbCb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25805" author="importer" created="Sat, 18 Sep 2010 01:53:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:b9K9uwuu4r37NTeJe5d-aX&quot;&gt;file:b9K9uwuu4r37NTeJe5d-aX&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25806" author="importer" created="Sat, 18 Sep 2010 01:53:00 -0500"  >&lt;p&gt;cemerick said: Based on discussion on the &lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_frm/thread/3e39e9b3982f542b&quot;&gt;clojure-dev list&lt;/a&gt;, I&apos;ve eliminated the &lt;b&gt;buffer-streams&lt;/b&gt; var and the associated usage.  We can revisit buffering control strategies / APIs at some future point without any API incompatibilities.&lt;/p&gt;

&lt;p&gt;Modified patch attached (#2).&lt;/p&gt;</comment>
                    <comment id="25807" author="importer" created="Sat, 18 Sep 2010 01:53:00 -0500"  >&lt;p&gt;cemerick said: [&lt;a href=&quot;file:cGY9s2vRir37QQeJe5cbCb&quot;&gt;file:cGY9s2vRir37QQeJe5cbCb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25808" author="importer" created="Sat, 18 Sep 2010 01:53:00 -0500"  >&lt;p&gt;stuart.sierra said: This has been completed in the new Clojure namespace clojure.java.io&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>[CONTRIB-78] fix broken jmx tests on ibm jdk</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-78</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description></description>
                <environment></environment>
            <key id="14238">CONTRIB-78</key>
            <summary>fix broken jmx tests on ibm jdk</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>Tue, 27 Apr 2010 10:04:00 -0500</created>
                <updated>Tue, 24 Aug 2010 09:45:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 09:45:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25809" author="importer" created="Tue, 24 Aug 2010 09: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;/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>[CONTRIB-79] Forward-port deprecated 1.1 namespaces</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-79</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Too many people are doing crazy stuff with conditional loading just to support both 1.1 and 1.2 simultaneously.  This way lies madness.&lt;/p&gt;

&lt;p&gt;To avoid this, lets forward-port all the 1.1 namespaces that were removed or renamed in master, e.g. duck-streams, seq-utils, str-utils, etc.  Just copy the old files from the 1.1 branch, so that no behavior changes.&lt;/p&gt;

&lt;p&gt;Add a printed deprecation warning at the top-level of each of the old namespaces, like&lt;br/&gt;
(println &quot;The foo namespace is deprecated, please use bar instead.&quot;)&lt;/p&gt;

&lt;p&gt;Post 1.2 release we can remove the deprecated namespaces.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14239">CONTRIB-79</key>
            <summary>Forward-port deprecated 1.1 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>Tue, 27 Apr 2010 00:29:00 -0500</created>
                <updated>Fri, 17 Sep 2010 00:51:00 -0500</updated>
                    <resolved>Fri, 17 Sep 2010 00:51:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25810" author="importer" created="Fri, 17 Sep 2010 00:51: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;/p&gt;</comment>
                    <comment id="25811" author="importer" created="Fri, 17 Sep 2010 00:51:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/a1c66df5287776b4397cf3929a5f498fbb34ea32&quot;&gt;revision:a1c66df5287776b4397cf3929a5f498fbb34ea32&lt;/a&gt;) Copy deleted/renamed namespaces from 1.1 release; refs #79&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;For backward compatibility with 1.1 release.&lt;/li&gt;
	&lt;li&gt;Namespaces copied: duck-streams, java-utils, seq-utils,&lt;br/&gt;
  shell-out, str-utils, str-utils2.&lt;/li&gt;
	&lt;li&gt;These namespaces can be marked as deprecated.&lt;/li&gt;
	&lt;li&gt;They are copied rather than simply aliased because&lt;br/&gt;
  some behavior has changed.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25812" author="importer" created="Fri, 17 Sep 2010 00:51:00 -0500"  >&lt;p&gt;cemerick said: FWIW, the various signature and fn name changes between 1.1 and 1.2 still need to be unraveled by any codebase that wants to target both, and choosing which impl to use is still easiest by eagerly loading whereever the new impls are in a try/catch.  I&apos;m not arguing against restoring the old namespaces (at the moment! &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;, just pointing out that doing so doesn&apos;t impact 1.1/1.2 compat.&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>[CONTRIB-81] Remove gen-class requirement from pprint</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-81</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;In preparation for moving pprint into clojure itself.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14241">CONTRIB-81</key>
            <summary>Remove gen-class requirement from pprint</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>Wed, 28 Apr 2010 23:27:00 -0500</created>
                <updated>Tue, 24 Aug 2010 10:47:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 10:47:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25815" author="importer" created="Tue, 24 Aug 2010 10:47: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;/p&gt;</comment>
                    <comment id="25816" author="importer" created="Tue, 24 Aug 2010 10:47:00 -0500"  >&lt;p&gt;tomfaulhaber said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/661dcfde7965c3e6650d169afca4a20ef146c940&quot;&gt;revision:661dcfde7965c3e6650d169afca4a20ef146c940&lt;/a&gt;) Remove gen-class requirement from clojure.contrib.pprint. See #81&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>[CONTRIB-68] clojure-contrib distclean maven target</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-68</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;It will be great if clojure-contrib can support distclean target for maven.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14228">CONTRIB-68</key>
            <summary>clojure-contrib distclean maven target</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>Sun, 31 Jan 2010 09:22:00 -0600</created>
                <updated>Tue, 24 Aug 2010 07:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 07:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25785" author="importer" created="Tue, 24 Aug 2010 07:08: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;/p&gt;</comment>
                    <comment id="25786" author="importer" created="Tue, 24 Aug 2010 07:08:00 -0500"  >&lt;p&gt;stuart.sierra said: Maven doesn&apos;t have targets.  &quot;mvn clean&quot; removes all generated files, so it is equivalent to distclean.&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>[CONTRIB-84] clojure.contrib.base64 lacking decode</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-84</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Namespace clojure.contrib.base64 contains a Base64 encode function but is (so far) missing decode.&lt;/p&gt;

&lt;p&gt;I know commons-codec contains a quality implementation of both functions, but adding yet another jar in your build just for base64 decode purposes is an unnecessary complication. For symmetry&apos;s sake, decode should be added.&lt;/p&gt;

&lt;p&gt;I will add a patch soon.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14244">CONTRIB-84</key>
            <summary>clojure.contrib.base64 lacking decode</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="anttipoi">anttipoi</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 May 2010 17:55:00 -0500</created>
                <updated>Fri, 17 Sep 2010 18:16:00 -0500</updated>
                    <resolved>Fri, 17 Sep 2010 18:16:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25819" author="importer" created="Fri, 17 Sep 2010 18:16:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/84&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/84&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
base64-decode.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/c68LHyxEOr35_MeJe5cbCb/download/c68LHyxEOr35_MeJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/c68LHyxEOr35_MeJe5cbCb/download/c68LHyxEOr35_MeJe5cbCb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25820" author="importer" created="Fri, 17 Sep 2010 18:16:00 -0500"  >&lt;p&gt;anttipoi said: [&lt;a href=&quot;file:c68LHyxEOr35_MeJe5cbCb&quot;&gt;file:c68LHyxEOr35_MeJe5cbCb&lt;/a&gt;]: Patch adding decode + tests&lt;/p&gt;</comment>
                    <comment id="25821" author="importer" created="Fri, 17 Sep 2010 18:16:00 -0500"  >&lt;p&gt;anttipoi said: BTW. Sorry about not raising the topic on the clojure-dev group first. I just lost my patience waiting to be let in. &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="25822" author="importer" created="Fri, 17 Sep 2010 18:16:00 -0500"  >&lt;p&gt;anttipoi said: Note: I&apos;ve modified the patch to support multi-line encoded data.&lt;/p&gt;</comment>
                    <comment id="25823" author="importer" created="Fri, 17 Sep 2010 18:16:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/5263e4bd9ca8634b50755c5150ebef26e0d191f1&quot;&gt;revision:5263e4bd9ca8634b50755c5150ebef26e0d191f1&lt;/a&gt;) Base64 decoding from Teemu Antti-Poika; refs #84&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>[CONTRIB-52] Improve running tests from Ant</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-52</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;This  builds on clojure ticket 193, commit 607389029cfec50f32b73c00a6f66d0a1dbcda23.&lt;br/&gt;
Change code used by build.xml to exit with error code so ant fails cleanly.&lt;br/&gt;
Fork in ant so exit can be used.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14212">CONTRIB-52</key>
            <summary>Improve running tests from Ant</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>Thu, 24 Dec 2009 09:44:00 -0600</created>
                <updated>Tue, 24 Aug 2010 17:41:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 17:41:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25716" author="importer" created="Tue, 24 Aug 2010 17:41: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;
test-52.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aqVdMo8fqr3QImeJe5afGb/download/aqVdMo8fqr3QImeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aqVdMo8fqr3QImeJe5afGb/download/aqVdMo8fqr3QImeJe5afGb&lt;/a&gt;&lt;br/&gt;
test-52-b.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/drZN2e8Ner3QImeJe5afGb/download/drZN2e8Ner3QImeJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/drZN2e8Ner3QImeJe5afGb/download/drZN2e8Ner3QImeJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25717" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:aqVdMo8fqr3QImeJe5afGb&quot;&gt;file:aqVdMo8fqr3QImeJe5afGb&lt;/a&gt;]: patch to improve testing from ant&lt;/p&gt;</comment>
                    <comment id="25718" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;mikehinchey said: Build will fail cleanly if tests fail, by using exit.&lt;br/&gt;
Fork in ant so exit can be used.&lt;br/&gt;
Similar code will be submitted to clojure, but this does not depend on that patch.&lt;/p&gt;</comment>
                    <comment id="25719" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;mikehinchey said: [&lt;a href=&quot;file:drZN2e8Ner3QImeJe5afGb&quot;&gt;file:drZN2e8Ner3QImeJe5afGb&lt;/a&gt;]: fixes #52, including datalog (replaces test-52.patch)&lt;/p&gt;</comment>
                    <comment id="25720" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25721" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;oranenj said: This ticket doesn&apos;t appear relevant anymore, because Maven replaced Ant. Closing as invalid&lt;/p&gt;</comment>
                    <comment id="25722" author="importer" created="Tue, 24 Aug 2010 17:41:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-67] c.c.json.read: accept any java.io.Reader</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-67</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;not just PushbackReader&lt;/p&gt;</description>
                <environment></environment>
            <key id="14227">CONTRIB-67</key>
            <summary>c.c.json.read: accept any java.io.Reader</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, 31 Jan 2010 04:10:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25782" author="importer" created="Tue, 24 Aug 2010 14:08: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;/p&gt;</comment>
                    <comment id="25783" author="importer" created="Tue, 24 Aug 2010 14:08:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/8d5f9fa4920fb6afb0e8b2859e5d4a4de2f7ef9f&quot;&gt;revision:8d5f9fa4920fb6afb0e8b2859e5d4a4de2f7ef9f&lt;/a&gt;) c.c.json.read: accept any Reader type; fixes #67&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25784" author="importer" created="Tue, 24 Aug 2010 14:08:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-64] teach duck-streams to read clojure forms</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-64</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;I&apos;d like an easy way to consume a text file written in Clojure syntax as pure data: as a sequence of Clojure data structures without evaluation. This allows Clojure to be used where property files, XML or JSON might otherwise be chosen.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14224">CONTRIB-64</key>
            <summary>teach duck-streams to read clojure forms</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, 26 Jan 2010 16:50:00 -0600</created>
                <updated>Tue, 24 Aug 2010 09:04:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 09:04:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25764" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/64&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/64&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-teach-duck-streams-to-read-clojure-forms.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/doGgPKcSqr34XKeJe5aVNr/download/doGgPKcSqr34XKeJe5aVNr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/doGgPKcSqr34XKeJe5aVNr/download/doGgPKcSqr34XKeJe5aVNr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25765" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="25766" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;technomancy said: You can do this by composing read-string and slurp*, is that good enough?&lt;/p&gt;</comment>
                    <comment id="25767" author="importer" created="Tue, 24 Aug 2010 09:04:00 -0500"  >&lt;p&gt;bpsm said: Well, more-or-less. The intent of my patch was to allow a file containing multiple forms to be read lazily (i.e. one form at a time). The (read-string (slurp* x)) solution is eager.&lt;/p&gt;

&lt;p&gt;That said, I&apos;d like to withdraw the patch because I&apos;m not really happy with the fact that the implementation fails to close the underlying file if the sequence is not consumed fully. (This is  a more general problem with lazy sequences based on resources not managed by the GC.)&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>[CONTRIB-69] maven downloads clojure jar file even if -Denv=local is specified</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-69</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;maven downloads the snapshot even if built with mvn -Denv=local and -Dclojure.jar=&amp;lt;absolute path to the locally built jar&amp;gt; package.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14229">CONTRIB-69</key>
            <summary>maven downloads clojure jar file even if -Denv=local is specified</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, 1 Feb 2010 19:35:00 -0600</created>
                <updated>Tue, 24 Aug 2010 14:09:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 14:09:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25787" author="importer" created="Tue, 24 Aug 2010 14:09:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/69&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/69&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25788" author="importer" created="Tue, 24 Aug 2010 14:09:00 -0500"  >&lt;p&gt;stuart.sierra said: Latest sources use -Dclojure.jar as the trigger for a local build.&lt;/p&gt;

&lt;p&gt;You can also add -o to the mvn command line to prevent downloading artifacts.&lt;/p&gt;

&lt;p&gt;Please ask questions on the mailing list before creating tickets.  Thanks,&lt;br/&gt;
-SS&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>[CONTRIB-82] make defalias work with macros</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-82</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;get back to 1.1-compatible behavior&lt;/p&gt;

&lt;p&gt;See also &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/273&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/273&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14242">CONTRIB-82</key>
            <summary>make defalias work with macros</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>Thu, 6 May 2010 15:41:00 -0500</created>
                <updated>Tue, 24 Aug 2010 10:55:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 10:55:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25817" author="importer" created="Tue, 24 Aug 2010 10:55: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;/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>[CONTRIB-65] pprint depends on order of compilation</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-65</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;pprint causes problems with the build process:&lt;/p&gt;

&lt;p&gt;1. c.c.pprint.ColumnWriter&lt;br/&gt;
2. c.c.pprint.PrettyWriter&lt;br/&gt;
3. c.c.pprint&lt;/p&gt;

&lt;p&gt;The first two are gen-class&apos;d, and PrettyWriter extends the class&lt;br/&gt;
generated for ColumnWriter.&lt;/p&gt;

&lt;p&gt;Unless they are compiled in exactly the order given above, the build&lt;br/&gt;
fails with a ClassNotFoundException.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14225">CONTRIB-65</key>
            <summary>pprint depends on order of compilation</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, 31 Jan 2010 00:09:00 -0600</created>
                <updated>Tue, 24 Aug 2010 15:08:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 15:08:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25768" author="importer" created="Tue, 24 Aug 2010 15:08: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;/p&gt;</comment>
                    <comment id="25769" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/3275810556b075ff9a3a0abc0d08b3a19ee46bae&quot;&gt;revision:3275810556b075ff9a3a0abc0d08b3a19ee46bae&lt;/a&gt;) pprint: Move gen-class expressions to separate file; refs #65&lt;/p&gt;

&lt;p&gt;To avoid order-of-compilation issues,&lt;br/&gt;
this patch puts the gen-class expressions&lt;br/&gt;
for ColumnWriter and PrettyWriter in a&lt;br/&gt;
separate file, rather than in the ns&lt;br/&gt;
declarations.&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25770" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/aa34fb9e52fa500c99bb45448bdfcd4020db5392&quot;&gt;revision:aa34fb9e52fa500c99bb45448bdfcd4020db5392&lt;/a&gt;) Reenable compiling of test namespaces in POM; refs #65&lt;/p&gt;

&lt;p&gt;But disable tests of pprint, which fail currently&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25771" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stuart.sierra said: I think I have fixed this by placing the gen-class directives in a separate file; only that file will be AOT-compiled.&lt;/p&gt;</comment>
                    <comment id="25772" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;tomfaulhaber said: What a mess! This seems like a big problem with gen-class if we have to jump through this many hoops to make it work once we have more than one class in a hierarchy.&lt;/p&gt;

&lt;p&gt;Of course it worked fine back in ant-land where we had control over the compilation order.&lt;/p&gt;</comment>
                    <comment id="25773" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stuart.sierra said: It&apos;s not that bad.  The Ant build script was messier.  This is more flexible, because it only AOT-compiles things that need it, i.e. gen-class.&lt;/p&gt;</comment>
                    <comment id="25774" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;cemerick said: I mentioned this elsewhere, but perhaps there&apos;s a reason why this isn&apos;t workable in this case: I believe if you require clojure.contrib.pprint.ColumnWriter in PrettyWriter&apos;s ns declaration (perhaps before the :gen-class form?), then the compiler will visit and gen CW before attempting to gen-class PW.&lt;/p&gt;

&lt;p&gt;This would eliminate the need to explicitly specify which namespaces to compile.&lt;/p&gt;</comment>
                    <comment id="25775" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stuart.sierra said: Tried it. Didn&apos;t work.&lt;/p&gt;</comment>
                    <comment id="25776" author="importer" created="Tue, 24 Aug 2010 15:08:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#2, #3, #33, #38, #51, #52, #65, #67, #70)&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>[CONTRIB-87] fix gvec reflection warnings</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-87</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;wrong assembla space&lt;/p&gt;</description>
                <environment></environment>
            <key id="14247">CONTRIB-87</key>
            <summary>fix gvec reflection warnings</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>Wed, 23 Jun 2010 21:31:00 -0500</created>
                <updated>Tue, 24 Aug 2010 17:52:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 17:52:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25828" author="importer" created="Tue, 24 Aug 2010 17:52: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;/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>[CONTRIB-76] (pr x &amp; more) makes a self-call, which can lead to stack overflow</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-76</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;When &apos;pr&apos;, or any related functions are called with a sequence of arguments, they can cause stack overflow.&lt;/p&gt;

&lt;p&gt;Eg:&lt;/p&gt;

&lt;p&gt;(apply pr (range 5000))&lt;/p&gt;</description>
                <environment></environment>
            <key id="14236">CONTRIB-76</key>
            <summary>(pr x &amp; more) makes a self-call, which can lead to stack overflow</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>Sat, 17 Apr 2010 17:20:00 -0500</created>
                <updated>Tue, 24 Aug 2010 16:33:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 16:33:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25802" author="importer" created="Tue, 24 Aug 2010 16:33: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;
0001-fixed-stack-consumpton-in-pr-more.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cXM85ssJqr37KVeJe5d-aX/download/cXM85ssJqr37KVeJe5d-aX&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cXM85ssJqr37KVeJe5d-aX/download/cXM85ssJqr37KVeJe5d-aX&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25803" author="importer" created="Tue, 24 Aug 2010 16:33:00 -0500"  >&lt;p&gt;djpowell said: Oops - posted to contrib&apos;s assemba space rather than clojure&apos;s - will repost to clojure&apos;s space...&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>[CONTRIB-91] json end-of-file handling broken</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-91</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;When read-json encounters an end-of-file, an IllegalArgumentException is thrown regardless of the user&apos;s eof preferences. This can easily be reproduced by running:&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;(read-json &quot;&quot;)
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
which &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; the exception
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;java.lang.IllegalArgumentException: Value out of range &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;: -1
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
This is caused by the .read method of the Reader returning -1 when the end is reached. (.read returns an &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;.) This value is then passed to &apos;&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;&apos;, which tries to make the corresponding character from the code point number. However, -1 is not a valid code point, so it &lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; an exception.

A solution is to check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; equality to -1 before trying to convert to a character. I also have an idea &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; a helper function that could be used:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;(defn- read-&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt;
  &lt;span class=&quot;code-quote&quot;&gt;&quot;Reads a character from a Reader. Returns nil &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the end of the stream is reached&quot;&lt;/span&gt;
  [stream]
  (let [x (.read stream)]
    (&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (not= x -1)
      (&lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; x))))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This function will always return either a Character or nil. Using it would make it possible to have the eof case along the other cases in the existing cond forms.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14251">CONTRIB-91</key>
            <summary>json end-of-file handling broken</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="rasmus.svensson">rasmus.svensson</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sun, 15 Aug 2010 00:51:00 -0500</created>
                <updated>Fri, 17 Sep 2010 18:53:00 -0500</updated>
                    <resolved>Fri, 17 Sep 2010 18:53:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25845" author="importer" created="Fri, 17 Sep 2010 18:53: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;
fix91-1.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bYSqjYRuWr37WWeJe5cbCb/download/bYSqjYRuWr37WWeJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bYSqjYRuWr37WWeJe5cbCb/download/bYSqjYRuWr37WWeJe5cbCb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25846" author="importer" created="Fri, 17 Sep 2010 18:53:00 -0500"  >&lt;p&gt;stuart.sierra said: [&lt;a href=&quot;file:bYSqjYRuWr37WWeJe5cbCb&quot;&gt;file:bYSqjYRuWr37WWeJe5cbCb&lt;/a&gt;]: fix, without auxiliary function&lt;/p&gt;</comment>
                    <comment id="25847" author="importer" created="Fri, 17 Sep 2010 18:53:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/5a928e263ab88cb8d224de8585932f936aa30c8f&quot;&gt;revision:5a928e263ab88cb8d224de8585932f936aa30c8f&lt;/a&gt;) Fix EOF-handling in JSON reader; refs #91&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>[CONTRIB-89] Implements clojure.contrib.priority-map</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-89</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Adds clojure.contrib.priority-map, a variety of sorted map that&apos;s useful for many priority queue situations.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/fdb000cae4f66a95&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/fdb000cae4f66a95&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14249">CONTRIB-89</key>
            <summary>Implements clojure.contrib.priority-map</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="puzzler">puzzler</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Sat, 17 Jul 2010 22:50:00 -0500</created>
                <updated>Tue, 24 Aug 2010 20:25:00 -0500</updated>
                    <resolved>Tue, 24 Aug 2010 20:25:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25834" author="importer" created="Tue, 24 Aug 2010 20:25: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;br/&gt;
Attachments:&lt;br/&gt;
prioritymap.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aD2s4mKDqr34-UeJe5cbLr/download/aD2s4mKDqr34-UeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aD2s4mKDqr34-UeJe5cbLr/download/aD2s4mKDqr34-UeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25835" author="importer" created="Tue, 24 Aug 2010 20:25:00 -0500"  >&lt;p&gt;puzzler said: &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/18c8713709e4cb095d10b154854f8d0b8fb50ad8&quot;&gt;http://github.com/clojure/clojure-contrib/commit/18c8713709e4cb095d10b154854f8d0b8fb50ad8&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25836" author="importer" created="Tue, 24 Aug 2010 20:25:00 -0500"  >&lt;p&gt;puzzler said: I realized shortly after uploading the file that although I made the equality of priority maps behave like regular maps and sorted maps, I forgot to adjust the hashCode method accordingly.&lt;/p&gt;

&lt;p&gt;Fixed that, and added a corresponding test case.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/08b2d37a962cc5baf2c37ad767067233eadfc6ca&quot;&gt;http://github.com/clojure/clojure-contrib/commit/08b2d37a962cc5baf2c37ad767067233eadfc6ca&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>[CONTRIB-95] with-ns tests broken by changes to Clojure exception reporting</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-95</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;with-ns tests fail after Clojure commit 1c0468dbe5228bb8c228e1370133bbe1d018e058 because of how exception messages changed&lt;/p&gt;</description>
                <environment></environment>
            <key id="14255">CONTRIB-95</key>
            <summary>with-ns tests broken by changes to Clojure exception reporting</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, 17 Sep 2010 18:42:00 -0500</created>
                <updated>Fri, 17 Sep 2010 18:49:00 -0500</updated>
                    <resolved>Fri, 17 Sep 2010 18:49:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25872" author="importer" created="Fri, 17 Sep 2010 18:49: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="25873" author="importer" created="Fri, 17 Sep 2010 18:49:00 -0500"  >&lt;p&gt;stuart.sierra said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/11852b988be61bbf661ca80ef7a78d17e3ee2325&quot;&gt;revision:11852b988be61bbf661ca80ef7a78d17e3ee2325&lt;/a&gt;) Fix broken with-ns tests; refs #95&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;broken by Clojure commit 1c0468dbe5228bb8c228e1370133bbe1d018e058&lt;/li&gt;
	&lt;li&gt;Clojure&apos;s compiler exceptions changed their format&lt;/li&gt;
&lt;/ul&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>[CONTRIB-94] c.c.repl-utils/show is currently broken</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-94</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;since the module reorganisation:&lt;/p&gt;

&lt;p&gt;commit fe4ed31&lt;br/&gt;
Author: Ben Smith-Mannschott bsmith.occs@gmail.com&quot;&amp;gt;bsmith.occs@gmail.com&lt;br/&gt;
Date: Sat Aug 28 11:22:22 2010 +0200&lt;/p&gt;

&lt;p&gt;Fix: &lt;a href=&quot;http://github.com/juergenhoetzel/clojure-contrib/commit/31c33107f59c71ec00ae1429b38f2005dce374d3&quot;&gt;http://github.com/juergenhoetzel/clojure-contrib/commit/31c33107f59c71ec00ae1429b38f2005dce374d3&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14254">CONTRIB-94</key>
            <summary>c.c.repl-utils/show is currently broken</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>Wed, 15 Sep 2010 20:23:00 -0500</created>
                <updated>Thu, 16 Sep 2010 18:16:00 -0500</updated>
                    <resolved>Thu, 16 Sep 2010 18:16:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25869" author="importer" created="Thu, 16 Sep 2010 18:16: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="25870" author="importer" created="Thu, 16 Sep 2010 18:16:00 -0500"  >&lt;p&gt;chouser@n01se.net said: (In &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/4083a0695087d34d13dbbe5a9b49d7c7b30ef2c4&quot;&gt;revision:4083a0695087d34d13dbbe5a9b49d7c7b30ef2c4&lt;/a&gt;) Fix broken repl-utils/show&lt;/p&gt;

&lt;p&gt;Was broken since fe4ed311166677cd571d23774171af1d830f7fc5&lt;br/&gt;
Fixes #94&lt;br/&gt;
Also add a bit more type info in class component maps.&lt;/p&gt;

&lt;p&gt;Branch: master&lt;/p&gt;</comment>
                    <comment id="25871" author="importer" created="Thu, 16 Sep 2010 18:16:00 -0500"  >&lt;p&gt;chouser@n01se.net said: Thanks for the report, Ben.&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>[CONTRIB-93] remove deprecations on master</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-93</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;I noticed the &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/4e5d98a8840fdeabbb304ca084cb02509dc14393&quot;&gt;recent&lt;/a&gt; &lt;a href=&quot;http://github.com/clojure/clojure-contrib/commit/055b69c39b0d1ea61d486be11caa98f74c0493fc&quot;&gt;aborted&lt;/a&gt; attempt to remove the deprecated modules form clojure-contrib master. Since I was in need of some busy work, I decided to try and do it myself and clean up the breakage.&lt;/p&gt;

&lt;p&gt;The attached patches don&apos;t remove everything that has been marked as deprecated, just the bits Stuart previously indicated by trying to remove them.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;clojure.contrib.apply-macro&lt;/li&gt;
	&lt;li&gt;clojure.contrib.http-agent&lt;/li&gt;
	&lt;li&gt;clojure.contrib.http-connection&lt;/li&gt;
	&lt;li&gt;clojure.contrib.javadoc: which rewrote a :use in repl_utils.clj from c.c.javadoc.browse to c.java.browse.&lt;/li&gt;
	&lt;li&gt;clojure.contrib.properties: where private versions of as-str and as-properties were defined in c.c.sql internal.clj&lt;/li&gt;
	&lt;li&gt;clojure.contrib.test-is&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14253">CONTRIB-93</key>
            <summary>remove deprecations on master</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="bpsm">bpsm</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 Aug 2010 21:13:00 -0500</created>
                <updated>Fri, 3 Sep 2010 20:52:00 -0500</updated>
                    <resolved>Fri, 3 Sep 2010 20:52:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25849" author="importer" created="Fri, 3 Sep 2010 20:52: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;br/&gt;
Attachments:&lt;br/&gt;
0001-remove-derecated-clojure.contrib.apply-macro.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFW7nWR6ir34gmeJe5cbLA/download/dFW7nWR6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFW7nWR6ir34gmeJe5cbLA/download/dFW7nWR6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0002-remove-deprecated-clojure.contrib.http-agent.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFW9QaR6ir34gmeJe5cbLA/download/dFW9QaR6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFW9QaR6ir34gmeJe5cbLA/download/dFW9QaR6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0003-remove-deprecated-clojure.contrib.http-connection.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFXab4R6ir34gmeJe5cbLA/download/dFXab4R6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFXab4R6ir34gmeJe5cbLA/download/dFXab4R6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0004-remove-deprecated-clojure.contrib.properties.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFXcqIR6ir34gmeJe5cbLA/download/dFXcqIR6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFXcqIR6ir34gmeJe5cbLA/download/dFXcqIR6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0005-remove-deprecated-clojure.contrib.javadoc.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFXeH2R6ir34gmeJe5cbLA/download/dFXeH2R6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFXeH2R6ir34gmeJe5cbLA/download/dFXeH2R6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0007-remove-deprecated-clojure.contrib.test-is.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dFXg04R6ir34gmeJe5cbLA/download/dFXg04R6ir34gmeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dFXg04R6ir34gmeJe5cbLA/download/dFXg04R6ir34gmeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0008-removed-c.c.shell-and-c.c.shell-out.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ahtcAoR60r34W9eJe5cbCb/download/ahtcAoR60r34W9eJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ahtcAoR60r34W9eJe5cbCb/download/ahtcAoR60r34W9eJe5cbCb&lt;/a&gt;&lt;br/&gt;
remove-deprecated-clojure.contrib.io.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/bR5RKOSu0r36XVeJe5cbLA/download/bR5RKOSu0r36XVeJe5cbLA&quot;&gt;https://www.assembla.com/spaces/clojure/documents/bR5RKOSu0r36XVeJe5cbLA/download/bR5RKOSu0r36XVeJe5cbLA&lt;/a&gt;&lt;br/&gt;
0010-create-clojure.contrib.io-convenience-module.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dxyjsaSHar37S6eJe5cbCb/download/dxyjsaSHar37S6eJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dxyjsaSHar37S6eJe5cbCb/download/dxyjsaSHar37S6eJe5cbCb&lt;/a&gt;&lt;br/&gt;
0011-remove-deprecated-clojure.contrib.str-utils.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dEtFMSSRir35x5eJe5cbCb/download/dEtFMSSRir35x5eJe5cbCb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dEtFMSSRir35x5eJe5cbCb/download/dEtFMSSRir35x5eJe5cbCb&lt;/a&gt;&lt;br/&gt;
0013-remove-deprecated-clojure.contrib.string.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dSD8sqSRir35nTeJe5cbLr/download/dSD8sqSRir35nTeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dSD8sqSRir35nTeJe5cbLr/download/dSD8sqSRir35nTeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0012-remove-deprecated-clojure.contrib.str-utils2.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/dSzxyYSRir35nTeJe5cbLr/download/dSzxyYSRir35nTeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/dSzxyYSRir35nTeJe5cbLr/download/dSzxyYSRir35nTeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0014-removed-deprecated-clojure.contrib.duck-streams.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJIVlaSTur34OJeJe5cbLr/download/cJIVlaSTur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJIVlaSTur34OJeJe5cbLr/download/cJIVlaSTur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0015-removed-deprecated-clojure.contrib.java-utils.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJNkS8STur34OJeJe5cbLr/download/cJNkS8STur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJNkS8STur34OJeJe5cbLr/download/cJNkS8STur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0016-removed-deprecated-clojure.contrib.pprint.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJQGkcSTur34OJeJe5cbLr/download/cJQGkcSTur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJQGkcSTur34OJeJe5cbLr/download/cJQGkcSTur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0017-removed-deprecated-source-get-source-apropos-from-cl.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJ5Kd4STur34OJeJe5cbLr/download/cJ5Kd4STur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJ5Kd4STur34OJeJe5cbLr/download/cJ5Kd4STur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0018-removed-deprecated-clojure.contrib.seq-utils.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/cJ8-lqSTur34OJeJe5cbLr/download/cJ8-lqSTur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/cJ8-lqSTur34OJeJe5cbLr/download/cJ8-lqSTur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0020-removed-deprecated-subset-superset-from-clojure.cont.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/da5unsSTur34OJeJe5cbLr/download/da5unsSTur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/da5unsSTur34OJeJe5cbLr/download/da5unsSTur34OJeJe5cbLr&lt;/a&gt;&lt;br/&gt;
0019-removed-9-deprecated-functions-from-clojure.contrib..patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/daZ0rSSTur34OJeJe5cbLr/download/daZ0rSSTur34OJeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/daZ0rSSTur34OJeJe5cbLr/download/daZ0rSSTur34OJeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25850" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:ahtcAoR60r34W9eJe5cbCb&quot;&gt;file:ahtcAoR60r34W9eJe5cbCb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25851" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: I&apos;ll submit further patches as I have time.  Not being &quot;in the loop&quot;, I can&apos;t be certain that we really want all the namespaces marked as deprecated gone before 1.3, but that&apos;s my operating assumption.  (I&apos;m attaching one patch per namespace so that the comitters can be selective.)&lt;/p&gt;</comment>
                    <comment id="25852" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:bR5RKOSu0r36XVeJe5cbLA&quot;&gt;file:bR5RKOSu0r36XVeJe5cbLA&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25853" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:dxyjsaSHar37S6eJe5cbCb&quot;&gt;file:dxyjsaSHar37S6eJe5cbCb&lt;/a&gt;]: proposed new c.c.io providing only what was not migrated to Clojure proper&lt;/p&gt;</comment>
                    <comment id="25854" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: &lt;b&gt;Proposal&lt;/b&gt;: when a namespace is partially promoted to Clojure proper, it might be good to provide a reduced version of the old namespace, providing just the functionality that was not promoted as an alternative to complete removal.&lt;/p&gt;

&lt;p&gt;I&apos;ve sketched out this idea as a patch: &lt;a href=&quot;https://www.assembla.com/spaces/clojure-contrib/documents/dxyjsaSHar37S6eJe5cbCb/download/dxyjsaSHar37S6eJe5cbCb&quot;&gt;0010-create-clojure.contrib.io-convenience-module&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I&apos;m imagining something like:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;most of clojure.contrib.io is promoted to clojure 1.2&lt;/li&gt;
	&lt;li&gt;clojure-contrib 1.2 deprecates, but does not remove clojure.contrib.io&lt;/li&gt;
	&lt;li&gt;clojure-contrib 1.3 provides a reduced version of clojure.contrib.io containing only non-deprecatd functionality not available elsewhere (i.e. in Clojure &#65533;&#65533;&#65533; 1.2).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This new clojure.contrib.io is not a strict subset of the old clojure.contrib.io, as some changes seemed sensible to harmonize with clojure.java.io&apos;s conventions. This means, it&apos;s not a drop-in replacement, but at least provides equivalents for anyone trying to get off the deprecated clojure.contrib.io.&lt;/p&gt;

&lt;p&gt;One problem that&apos;s apparent with this proposal is that, since the &apos;new&apos; io only becomes available in 1.3, there would be something of a &quot;flag day&quot; when switching from 1.2 to 1.3, but then there would be if 1.3 completely eliminated c.c.io as well &amp;#8211; only it would be worse.&lt;/p&gt;</comment>
                    <comment id="25855" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;stuart.sierra said: clojure.contrib.io is deprecated, period. It will be removed in the next release.&lt;/p&gt;</comment>
                    <comment id="25856" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: Fine, so ignore patch 0010. That&apos;s why it&apos;s a &quot;proposal&quot;.&lt;/p&gt;

&lt;p&gt;Those moving their code off of c.c.io to c.j.io will just have to write their own versions of a subset of {file-str, write-lines, read-lines, pwd, with-out, with-in, to-byte-array, relative-path-string and delete-file-recursively}, or get these from a library outside of clojure-contrib. Am I understanding correctly?&lt;/p&gt;

&lt;p&gt;Patch 0010 contains (in the comments) some tips for porting from deprecated c.c.io to c.j.io. It would make sense to gather that kind of information in some kind of a guide/faq about how to replace uses of deprecated c.c. namespaces promotion to core was not 1-to-1.&lt;/p&gt;</comment>
                    <comment id="25857" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: &#65533;&#65533;&#65533;replace uses of deprecated c.c. namespaces &lt;b&gt;where&lt;/b&gt; promotion to core was not 1-to-1.&lt;/p&gt;</comment>
                    <comment id="25858" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:dEtFMSSRir35x5eJe5cbCb&quot;&gt;file:dEtFMSSRir35x5eJe5cbCb&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25859" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:dSzxyYSRir35nTeJe5cbLr&quot;&gt;file:dSzxyYSRir35nTeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25860" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:dSD8sqSRir35nTeJe5cbLr&quot;&gt;file:dSD8sqSRir35nTeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25861" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:cJIVlaSTur34OJeJe5cbLr&quot;&gt;file:cJIVlaSTur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25862" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:cJNkS8STur34OJeJe5cbLr&quot;&gt;file:cJNkS8STur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25863" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:cJQGkcSTur34OJeJe5cbLr&quot;&gt;file:cJQGkcSTur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25864" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:cJ5Kd4STur34OJeJe5cbLr&quot;&gt;file:cJ5Kd4STur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25865" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:cJ8-lqSTur34OJeJe5cbLr&quot;&gt;file:cJ8-lqSTur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25866" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:daZ0rSSTur34OJeJe5cbLr&quot;&gt;file:daZ0rSSTur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25867" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: [&lt;a href=&quot;file:da5unsSTur34OJeJe5cbLr&quot;&gt;file:da5unsSTur34OJeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="25868" author="importer" created="Fri, 3 Sep 2010 20:52:00 -0500"  >&lt;p&gt;bpsm said: This task looks done to me. I can nothing further in clojure-contrib that&apos;s been deprecated. I&apos;ve placed these patches on a &lt;a href=&quot;http://github.com/bpsm/clojure-contrib/commits/t93&quot;&gt;branch&lt;/a&gt; on github for easy browsing.&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>[CONTRIB-97] Add zero-arity body to comp function</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-97</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The comp function should return the identity function should it be called with zero args.  Currently there is no zero-arity form.  I talked a little more about this at &lt;a href=&quot;http://blog.fogus.me/2010/08/18/monkeying-with-clojures-comp-function/&quot;&gt;http://blog.fogus.me/2010/08/18/monkeying-with-clojures-comp-function/&lt;/a&gt;.  Patch attached.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14257">CONTRIB-97</key>
            <summary>Add zero-arity body to comp function</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, 28 Sep 2010 19:14:00 -0500</created>
                <updated>Tue, 28 Sep 2010 19:22:00 -0500</updated>
                    <resolved>Tue, 28 Sep 2010 19:22:00 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25876" author="importer" created="Tue, 28 Sep 2010 19:22: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;
comp0.diff - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aoMbWYYXmr37tPeJe5cbLr/download/aoMbWYYXmr37tPeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aoMbWYYXmr37tPeJe5cbLr/download/aoMbWYYXmr37tPeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25877" author="importer" created="Tue, 28 Sep 2010 19:22:00 -0500"  >&lt;p&gt;fogus said: Sigh.  I posted this in contrib when it should have been in core.  I apologize.&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>[CONTRIB-104] prxml attribute value to support internal entity reference</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-104</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Now there is no way to support internal entities in xml, as value of attribute is always beings xml-escaped and &apos;&amp;amp;&apos; (used as part of entity reference) is being replaced with &apos;&amp;amp;&apos;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14350">CONTRIB-104</key>
            <summary>prxml attribute value to support internal entity reference</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="nevenavv">Nevena Vidojevic</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Feb 2011 19:02:12 -0600</created>
                <updated>Fri, 18 Feb 2011 17:15:34 -0600</updated>
                    <resolved>Fri, 18 Feb 2011 09:32:43 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26219" author="stuart.sierra" created="Fri, 18 Feb 2011 09:32:44 -0600"  >&lt;p&gt;The special tag &lt;tt&gt;:raw!&lt;/tt&gt; is available for unescaped output.&lt;/p&gt;</comment>
                    <comment id="26220" author="nevenavv" created="Fri, 18 Feb 2011 12:40:51 -0600"  >&lt;p&gt;Special tags are not considered for attribute value (prxml-attribute fn), just for xml tags (print-xml-tag multimethod), and when used string &quot;&lt;span class=&quot;error&quot;&gt;&amp;#91;:raw! ...&amp;#93;&lt;/span&gt;&quot; is printed as attribute value.&lt;/p&gt;</comment>
                    <comment id="26221" author="stuart.sierra" created="Fri, 18 Feb 2011 13:05:27 -0600"  >&lt;p&gt;Yes. You must put the actual XML tag inside a &lt;tt&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;:raw! ...&amp;#93;&lt;/span&gt;&lt;/tt&gt; block if you want to use XML entities in attributes.&lt;/p&gt;</comment>
                    <comment id="26222" author="nevenavv" created="Fri, 18 Feb 2011 16:55:29 -0600"  >&lt;p&gt;I&apos;ll be more specific...&lt;br/&gt;
I made entity declaration in DOCTYPE like this:&lt;/p&gt;

&lt;p&gt;&amp;lt;!DOCTYPE rdf:RDF [&lt;br/&gt;
  &amp;lt;!ENTITY owl &quot;http://www.w3.org/2002/07/owl#&quot;&amp;gt;&lt;br/&gt;
]&amp;gt;&lt;/p&gt;

&lt;p&gt;so I would be able to use reference to content of this named entity, using &quot;&amp;owl;&quot; (XML syntax), for example:&lt;/p&gt;

&lt;p&gt;&amp;lt;owl:onDatatype rdf:resource=&quot;&amp;xsd;string&quot;&amp;gt;&lt;/p&gt;

&lt;p&gt;I don&apos;t see a way to achieve this. My first thought was to use:&lt;/p&gt;

&lt;p&gt;[:owl:onDatatype {:rdf:resource &lt;span class=&quot;error&quot;&gt;&amp;#91;:raw! &amp;quot;&amp;xsd;string&amp;quot;&amp;#93;&lt;/span&gt;}]&lt;/p&gt;

&lt;p&gt;Am I missing something?&lt;/p&gt;




</comment>
                    <comment id="26223" author="nevenavv" created="Fri, 18 Feb 2011 17:15:34 -0600"  >&lt;p&gt;Ah, ok, I can use:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;:raw! &amp;quot;&amp;lt;owl:onDatatype rdf:resource=\&amp;quot;&amp;xsd;string\&amp;quot;&amp;gt;&amp;quot;&amp;#93;&lt;/span&gt;&lt;br/&gt;
That seems a bit like a workaround.. I think more idiomatic way isn&apos;t so hard to achieve, but no need obviously..  &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>[CONTRIB-34] Add zip and unzip functions to java-utils</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-34</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;Talked with Stuart Sierra on IRC; he agreed these would be helpful functions to have since the JDK bizarrely omits them.&lt;/p&gt;

&lt;p&gt;I have a test for this, but it depends on #33, so I&apos;ll wait to submit it until that patch is applied.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14194">CONTRIB-34</key>
            <summary>Add zip and unzip functions to java-utils</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <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="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Oct 2009 21:41:00 -0500</created>
                <updated>Tue, 25 Jan 2011 14:53:07 -0600</updated>
                    <resolved>Tue, 25 Jan 2011 14:53:07 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25629" 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/34&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/34&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
0001-Add-zip-and-unzip-functions-to-java-utils.clj.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/d2a-EiTi0r3Oz7eJe5afGb/download/d2a-EiTi0r3Oz7eJe5afGb&quot;&gt;https://www.assembla.com/spaces/clojure/documents/d2a-EiTi0r3Oz7eJe5afGb/download/d2a-EiTi0r3Oz7eJe5afGb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25630" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;technomancy said: [&lt;a href=&quot;file:d2a-EiTi0r3Oz7eJe5afGb&quot;&gt;file:d2a-EiTi0r3Oz7eJe5afGb&lt;/a&gt;]: zip and unzip implementation&lt;/p&gt;</comment>
                    <comment id="25631" author="importer" created="Tue, 24 Aug 2010 04:46:00 -0500"  >&lt;p&gt;stuart.sierra said: Updating tickets (#1, #2, #3, #4, #6, #20, #23, #25, #30, #31, #33, #34, #35, #37, #38, #52, #55, #58, #59, #60, #61, #62, #63, #64)&lt;/p&gt;</comment>
                    <comment id="26170" author="stuart.sierra" created="Tue, 25 Jan 2011 14:52:17 -0600"  >&lt;p&gt;java-utils in &quot;old&quot; clojure-contrib is basically deprecated. This may be revived later.&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>[CONTRIB-101] eof-value not working in clojure.contrib.json</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-101</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;The docs of read-json-from promise eof-error? and eof-value, but these fail to work. This is caused by lines 116-121: &lt;a href=&quot;https://github.com/richhickey/clojure-contrib/blob/master/src/main/clojure/clojure/contrib/json.clj#L116-121&quot;&gt;https://github.com/richhickey/clojure-contrib/blob/master/src/main/clojure/clojure/contrib/json.clj#L116-121&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At EOF read returns -1, but evaluating (char -1) on the repl reveals that this does not work, and thus an exception is raised before eof-value could be returned.&lt;/p&gt;

&lt;p&gt;This is easily fixed by checking if i is in a valid range, or at least not -1, by doing something like (and (not= i -1) (char i))&lt;/p&gt;</description>
                <environment>1.2 on Snow Leopard</environment>
            <key id="14283">CONTRIB-101</key>
            <summary>eof-value not working in clojure.contrib.json</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="2">Declined</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="pepijndevos">Pepijn de Vos</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Nov 2010 12:22:48 -0600</created>
                <updated>Thu, 18 Nov 2010 17:07:04 -0600</updated>
                    <resolved>Thu, 18 Nov 2010 17:07:04 -0600</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="25944" author="stuart.sierra" created="Thu, 18 Nov 2010 17:05:15 -0600"  >&lt;p&gt;You&apos;re using an old repository. This has been fixed. &lt;a href=&quot;https://github.com/clojure/clojure-contrib&quot;&gt;https://github.com/clojure/clojure-contrib&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="25945" author="stuart.sierra" created="Thu, 18 Nov 2010 17:07:04 -0600"  >&lt;p&gt;References old github.com/richhickey repository; this has already been fixed.&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>[CONTRIB-105] c.c.logging tests rely on hardcoded line-terminator</title>
                <link>http://dev.clojure.org/jira/browse/CONTRIB-105</link>
                <project id="10012" key="CONTRIB">Clojure-Contrib</project>
                        <description>&lt;p&gt;See &lt;a href=&quot;https://github.com/clojure/clojure-contrib/commit/330807c6d93f9a3c2bad4c8f4dd6295b6cf2053e#commitcomment-286017&quot;&gt;https://github.com/clojure/clojure-contrib/commit/330807c6d93f9a3c2bad4c8f4dd6295b6cf2053e#commitcomment-286017&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14361">CONTRIB-105</key>
            <summary>c.c.logging tests rely on hardcoded line-terminator</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="4" iconUrl="http://dev.clojure.org/jira/images/icons/priority_minor.gif">Minor</priority>
                    <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="ataggart">Alexander Taggart</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Feb 2011 13:09:51 -0600</created>
                <updated>Wed, 20 Apr 2011 03:29:32 -0500</updated>
                    <resolved>Wed, 20 Apr 2011 03:29:31 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26248" author="ataggart" created="Mon, 28 Feb 2011 13:30:39 -0600"  >&lt;p&gt;Fix committed:&lt;br/&gt;
&lt;a href=&quot;https://github.com/clojure/clojure-contrib/commit/1a88c88daa87cd61aa7c1c08d538487b55efd97d&quot;&gt;https://github.com/clojure/clojure-contrib/commit/1a88c88daa87cd61aa7c1c08d538487b55efd97d&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>
</channel>
</rss>