<!--
RSS generated by JIRA (4.4#649-r158309) at Sat May 25 18:33:44 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+TNS&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+TNS</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="7" total="7"/>
                <build-info>
            <version>4.4</version>
            <build-number>649</build-number>
            <build-date>25-07-2011</build-date>
        </build-info>
<item>
            <title>[TNS-7] Stack overflow on refresh after circular dependency detected</title>
                <link>http://dev.clojure.org/jira/browse/TNS-7</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;user&amp;gt; (refresh)
Exception Circular dependency between com.example.foo and com.example.bar  clojure.tools.namespace.dependency.MapDependencyGraph (dependency.clj:74)
user&amp;gt; (refresh)
StackOverflowError   clojure.lang.PersistentHashMap$BitmapIndexedNode.index (PersistentHashMap.java:576)
user&amp;gt; (clojure.repl/pst)
StackOverflowError 
	clojure.lang.PersistentHashMap$BitmapIndexedNode.index (PersistentHashMap.java:576)
	clojure.lang.PersistentHashMap$BitmapIndexedNode.find (PersistentHashMap.java:676)
	clojure.lang.PersistentHashMap$ArrayNode.find (PersistentHashMap.java:396)
	clojure.lang.PersistentHashMap.valAt (PersistentHashMap.java:152)
	clojure.lang.PersistentHashMap.valAt (PersistentHashMap.java:156)
	clojure.lang.RT.get (RT.java:645)
	clojure.tools.namespace.dependency/transitive (dependency.clj:52)
	clojure.tools.namespace.dependency/transitive/fn--7043 (dependency.clj:51)
	clojure.core.protocols/fn--6022 (protocols.clj:79)
	clojure.core.protocols/fn--5979/G--5974--5992 (protocols.clj:13)
	clojure.core/reduce (core.clj:6177)
	clojure.tools.namespace.dependency/transitive (dependency.clj:52)
nil&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>tools.namespace 0.2.3</environment>
            <key id="16149">TNS-7</key>
            <summary>Stack overflow on refresh after circular dependency detected</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="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Apr 2013 10:34:07 -0500</created>
                <updated>Wed, 17 Apr 2013 10:34:07 -0500</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TNS-6] Attempt to reload deleted file</title>
                <link>http://dev.clojure.org/jira/browse/TNS-6</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;p&gt;I can&apos;t identify the exact circumstances, but I have seen events where a source code file has been deleted but clojure.tools.namespace.repl/refresh still tries to reload it. Because the file doesn&apos;t exist, there&apos;s an exception when you try to load it, so you&apos;re stuck.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15890">TNS-6</key>
            <summary>Attempt to reload deleted file</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Dec 2012 07:56:01 -0600</created>
                <updated>Fri, 14 Dec 2012 07:56:01 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[TNS-5] Allow any valid .clj* source file to be parsed/analysed</title>
                <link>http://dev.clojure.org/jira/browse/TNS-5</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;p&gt;This broadens the allowed file types to anything ending with #&quot;\.clj.?$&quot;, meaning this would work for clj, cljs, cljc, cljx and possibly other Clojure implementations with their own extension in the future. &lt;/p&gt;

&lt;p&gt;This allows libraries such as codox (and possibly autodoc) to work with ClojureScript and others implementations without any modification.&lt;/p&gt;

