<!-- 
RSS generated by JIRA (4.4#649-r158309) at Thu May 23 14:55:19 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/si/jira.issueviews:issue-xml/CLJS-400/CLJS-400.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Clojure JIRA</title>
    <link>http://dev.clojure.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>4.4</version>
        <build-number>649</build-number>
        <build-date>25-07-2011</build-date>
    </build-info>

<item>
            <title>[CLJS-400] Stop using goog.string.quote to escape strings for printing</title>
                <link>http://dev.clojure.org/jira/browse/CLJS-400</link>
                <project id="10040" key="CLJS">ClojureScript</project>
                        <description>&lt;p&gt;The contract of &lt;tt&gt;goog.string.quote&lt;/tt&gt; is to produce a &quot;valid JavaScript string&quot;, which can end up being quite different from what is expected by e.g. the Clojure reader and other edn-compatible readers.  This has been discussed in a variety of threads/issues:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://groups.google.com/forum/#!msg/clojure/Kl3WVtEE3FY/N1VEGHf8C3AJ&quot;&gt;https://groups.google.com/forum/#!msg/clojure/Kl3WVtEE3FY/N1VEGHf8C3AJ&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/clojure-dev/browse_thread/thread/3114566c2f13f520&quot;&gt;http://groups.google.com/group/clojure-dev/browse_thread/thread/3114566c2f13f520&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/clojure/browse_thread/thread/f05a78432e0084db&quot;&gt;http://groups.google.com/group/clojure/browse_thread/thread/f05a78432e0084db&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-1025&quot;&gt;http://dev.clojure.org/jira/browse/CLJ-1025&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/ibdknox/pinot/issues/16&quot;&gt;https://github.com/ibdknox/pinot/issues/16&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The most significant issue is that characters &amp;gt; 127 and &amp;lt; 256 are outputted with an &lt;tt&gt;\x..&lt;/tt&gt; escape sequence, which no other reader supports.  Further, other Unicode characters are &lt;em&gt;always&lt;/em&gt; escaped using the &lt;tt&gt;\u....&lt;/tt&gt; notation; this is not a functional difference, but can be a stumbling block, e.g. when viewing data that had been &lt;tt&gt;pr-str&lt;/tt&gt;&apos;d that contains high codepoint characters.&lt;/p&gt;

&lt;p&gt;The most straightforward fix is to take control of printed string escaping to ensure the results conform first to the expectations of existing readers (primarily Clojure&apos;s and ClojureScript&apos;s), and to the formal &lt;span class=&quot;error&quot;&gt;&amp;#91;edn specification&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/edn-format/edn/&quot;&gt;https://github.com/edn-format/edn/&lt;/a&gt;) as that matures.&lt;/p&gt;

&lt;p&gt;This ticket supersedes &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJ-1025&quot;&gt;http://dev.clojure.org/jira/browse/CLJ-1025&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="15761">CLJS-400</key>
            <summary>Stop using goog.string.quote to escape strings for printing</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="-1">Unassigned</assignee>
                                <reporter username="cemerick">Chas Emerick</reporter>
                        <labels>
                    </labels>
                <created>Fri, 19 Oct 2012 19:47:40 -0500</created>
                <updated>Mon, 22 Oct 2012 18:06:32 -0500</updated>
                    <resolved>Mon, 22 Oct 2012 18:06:32 -0500</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="29717" author="cemerick" created="Fri, 19 Oct 2012 19:50:42 -0500"  >&lt;p&gt;Patch attached&lt;/p&gt;</comment>
                    <comment id="29720" author="dnolen" created="Fri, 19 Oct 2012 20:13:41 -0500"  >&lt;p&gt;Thanks. Performance things - can we avoid instantiating the RegExp everytime, can we switch char-escapes to a JS object and use aget?&lt;/p&gt;</comment>
                    <comment id="29721" author="cemerick" created="Fri, 19 Oct 2012 21:11:27 -0500"  >&lt;p&gt;Patch &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-400&quot; title=&quot;Stop using goog.string.quote to escape strings for printing&quot;&gt;&lt;del&gt;CLJS-400&lt;/del&gt;&lt;/a&gt;-fast.diff added with suggested perf tweaks. Please excuse my (still) absolutely shoddy cljs instincts.&lt;/p&gt;</comment>
                    <comment id="29726" author="dnolen" created="Sat, 20 Oct 2012 09:42:21 -0500"  >&lt;p&gt;Using the let won&apos;t work here. That will be emit top-levels that are &lt;b&gt;not&lt;/b&gt; namespaced. Edge case in the compiler that should be sorted out on another ticket. Just define top levels for these thanks.&lt;/p&gt;</comment>
                    <comment id="29755" author="cemerick" created="Mon, 22 Oct 2012 14:03:09 -0500"  >&lt;p&gt;New patch attached with requested changes, &lt;a href=&quot;http://dev.clojure.org/jira/browse/CLJS-400&quot; title=&quot;Stop using goog.string.quote to escape strings for printing&quot;&gt;&lt;del&gt;CLJS-400&lt;/del&gt;&lt;/a&gt;.diff.&lt;/p&gt;</comment>
                    <comment id="29766" author="dnolen" created="Mon, 22 Oct 2012 18:06:32 -0500"  >&lt;p&gt;fixed, &lt;a href=&quot;http://github.com/clojure/clojurescript/commit/3b32345966a65f66e49563a3a40a2877d0435c5d&quot;&gt;http://github.com/clojure/clojurescript/commit/3b32345966a65f66e49563a3a40a2877d0435c5d&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11596" name="CLJS-400.diff" size="2585" author="cemerick" created="Mon, 22 Oct 2012 14:03:09 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Global Rank</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                <customfieldname>Patch</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10002">Code and Test</customfieldvalue>

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