<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://javascriptcompressor.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Open Javascript Discussion</title><link>http://javascriptcompressor.com/forums/5.aspx</link><description>Anything about Javascript - the discussion is open</description><dc:language>en</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>Re: modified packer code</title><link>http://javascriptcompressor.com/forums/thread/13.aspx</link><pubDate>Mon, 14 Jul 2008 05:35:08 GMT</pubDate><guid isPermaLink="false">46e44164-0b03-4ad8-8ee9-19568eb0413f:13</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><comments>http://javascriptcompressor.com/forums/thread/13.aspx</comments><wfw:commentRss>http://javascriptcompressor.com/forums/commentrss.aspx?SectionID=5&amp;PostID=13</wfw:commentRss><description>&lt;p&gt;Hi again Matthew, I&amp;#39;ve received an email from the algo author. He is currently working on version 3.1 soon to be released. He will take a look at your code at see if he can implement it. He says its a difficult task to fix the &amp;quot;function&amp;quot; issue - it would be amazing if you have fixed it :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: modified packer code</title><link>http://javascriptcompressor.com/forums/thread/11.aspx</link><pubDate>Mon, 07 Jul 2008 07:05:23 GMT</pubDate><guid isPermaLink="false">46e44164-0b03-4ad8-8ee9-19568eb0413f:11</guid><dc:creator>Vindberg</dc:creator><slash:comments>0</slash:comments><comments>http://javascriptcompressor.com/forums/thread/11.aspx</comments><wfw:commentRss>http://javascriptcompressor.com/forums/commentrss.aspx?SectionID=5&amp;PostID=11</wfw:commentRss><description>&lt;p&gt;Hi Matthew, it would be great to avoid the required &amp;quot;;&amp;quot; for functions. I&amp;#39;ve contacted the author of the algorithm (Dean Edwards) and we might add it to javascriptcompressor.com shortly!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Thanks for your contribution!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>modified packer code</title><link>http://javascriptcompressor.com/forums/thread/10.aspx</link><pubDate>Wed, 02 Jul 2008 20:08:21 GMT</pubDate><guid isPermaLink="false">46e44164-0b03-4ad8-8ee9-19568eb0413f:10</guid><dc:creator>matthewfl</dc:creator><slash:comments>0</slash:comments><comments>http://javascriptcompressor.com/forums/thread/10.aspx</comments><wfw:commentRss>http://javascriptcompressor.com/forums/commentrss.aspx?SectionID=5&amp;PostID=10</wfw:commentRss><description>&lt;p&gt;I have a modification to the packer so that it can &amp;quot;fix function&amp;quot;.&amp;nbsp; In BLOCKED SCRIPT&lt;/p&gt;
&lt;p&gt;var a = function () {&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Should really be:&lt;/p&gt;
&lt;p&gt;var a = function () {&lt;/p&gt;
&lt;p&gt;};&lt;/p&gt;
&lt;p&gt;this is because you are setting a to an unnamed function.&amp;nbsp; So I came up with this code: &lt;/p&gt;
&lt;p&gt;function_fix: function (script) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var list=[];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; script.replace(/(=function)/g, function (rep, Something, place, str, s) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; str = str + &amp;#39;&amp;#39;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var b=0,c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(var a = place;a&amp;lt;str.length;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var op = str.indexOf(&amp;#39;{&amp;#39;, a);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var cl = str.indexOf(&amp;#39;}&amp;#39;, a);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(cl &amp;lt; 0){ throw &amp;quot;Not Balanced&amp;quot;; return;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(op &amp;lt; cl &amp;amp;&amp;amp; op &amp;gt; -1) { // open is next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; c = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a = op+1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; b--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a = cl+1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(b == 0 &amp;amp;&amp;amp; c == true) break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; a--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(script[a+1] != &amp;quot;;&amp;quot; &amp;amp;&amp;amp; script[a+1] != &amp;quot;,&amp;quot;) // fix for: var a=function () {}, b=function(){};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; list.push(a+list.length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return str;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while(list.length) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var a = list.shift();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var befor = script.substring(0, a+1), after = script.substring(a+1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; script = befor + &amp;quot;;&amp;quot; + after;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return script;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just add it after the pack function in Packer.js and change &lt;/p&gt;
&lt;p&gt;script = this.minify(script + &amp;quot;
&amp;quot;);&lt;br /&gt;script = this.function_fix(script);&lt;br /&gt;if (shrink) script = this._shrinkVariables(script);&lt;/p&gt;
&lt;p&gt;The code will fix function and reduces the number of time that I see a missing ; error when I have packed my code&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>