&lt;p&gt;Note: My CA is on the way, I sent it a week ago, I am not sure if it arrived yet (it was sent from Switzerland with normal mail, with an ETA of 1 week).&lt;/p&gt;</description>
                <environment></environment>
            <key id="15810">TNS-5</key>
            <summary>Allow any valid .clj* source file to be parsed/analysed</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="1" iconUrl="http://dev.clojure.org/jira/images/icons/status_open.gif">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="mpenet">Max Penet</reporter>
                        <labels>
                        <label>enhancement</label>
                    </labels>
                <created>Thu, 1 Nov 2012 15:30:08 -0500</created>
                <updated>Thu, 13 Dec 2012 02:40:21 -0600</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="29888" author="mpenet" created="Fri, 2 Nov 2012 06:51:22 -0500"  >&lt;p&gt;CA received it seems (I am listed on &lt;a href=&quot;http://clojure.org/contributing&quot;&gt;http://clojure.org/contributing&lt;/a&gt; ).&lt;/p&gt;</comment>
                    <comment id="29895" author="stuart.sierra" created="Fri, 2 Nov 2012 15:23:28 -0500"  >&lt;p&gt;I&apos;m not sure about this. If you&apos;re only using c.t.n.find in isolation, it&apos;s fine. But if you&apos;re using code-reloading and c.t.n.repl, it could incorrectly try to reload .cljs files in JVM Clojure.&lt;/p&gt;

&lt;p&gt;We really need &lt;span class=&quot;error&quot;&gt;&amp;#91;Feature Expressions&amp;#93;&lt;/span&gt;&lt;a href=&quot;http://dev.clojure.org/display/design/Feature+Expressions&quot;&gt;http://dev.clojure.org/display/design/Feature+Expressions&lt;/a&gt; or something like it to get away from multiple file extensions.&lt;/p&gt;

&lt;p&gt;Until then, I think it has to be optional. I don&apos;t know how best to achieve this. The APIs in c.t.n.repl and c.t.n.dir are not amenable to extension. I&apos;ll think about it.&lt;/p&gt;</comment>
                    <comment id="29906" author="mpenet" created="Tue, 6 Nov 2012 18:11:05 -0600"  >&lt;p&gt;True, I didn&apos;t realize that. &lt;/p&gt;

&lt;p&gt;Maybe using a dynamic var to hold the regex pattern (or a predicate?) could be a reasonable solution in the meantime, this would allow to rebind it in the case of codox &amp;amp; similar libs.&lt;br/&gt;
I don&apos;t really &quot;like&quot; to use dynamic vars (or regexes!), but in this case it might make sense.&lt;br/&gt;
Not to mention it would also allow more flexibility on projects where you don&apos;t want to have your clj codoxed, but only your cljs for instance.&lt;/p&gt;</comment>
                    <comment id="30026" author="mpenet" created="Sat, 24 Nov 2012 07:47:39 -0600"  >&lt;p&gt;Any thoughts on my last comment/edit? I don&apos;t think there is a single doc lib that works with cljs at the moment, it is a bit painful to be honest.&lt;/p&gt;</comment>
                    <comment id="30027" author="stuart.sierra" created="Sat, 24 Nov 2012 16:25:42 -0600"  >&lt;p&gt;Yes, I think a dynamic var would be OK. However, I would like to know of a real use case, not just a potential one.&lt;/p&gt;</comment>
                    <comment id="30223" author="mpenet" created="Thu, 13 Dec 2012 02:40:21 -0600"  >&lt;p&gt;The idea was to be able to use codox on cljs files, I tried locally but there are other problems with this approach to be able to get to cljs vars metadata. So in the end I think you were right, maybe it&apos;s better to wait for feature expressions for this. &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11654" name="e3cd6d1fa6e0c900bc1086e4a93bbc9cb343a820.patch" size="5317" author="mpenet" created="Thu, 1 Nov 2012 15:30:08 -0500" />
                </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>[TNS-4] Eliminate several uses of reflection in tools.namespace</title>
                <link>http://dev.clojure.org/jira/browse/TNS-4</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;p&gt;There are several reflection warnings when compiling tools.namespace, all of which can be eliminated with fairly straightforward additions of type hints.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15796">TNS-4</key>
            <summary>Eliminate several uses of reflection in tools.namespace</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="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="jafingerhut">Andy Fingerhut</reporter>
                        <labels>
                    </labels>
                <created>Sun, 28 Oct 2012 20:06:37 -0500</created>
                <updated>Sun, 28 Oct 2012 21:14:41 -0500</updated>
                    <resolved>Sun, 28 Oct 2012 21:14:41 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="29855" author="jafingerhut" created="Sun, 28 Oct 2012 20:08:39 -0500"  >&lt;p&gt;tns-4-eliminate-reflection-v1.txt dated Oct 28 2012 adds the necessary type hints to eliminate reflection warnings in tools.namespace.&lt;/p&gt;</comment>
                    <comment id="29859" author="stuart.sierra" created="Sun, 28 Oct 2012 21:14:41 -0500"  >&lt;p&gt;Patch applied. Thanks!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11634" name="tns-4-eliminate-reflection-v1.txt" size="3958" author="jafingerhut" created="Sun, 28 Oct 2012 20:08:39 -0500" />
                </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>[TNS-3] refresh-dirs not used</title>
                <link>http://dev.clojure.org/jira/browse/TNS-3</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;p&gt;Submitted by Mika Raento as a GitHub pull request: &lt;a href=&quot;https://github.com/clojure/tools.namespace/pull/1&quot;&gt;https://github.com/clojure/tools.namespace/pull/1&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="15740">TNS-3</key>
            <summary>refresh-dirs not used</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="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 Oct 2012 16:50:40 -0500</created>
                <updated>Mon, 8 Oct 2012 16:59:59 -0500</updated>
                    <resolved>Mon, 8 Oct 2012 16:59:59 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="29618" author="stuart.sierra" created="Mon, 8 Oct 2012 16:59:59 -0500"  >&lt;p&gt;Fixed in commit bc9d5c1a6f191070a425b04feda9e2d3c2eb6928&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/clojure/tools.namespace/commit/bc9d5c1a6f191070a425b04feda9e2d3c2eb6928&quot;&gt;https://github.com/clojure/tools.namespace/commit/bc9d5c1a6f191070a425b04feda9e2d3c2eb6928&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>[TNS-2] Add function to parse dependencies from namespace declarations</title>
                <link>http://dev.clojure.org/jira/browse/TNS-2</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description></description>
                <environment></environment>
            <key id="15448">TNS-2</key>
            <summary>Add function to parse dependencies from namespace declarations</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="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="stuart.sierra">Stuart Sierra</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 May 2012 16:35:43 -0500</created>
                <updated>Wed, 16 May 2012 16:42:51 -0500</updated>
                    <resolved>Wed, 16 May 2012 16:42:51 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11221" name="TNS-2-0001.patch" size="1896" author="stuart.sierra" created="Wed, 16 May 2012 16:41:59 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10001">Code</customfieldvalue>

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

<item>
            <title>[TNS-1] Workaround to Clojure 1.2 reader bug</title>
                <link>http://dev.clojure.org/jira/browse/TNS-1</link>
                <project id="10052" key="TNS">tools.namespace</project>
                        <description>&lt;p&gt;The clojure 1.2 reader will allow invalid forms like {:key} to be read in, and only throw an exception on printing. Currently clojure.tools.namespace calls (read rdr) within a try form; the bug means that this particular type of error is never caught. This patch forces the reader to try and resolve with str, allowing clojure.tools.namespace to catch and bury the error.&lt;/p&gt;

&lt;p&gt;I was running into this with moustache templates from lein-newnew on the classpath; these contain namespace headers that look like (ns &lt;tt&gt;name&lt;/tt&gt;.core). This would cause (clojure.tools.namespace/find-namespaces-on-classpath) to fail when printing its results but not when actually running.&lt;/p&gt;</description>
                <environment>Mac OS X, Clojure 1.2.1, Leiningen 1.6.2</environment>
            <key id="15072">TNS-1</key>
            <summary>Workaround to Clojure 1.2 reader bug</summary>
                <type id="1" iconUrl="http://dev.clojure.org/jira/images/icons/bug.gif">Defect</type>
                                <priority id="3" iconUrl="http://dev.clojure.org/jira/images/icons/priority_major.gif">Major</priority>
                    <status id="5" iconUrl="http://dev.clojure.org/jira/images/icons/status_resolved.gif">Resolved</status>
                    <resolution id="1">Completed</resolution>
                                <assignee username="stuart.sierra">Stuart Sierra</assignee>
                                <reporter username="sritchie">Sam Ritchie</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Dec 2011 16:52:05 -0600</created>
                <updated>Tue, 24 Apr 2012 14:07:05 -0500</updated>
                    <resolved>Tue, 24 Apr 2012 14:04:28 -0500</resolved>
                                                                    <due></due>
                    <votes>2</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="27467" author="sritchie" created="Wed, 14 Dec 2011 16:55:24 -0600"  >&lt;p&gt;Funny, jira picked up the moustache markup. a bad namespace looks like (ns { { name } } . core).&lt;/p&gt;</comment>
                    <comment id="27537" author="sritchie" created="Wed, 11 Jan 2012 15:59:35 -0600"  >&lt;p&gt;Ping &amp;#8211; Stuart, any thoughts on this?&lt;/p&gt;</comment>
                    <comment id="27538" author="stuart.sierra" created="Wed, 11 Jan 2012 18:09:44 -0600"  >&lt;p&gt;Why should tools.ns do this? If the syntax is wrong, it&apos;s wrong.&lt;/p&gt;</comment>
                    <comment id="27540" author="sritchie" created="Wed, 11 Jan 2012 18:43:07 -0600"  >&lt;p&gt;Because without this patch, it&apos;s impossible to catch and bury errors from invalid reader syntax. I believe this comes from a bug in the reader that was fixed with 1.2.&lt;/p&gt;</comment>
                    <comment id="27627" author="stuart.sierra" created="Fri, 27 Jan 2012 09:44:25 -0600"  >&lt;p&gt;Declined. It is not the responsibility of this library to catch errors in old versions of Clojure.&lt;/p&gt;</comment>
                    <comment id="28257" author="stuart.sierra" created="Tue, 24 Apr 2012 14:01:19 -0500"  >&lt;p&gt;Reopening because this is still a visible issue for some libraries. I still don&apos;t like it, but I&apos;m going to include it.&lt;/p&gt;</comment>
                    <comment id="28258" author="stuart.sierra" created="Tue, 24 Apr 2012 14:04:28 -0500"  >&lt;p&gt;Patch applied.&lt;/p&gt;</comment>
                    <comment id="28259" author="sritchie" created="Tue, 24 Apr 2012 14:07:05 -0500"  >&lt;p&gt;Great, thanks!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10746" name="0001-Workaround-to-Clojure-1.2-reader-bug.patch" size="1334" author="sritchie" created="Wed, 14 Dec 2011 16:52:05 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10009">Fixed</customfieldvalue>

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