<!--
RSS generated by JIRA (4.4#649-r158309) at Tue Jun 18 18:26:23 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://dev.clojure.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+CLJ+AND+fixVersion+%3D+%22Approved+Backlog%22+AND+resolution+in+(Completed%2C+Declined%2C+Duplicate)&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://dev.clojure.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Clojure JIRA</title>
        <link>http://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+CLJ+AND+fixVersion+%3D+%22Approved+Backlog%22+AND+resolution+in+%28Completed%2C+Declined%2C+Duplicate%29</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="8" total="8"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[CLJ-848] defn :or form does not warn you if you provide a vector instead of a map</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-848</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;I had a problem defining a function today, I passed :or a vector instead of a map - everything seemed to work fine but later on I got a really puzzling &quot;Null pointer exception&quot;.&lt;/p&gt;

&lt;p&gt;raek helped me debug the problem and suggested opening this ticket. I think it would be useful if an exception was thrown on the :or line unless it&apos;s given a map.&lt;/p&gt;

&lt;p&gt;Here are some examples&lt;/p&gt;

&lt;p&gt;(defn broken-example [{:keys &lt;span class=&quot;error&quot;&gt;&amp;#91;i processor&amp;#93;&lt;/span&gt;&lt;br/&gt;
                       :or &lt;span class=&quot;error&quot;&gt;&amp;#91;processor identity&amp;#93;&lt;/span&gt;}]&lt;br/&gt;
  (processor i))&lt;/p&gt;

&lt;p&gt;(defn working-example [{:keys &lt;span class=&quot;error&quot;&gt;&amp;#91;i processor&amp;#93;&lt;/span&gt;&lt;br/&gt;
                       :or {processor identity}}]&lt;br/&gt;
  (processor i))&lt;/p&gt;

&lt;p&gt;(working-example {:i 1})&lt;br/&gt;
 =&amp;gt; 1&lt;br/&gt;
(broken-example {:i 1})&lt;br/&gt;
 =&amp;gt; Null pointer exception&lt;/p&gt;

&lt;p&gt;Cheers, Dave.&lt;/p&gt;</description>
                <environment>Clojure 1.3, Emacs 23, OSX Lion</environment>
            <key id="14670">CLJ-848</key>
            <summary>defn :or form does not warn you if you provide a vector instead of a map</summary>
                <type id="4" iconUrl="http://dev.clojure.org/jira/images/icons/improvement.gif">Enhancement</type>
                                <priority id="5" iconUrl="http://dev.clojure.org/jira/images/icons/priority_trivial.gif">Trivial</priority>
                    <status id="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="kzar">Dave Barker</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Oct 2011 06:50:49 -0500</created>
                <updated>Tue, 25 Oct 2011 18:04:23 -0500</updated>
                    <resolved>Tue, 25 Oct 2011 18:04:23 -0500</resolved>
                            <version>Release 1.3</version>
                                <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26899" author="kzar" created="Thu, 6 Oct 2011 06:51:52 -0500"  >&lt;p&gt;Apologies, I meant to tag this as a minor issue instead of a major one!&lt;/p&gt;</comment>
                    <comment id="26908" author="stu" created="Fri, 7 Oct 2011 09:39:50 -0500"  >&lt;p&gt;Since vectors are associative, maybe using vectors for :or should just work?&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;(let [{noun 0
       verb 1
       obj 2
       :or [:n :v :o]}
      [:code :is]] obj)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="27089" author="stu" created="Tue, 25 Oct 2011 18:04:23 -0500"  >&lt;p&gt;Closing this until someone wants to make a principled argument for what &lt;b&gt;should&lt;/b&gt; happen (see my previous comment)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CLJ-765] Enhance clojure.java.shell/sh to accept more input types</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-765</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Currently clojure.java.shell/sh will only accept bytes or Strings as inputs to the subprocess&apos;s stdin.&lt;/p&gt;

&lt;p&gt;Attached patch replaces code specific to byte[] and String with a call to clojure.java.io/copy, thus additionally accepting InputStreams, Readers, and Files as input.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14381">CLJ-765</key>
            <summary>Enhance clojure.java.shell/sh to accept more input types</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="-1">Unassigned</assignee>
                                <reporter username="ataggart">Alexander Taggart</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 Mar 2011 20:41:21 -0500</created>
                <updated>Fri, 6 May 2011 08:49:09 -0500</updated>
                    <resolved>Fri, 6 May 2011 08:49:09 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="26346" author="stu" created="Tue, 5 Apr 2011 20:39:52 -0500"  >&lt;p&gt;second patch subsumes first, removes spurious imports.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10176" name="0765-shell-2.patch" size="4368" author="stu" created="Tue, 5 Apr 2011 20:39:51 -0500" />
                    <attachment id="10166" name="shell.patch" size="2842" author="ataggart" created="Fri, 25 Mar 2011 20:41:22 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

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

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

<item>
            <title>[CLJ-753] clojure.string/replace-first returns nil with replacement fn when regex doesn&apos;t match</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-753</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://groups.google.com/d/topic/clojure/wDO1u7wRmDQ/discussion&quot;&gt;Originally reported by Takahiro Hozumi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With a function as the &quot;replacement&quot; argument, clojure.string/replace-first returns nil if there is no match, instead of returning the original string unchanged.&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.string)
nil
user=&amp;gt; (replace-first &lt;span class=&quot;code-quote&quot;&gt;&quot;abcdef&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;ghi&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;jkl&quot;&lt;/span&gt;)
&lt;span class=&quot;code-quote&quot;&gt;&quot;abcdef&quot;&lt;/span&gt;
user=&amp;gt; (replace-first &lt;span class=&quot;code-quote&quot;&gt;&quot;abcdef&quot;&lt;/span&gt; #&lt;span class=&quot;code-quote&quot;&gt;&quot;ghi&quot;&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;jkl&quot;&lt;/span&gt;)
&lt;span class=&quot;code-quote&quot;&gt;&quot;abcdef&quot;&lt;/span&gt;
user=&amp;gt; (replace-first &lt;span class=&quot;code-quote&quot;&gt;&quot;abcdef&quot;&lt;/span&gt; #&lt;span class=&quot;code-quote&quot;&gt;&quot;ghi&quot;&lt;/span&gt; (fn [a] &lt;span class=&quot;code-quote&quot;&gt;&quot;jkl&quot;&lt;/span&gt;))
nil&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="14369">CLJ-753</key>
            <summary>clojure.string/replace-first returns nil with replacement fn when regex doesn&apos;t match</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="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Mar 2011 07:54:15 -0600</created>
                <updated>Fri, 1 Mar 2013 12:47:01 -0600</updated>
                    <resolved>Fri, 24 Aug 2012 07:41:03 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="26322" author="fbrubacher" created="Mon, 21 Mar 2011 07:36:49 -0500"  >&lt;p&gt;This is my patch for this issue. I have a CA signed. Any suggestions and i can try again. Federico&lt;/p&gt;</comment>
                    <comment id="27353" author="cperkins" created="Mon, 28 Nov 2011 09:31:31 -0600"  >&lt;p&gt;Same fix as Frederico&apos;s patch, but also removes unnecessary allocation of a StringBuffer when there is no match, for both replace and replace first.&lt;/p&gt;</comment>
                    <comment id="27354" author="cperkins" created="Mon, 28 Nov 2011 09:46:03 -0600"  >&lt;p&gt;Same again, but with docstring typo fixes too.&lt;/p&gt;</comment>
                    <comment id="27355" author="steveminer@gmail.com" created="Mon, 28 Nov 2011 10:12:17 -0600"  >&lt;p&gt;You should use StringBuilder instead of StringBuffer.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/355089/stringbuilder-and-stringbuffer-in-java&quot;&gt;http://stackoverflow.com/questions/355089/stringbuilder-and-stringbuffer-in-java&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="27356" author="cperkins" created="Mon, 28 Nov 2011 10:37:56 -0600"  >&lt;p&gt;Yup, that&apos;s what I thought, but it turns out it doesn&apos;t work because java&apos;s Matcher/appendReplacement requires a StringBuffer, unfortunately.&lt;/p&gt;</comment>
                    <comment id="27360" author="jafingerhut" created="Mon, 28 Nov 2011 17:09:40 -0600"  >&lt;p&gt;I&apos;ve tested Chris&apos;s clojure-string-with-no-match-returns-original-2.patch against latest github Clojure as of this morning, and the tests pass.  Cool that he found a straightforward performance improvement for the no match case.  The code appears correct.  I also verified that for the reason Chris mentions, StringBuilder will not work as a replacement for StringBuffer.  At least there will never be any contention on the locks implementing the StringBuffer synchronization the way they are used here.&lt;/p&gt;</comment>
                    <comment id="27363" author="stuart.sierra" created="Tue, 29 Nov 2011 08:45:01 -0600"  >&lt;p&gt;Vetted &amp;amp; moved to Approved Backlog.&lt;/p&gt;</comment>
                    <comment id="27544" author="jafingerhut" created="Thu, 12 Jan 2012 00:06:50 -0600"  >&lt;p&gt;&lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-870&quot; title=&quot;clojure.string/replace behaves unexpectedly when \ or $ are part of the result string&quot;&gt;&lt;del&gt;CLJ-870&lt;/del&gt;&lt;/a&gt; has an attached proposed combined patch for this issue and that one.&lt;/p&gt;</comment>
                    <comment id="29223" author="jafingerhut" created="Sat, 18 Aug 2012 12:09:29 -0500"  >&lt;p&gt;This issue should now be corrected with the patch, attached to &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-870&quot; title=&quot;clojure.string/replace behaves unexpectedly when \ or $ are part of the result string&quot;&gt;&lt;del&gt;CLJ-870&lt;/del&gt;&lt;/a&gt;, that was applied on Aug 18, 2012.&lt;/p&gt;</comment>
                    <comment id="29257" author="stuart.sierra" created="Fri, 24 Aug 2012 07:41:03 -0500"  >&lt;p&gt;&lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-753&quot; title=&quot;clojure.string/replace-first returns nil with replacement fn when regex doesn&amp;#39;t match&quot;&gt;&lt;del&gt;CLJ-753&lt;/del&gt;&lt;/a&gt; patch applied for &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-870&quot; title=&quot;clojure.string/replace behaves unexpectedly when \ or $ are part of the result string&quot;&gt;&lt;del&gt;CLJ-870&lt;/del&gt;&lt;/a&gt; addresses this one, too, applied Aug 18, 2012 &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10157" name="0001-clojure.string-replace-first-now-returns-the-origina.patch" size="1598" author="fbrubacher" created="Mon, 21 Mar 2011 07:36:49 -0500" />
                    <attachment id="10721" name="clojure-string-with-no-match-returns-original-2.patch" size="4460" author="cperkins" created="Mon, 28 Nov 2011 09:46:03 -0600" />
                    <attachment id="10720" name="clojure-string-with-no-match-returns-original.patch" size="3262" author="cperkins" created="Mon, 28 Nov 2011 09:31:31 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10003">Vetted</customfieldvalue>

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

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

<item>
            <title>[CLJ-733] Data Conveying Exception</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-733</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Problem: need to convey diagnostic information in an exception, and Java exceptions are poor for this because they don&apos;t have any place to put data. Having many apps write their own exceptions is unnecessary code bloat, and sometimes has compilation implications.&lt;/p&gt;

&lt;p&gt;Choices made:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Naming it &lt;tt&gt;ExceptionInfo&lt;/tt&gt;. Needs to tell the user that it carries data, without suggesting that there was a problem with data.
	&lt;ul&gt;
		&lt;li&gt;think we have to include Exception in the name, esp. for interop consumers.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Class of data member. IPersistentMap&lt;/li&gt;
	&lt;li&gt;Class of map input. IPersistentMap&lt;/li&gt;
	&lt;li&gt;Do not want to build anything to support conditional logic. (Use bindings for this).&lt;/li&gt;
	&lt;li&gt;Base class. RuntimeException is consistent with a dynamic language (don&apos;t want to impose checked exceptions).&lt;/li&gt;
	&lt;li&gt;print with data just after msg on first line&lt;/li&gt;
	&lt;li&gt;equality by identity (pretty much dictated by having exception as base class)&lt;/li&gt;
	&lt;li&gt;ex-info factory function&lt;/li&gt;
	&lt;li&gt;ex-data fn to get the data out&lt;/li&gt;
	&lt;li&gt;data and msg arguments required&lt;/li&gt;
	&lt;li&gt;data argument comes second
	&lt;ul&gt;
		&lt;li&gt;matches Java expectation of msg first, cause last&lt;/li&gt;
		&lt;li&gt;matches print order&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14346">CLJ-733</key>
            <summary>Data Conveying Exception</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="stu">Stuart Halloway</assignee>
                                <reporter username="stu">Stuart Halloway</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Jan 2011 13:59:41 -0600</created>
                <updated>Fri, 9 Dec 2011 10:01:00 -0600</updated>
                    <resolved>Fri, 9 Dec 2011 10:01:00 -0600</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="26196" author="alan@thinkrelevance.com" created="Fri, 28 Jan 2011 14:47:28 -0600"  >&lt;p&gt;Looks good; Stu&apos;s patch was missing a forward declaration to print-defrecord. 0733-data-conveying-exception-2.patch adds one, and all tests pass.&lt;/p&gt;</comment>
                    <comment id="26209" author="richhickey" created="Mon, 31 Jan 2011 12:42:58 -0600"  >&lt;p&gt;Looks like is-a to me. Why is exception a map?&lt;/p&gt;

&lt;p&gt;Also, bad practice to merge non-namespace-qualified keys with something you don&apos;t originate - should have ns. Actually, why merge at all? Why not let higher-level exception reporting handle cause and message?&lt;/p&gt;

&lt;p&gt;Is there a convention for nesting these, merging data?&lt;/p&gt;</comment>
                    <comment id="26376" author="hiredman" created="Tue, 19 Apr 2011 15:41:46 -0500"  >&lt;p&gt;type checks for :type in metadata, might be nice if that worked on DCE&apos;s, maybe they should support metadata&lt;/p&gt;</comment>
                    <comment id="26976" author="stu" created="Fri, 14 Oct 2011 12:52:32 -0500"  >&lt;p&gt;Latest patch per discussion on IRC &lt;a href=&quot;http://clojure-log.n01se.net/#11:12b&quot;&gt;http://clojure-log.n01se.net/#11:12b&lt;/a&gt; . Note that I had to touch string representation in three places (Java, main, and repl). I think main is only used for repl anyway, so a future cleanup could have main and repl share printing code.&lt;/p&gt;</comment>
                    <comment id="26979" author="richhickey" created="Fri, 14 Oct 2011 13:34:10 -0500"  >&lt;p&gt;Ctor arg order is a question. &lt;/p&gt;

&lt;p&gt;Also, do we want to encourage making an exception w/o a message?&lt;/p&gt;

&lt;p&gt;I think it should have been ex-data, in my last line on IRC, not ex-info&lt;/p&gt;

&lt;p&gt;Will we have a fn to make these rather than encode the type via ctor call everywhere? Maybe that should be called ex-info. Same fn could be useful in cljs&lt;/p&gt;</comment>
                    <comment id="26980" author="richhickey" created="Fri, 14 Oct 2011 13:51:47 -0500"  >&lt;p&gt;Also the description no longer describes the approach&lt;/p&gt;</comment>
                    <comment id="26997" author="stu" created="Sun, 16 Oct 2011 06:06:09 -0500"  >&lt;p&gt;Been back and forth on argument order, but I think msg/data/cause is best.&lt;/p&gt;</comment>
                    <comment id="26999" author="richhickey" created="Sun, 16 Oct 2011 06:32:57 -0500"  >&lt;p&gt;Only issue I think is whether you are going to enforce a map (and not nil) be passed. Currently you don&apos;t, making your doc string for ex-data wrong - it returns .getData of ExceptionInfo objects, which may be nil. If we enforce non-nil map on the way in, then ex-data works as documented and people can catch the exception and branch on ex-data. That seems most useful.&lt;/p&gt;</comment>
                    <comment id="27000" author="richhickey" created="Sun, 16 Oct 2011 06:40:56 -0500"  >&lt;p&gt;Also please mark as alpha, subject to change.&lt;/p&gt;</comment>
                    <comment id="27078" author="alan@thinkrelevance.com" created="Fri, 21 Oct 2011 10:21:02 -0500"  >&lt;p&gt;Attached &lt;tt&gt;0733-with-map-check.patch&lt;/tt&gt;. Same as &lt;tt&gt;0733-with-ex-data-and-ex-info.patch&lt;/tt&gt; but added Alpha docstring and map check to &lt;tt&gt;ex-data&lt;/tt&gt; per Rich&apos;s latest comment.&lt;/p&gt;</comment>
                    <comment id="27079" author="richhickey" created="Fri, 21 Oct 2011 14:15:46 -0500"  >&lt;p&gt;Thanks. The nil check should probably go in the ExceptionInfo ctor, just to have the same enforcement should they be created from Java.&lt;/p&gt;</comment>
                    <comment id="27391" author="stuart.sierra" created="Fri, 2 Dec 2011 09:20:17 -0600"  >&lt;p&gt;I think this line in &lt;tt&gt;clojure.repl/pst&lt;/tt&gt;,&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(when-let [info (ex-data e)] (str &lt;span class=&quot;code-quote&quot;&gt;&quot; &quot;&lt;/span&gt; info))&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;should be using &lt;tt&gt;pr-str&lt;/tt&gt; instead of &lt;tt&gt;str&lt;/tt&gt;, although &lt;tt&gt;str&lt;/tt&gt; on a map already quotes string keys/values, so maybe it&apos;s good enough.&lt;/p&gt;</comment>
                    <comment id="27392" author="stuart.sierra" created="Fri, 2 Dec 2011 09:21:02 -0600"  >&lt;p&gt;Setting to &apos;Incomplete&apos; pending response to 2 previous comments.&lt;/p&gt;</comment>
                    <comment id="27394" author="stu" created="Fri, 2 Dec 2011 10:07:00 -0600"  >&lt;p&gt;The dec 2 edition does the arg check in the constructor and uses pr-str, addressing the last two comments raised.&lt;/p&gt;</comment>
                    <comment id="27395" author="stu" created="Fri, 2 Dec 2011 10:32:27 -0600"  >&lt;p&gt;The dec 2 edition does the arg check in the constructor and uses pr-str, addressing the last two comments raised.&lt;/p&gt;</comment>
                    <comment id="27412" author="stuart.sierra" created="Sat, 3 Dec 2011 12:06:58 -0600"  >&lt;p&gt;Screened &amp;amp; moved to Approved Backlog.&lt;/p&gt;</comment>
                    <comment id="27419" author="hugoduncan" created="Mon, 5 Dec 2011 16:53:53 -0600"  >&lt;p&gt;ex-info and ex-data seem rather terse names to me (exception-info and exception-data would be clearer, imho).  Clojure seems to have a mixture of abbreviated names and full names, but it was my vague impression that most of the abbreviations stemmed from traditional lisp or java usage.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10096" name="0733-data-conveying-exception-2.patch" size="3799" author="alan@thinkrelevance.com" created="Fri, 28 Jan 2011 14:47:28 -0600" />
                    <attachment id="10095" name="0733-data-conveying-exception.patch" size="3781" author="stu" created="Fri, 28 Jan 2011 14:14:50 -0600" />
                    <attachment id="10729" name="0733-dec-2-edition.patch" size="3727" author="stu" created="Fri, 2 Dec 2011 10:07:00 -0600" />
                    <attachment id="10393" name="0733-ExceptionInfo.patch" size="3916" author="stu" created="Fri, 14 Oct 2011 12:52:32 -0500" />
                    <attachment id="10403" name="0733-with-ex-data-and-ex-info.patch" size="4079" author="stu" created="Sun, 16 Oct 2011 06:06:09 -0500" />
                    <attachment id="10493" name="0733-with-map-check.patch" size="3768" author="alan@thinkrelevance.com" created="Fri, 21 Oct 2011 10:21:02 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

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

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

<item>
            <title>[CLJ-730] Create test suite for functional fns (e.g. juxt, comp, partial, etc.)</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-730</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;The tests in &lt;tt&gt;other_functions.clj&lt;/tt&gt; for the combinator functions are tenuous in some cases (&lt;tt&gt;comp&lt;/tt&gt;) and missing in others (&lt;tt&gt;juxt&lt;/tt&gt;, &lt;tt&gt;partial&lt;/tt&gt;, &lt;tt&gt;complement&lt;/tt&gt;, and &lt;tt&gt;constantly&lt;/tt&gt;).  It would be nice to have a full suite of combinator tests moving forward.&lt;/p&gt;

&lt;p&gt;I would be happy to write the needed tests.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14343">CLJ-730</key>
            <summary>Create test suite for functional fns (e.g. juxt, comp, partial, etc.)</summary>
                <type id="3" iconUrl="http://dev.clojure.org/jira/images/icons/task.gif">Task</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="fogus">Fogus</assignee>
                                <reporter username="fogus">Fogus</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Jan 2011 11:46:39 -0600</created>
                <updated>Fri, 18 May 2012 12:31:51 -0500</updated>
                    <resolved>Fri, 18 May 2012 12:31:51 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                <fixVersion>Release 1.5</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="26180" author="stu" created="Fri, 28 Jan 2011 09:00:40 -0600"  >&lt;p&gt;Go for it, and mark them waiting for me when they are ready.&lt;/p&gt;</comment>
                    <comment id="26330" author="fbrubacher" created="Tue, 22 Mar 2011 11:07:15 -0500"  >&lt;p&gt;Michael, Stuart, Can I barge in with a patch? I would love to get feedback on this. I have CA signed already. Thanks&lt;br/&gt;
Federico&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10161" name="0001-add-tests-for-complement-constantly-juxt-partial.patch" size="1686" author="fbrubacher" created="Tue, 22 Mar 2011 11:07:15 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

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

<item>
            <title>[CLJ-371] dynamic defrecord definitions trumped by AOT versions in classpath</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-371</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Symptom: Define a defrecord at the repl and you still see the old (AOT&apos;d) defrecord.&lt;/p&gt;

&lt;p&gt;In the attached project:&lt;br/&gt;
  lein compile&lt;br/&gt;
  lein repl&lt;/p&gt;

&lt;p&gt;and enter the commands in the comment in src/defrecordissue/core.clj&lt;/p&gt;

&lt;p&gt;Design Discussion here: &lt;a href=&quot;http://dev.clojure.org/display/design/Dynamic+defrecord+definitions+trumped+by+AOT+versions+in+classpath&quot;&gt;http://dev.clojure.org/display/design/Dynamic+defrecord+definitions+trumped+by+AOT+versions+in+classpath&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13768">CLJ-371</key>
            <summary>dynamic defrecord definitions trumped by AOT versions in classpath</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="-1">Unassigned</assignee>
                                <reporter username="importer">Assembla Importer</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jun 2010 17:58:00 -0500</created>
                <updated>Fri, 2 Dec 2011 13:39:40 -0600</updated>
                    <resolved>Fri, 2 Dec 2011 13:39:40 -0600</resolved>
                            <version>Approved Backlog</version>
                                <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="23991" author="importer" created="Tue, 24 Aug 2010 11:29:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/371&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/371&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
defrecordissue.tar.gz - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/aggm70BPir356HeJe5cbLr/download/aggm70BPir356HeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/aggm70BPir356HeJe5cbLr/download/aggm70BPir356HeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23992" author="importer" created="Tue, 24 Aug 2010 11:29:00 -0500"  >&lt;p&gt;stu said: Rich: I understand the classloader situation that causes this. If you tell me what you think should happen instead I will make a patch.&lt;/p&gt;</comment>
                    <comment id="23993" author="importer" created="Tue, 24 Aug 2010 11:29:00 -0500"  >&lt;p&gt;stu said: Updating tickets (#389, #371)&lt;/p&gt;</comment>
                    <comment id="23994" author="importer" created="Tue, 24 Aug 2010 11:29:00 -0500"  >&lt;p&gt;cemerick said: AFAICT, this also affects protocol definitions, where the associated interface classfile is available on the classpath.&lt;/p&gt;</comment>
                    <comment id="26372" author="redinger" created="Fri, 15 Apr 2011 12:57:23 -0500"  >&lt;p&gt;You said you&apos;d make a patch if Rich said it needed on. Your move.&lt;/p&gt;</comment>
                    <comment id="26373" author="stu" created="Fri, 15 Apr 2011 18:25:18 -0500"  >&lt;p&gt;This behavior is to be expected, given Java&apos;s class loaders. If you want static classes, compile them onto your classpath. If you want reloadable classes, load them at runtime (preferable) from source.&lt;/p&gt;

&lt;p&gt;The real place to fix this problem is in build tools and IDEs. When you are developing interactively, these tools &lt;b&gt;should&lt;/b&gt; default to non-compilation of Clojure files. The Clojure/core team will fix this in a future version of the Clojure maven build tools.&lt;/p&gt;</comment>
                    <comment id="26386" author="redinger" created="Fri, 22 Apr 2011 11:47:19 -0500"  >&lt;p&gt;Re-opening - we closed this thinking it would be handled via tooling. It seems we should fix this though.&lt;/p&gt;</comment>
                    <comment id="27301" author="stu" created="Tue, 15 Nov 2011 19:16:33 -0600"  >&lt;p&gt;I don&apos;t know of any appropriate action to take, other than to change tools.&lt;/p&gt;</comment>
                    <comment id="27404" author="stu" created="Fri, 2 Dec 2011 13:39:40 -0600"  >&lt;p&gt;no, really, declined&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="10003">Vetted</customfieldvalue>

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

<item>
            <title>[CLJ-342] Enhance (vector-of) to populate vector</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-342</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;As discussed on clojure-dev at &amp;lt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/97137884bb33f8ee&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/97137884bb33f8ee&lt;/a&gt;&amp;gt;, I would like to enhance (vector-of) so that it can create a populated vector.  There are two ways to do this:&lt;/p&gt;

&lt;p&gt;1. Like vector, take an arbitrary number of arguments used to populate the array.&lt;br/&gt;
2. Like vec, take a collection and use it to populate the array.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13739">CLJ-342</key>
            <summary>Enhance (vector-of) to populate vector</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="dsg">Daniel Solano G&#243;mez</assignee>
                                <reporter username="importer">Assembla Importer</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 May 2010 21:25:00 -0500</created>
                <updated>Sun, 20 Mar 2011 08:46:37 -0500</updated>
                    <resolved>Sun, 20 Mar 2011 08:46:36 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23866" author="importer" created="Tue, 28 Sep 2010 08:57:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/342&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/342&lt;/a&gt;&lt;br/&gt;
Attachments:&lt;br/&gt;
342-enhance-vector-of.patch - &lt;a href=&quot;https://www.assembla.com/spaces/clojure/documents/ciVMWWwl8r35ypeJe5cbLr/download/ciVMWWwl8r35ypeJe5cbLr&quot;&gt;https://www.assembla.com/spaces/clojure/documents/ciVMWWwl8r35ypeJe5cbLr/download/ciVMWWwl8r35ypeJe5cbLr&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23867" author="importer" created="Tue, 28 Sep 2010 08:57:00 -0500"  >&lt;p&gt;dsg said: [&lt;a href=&quot;file:ciVMWWwl8r35ypeJe5cbLr&quot;&gt;file:ciVMWWwl8r35ypeJe5cbLr&lt;/a&gt;]&lt;/p&gt;</comment>
                    <comment id="23868" author="importer" created="Tue, 28 Sep 2010 08:57:00 -0500"  >&lt;p&gt;dsg said: I have attached a patch that implements the proposed enhancement.  I am fairly certain it is not the absolutely highest performance implementation.&lt;/p&gt;

&lt;p&gt;I have not taken a lot of time to thoroughly study the code, but I think there is probably a way to create the initial array and pass it as an argument to the constructor, which would avoid a lot of the cons calls.&lt;/p&gt;

&lt;p&gt;Nonetheless, I think it is important enough to provide convenience of the interface.  The implementation can always be changed later.&lt;/p&gt;</comment>
                    <comment id="23869" author="importer" created="Tue, 28 Sep 2010 08:57:00 -0500"  >&lt;p&gt;richhickey said: You can&apos;t have it both ways. vector-of should be like vector, I think.&lt;/p&gt;</comment>
                    <comment id="26243" author="dsg" created="Fri, 25 Feb 2011 16:29:27 -0600"  >&lt;p&gt;I have updated my patch to reflect Rich&apos;s recommendation.  vector-of now behaves similarly to vector.&lt;/p&gt;

&lt;p&gt;Includes tests.&lt;/p&gt;</comment>
                    <comment id="26297" author="richhickey" created="Thu, 10 Mar 2011 11:45:26 -0600"  >&lt;p&gt;For the 1,2,3 cases it&apos;s better to create an array of that size and .aset am into it, please. &amp;amp; rest case could bootstrap with 3-arg call as well.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</comment>
                    <comment id="26299" author="dsg" created="Thu, 10 Mar 2011 14:02:12 -0600"  >&lt;p&gt;Updated patch to reflect Rich&apos;s suggestions.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10121" name="enhance-vector-of.patch" size="4144" author="dsg" created="Fri, 25 Feb 2011 16:29:27 -0600" />
                    <attachment id="10143" name="updated-enhance-vector-of.patch" size="4584" author="dsg" created="Thu, 10 Mar 2011 14:02:12 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Approval</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10007">Ok</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                        <customfield id="customfield_10003" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                <customfieldname>Waiting On</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>stu</customfieldvalue>
                </customfieldvalues>
            </customfield>
                            </customfields>
    </item>

<item>
            <title>[CLJ-178] Reloading core.clj from REPL fails with print-method exception</title>
                <link>http://dev.clojure.org/jira/browse/CLJ-178</link>
                <project id="10010" key="CLJ">Clojure</project>
                        <description>&lt;p&gt;Example REPL session:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(in-ns &apos;clojure.core)
(def source-file &lt;span class=&quot;code-quote&quot;&gt;&quot;/path/to/clojure/src/clj/clojure/core.clj&quot;&lt;/span&gt;)
(load-string (slurp source-file))
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

Result:
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;
java.lang.IllegalArgumentException: No method in multimethod &apos;print-method&apos; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; dispatch value: class clojure.lang.Var
Exception in thread &lt;span class=&quot;code-quote&quot;&gt;&quot;main&quot;&lt;/span&gt; java.lang.IllegalArgumentException: No method in multimethod &apos;print-method&apos; &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; dispatch value: class java.lang.&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
        at clojure.lang.MultiFn.getFn(MultiFn.java:115)
        at clojure.lang.MultiFn.invoke(MultiFn.java:161)
        at clojure.core$pr_on__1315.invoke(Unknown Source)
        at clojure.core$pr__1318.invoke(Unknown Source)
        at clojure.lang.AFn.applyToHelper(AFn.java:173)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply__183.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:428)
        at clojure.core$print__1332.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:413)
        at clojure.core$printf__2285.doInvoke(Unknown Source)
        at clojure.lang.RestFn.invoke(RestFn.java:428)
        at clojure.main$repl_prompt__6713.invoke(main.clj:41)
        at clojure.main$repl__6737.doInvoke(main.clj:199)
        at clojure.lang.RestFn.invoke(RestFn.java:426)
        at clojure.main$repl_opt__6777.invoke(main.clj:251)
        at clojure.main$main__6812.doInvoke(main.clj:338)
        at clojure.lang.RestFn.invoke(RestFn.java:402)
        at clojure.lang.Var.invoke(Var.java:355)
        at clojure.lang.AFn.applyToHelper(AFn.java:171)
        at clojure.lang.Var.applyTo(Var.java:476)
        at clojure.main.main(main.java:37)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="13575">CLJ-178</key>
            <summary>Reloading core.clj from REPL fails with print-method exception</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                        <status id="6" iconUrl="http://dev.clojure.org/jira/images/icons/status_closed.gif">Closed</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="-1">Unassigned</assignee>
                                <reporter username="-1">None</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Aug 2009 18:40:00 -0500</created>
                <updated>Tue, 28 Sep 2010 15:34:00 -0500</updated>
                    <resolved>Tue, 28 Sep 2010 15:34:00 -0500</resolved>
                                            <fixVersion>Approved Backlog</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="23131" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;Converted from &lt;a href=&quot;http://www.assembla.com/spaces/clojure/tickets/178&quot;&gt;http://www.assembla.com/spaces/clojure/tickets/178&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="23132" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;stu said: Core is special, and it may be that this is not possible in general (across all combinations of source/compilation that could be extant on the classpath). Here&apos;s what I get with today&apos;s master:&lt;/p&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;java.lang.IllegalArgumentException: Can&apos;t define method not in interfaces: nth (gvec.clj:83)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="23133" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;stu said: Notes:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Moving print-initialized to the top of core.clj does not fix this problem&lt;/li&gt;
	&lt;li&gt;You can avoid this problem by putting the clojure src and classes directories (and not the compiled clojure.jar on your classpath), and compiling only the java bits&lt;/li&gt;
	&lt;li&gt;Disregard my previous comment, that was local weirdness in my environment.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I am ok with the workaround but if there is an easy fix let&apos;s make it.&lt;/p&gt;</comment>
                    <comment id="23134" author="importer" created="Tue, 28 Sep 2010 15:34:00 -0500"  >&lt;p&gt;richhickey said: works in 1.3 master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>