<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Done, it's yours!<div>Thanks.</div><div><br></div><div>- Don</div><div><br><div><div>On Feb 19, 2009, at 9:03 AM, P T Withington wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Approved.<br><br>After you check in, close the bug, then re-open to me to integrate to 4.2.0.2<br><br>On 2009-02-18, at 20:43EST, Donald Anderson wrote:<br><br><blockquote type="cite">Tucker, I think this addresses the points from your review.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Change 20090217-dda-N by <a href="mailto:dda@lester-2.local">dda@lester-2.local</a> on 2009-02-17 17:09:17 EST<br></blockquote><blockquote type="cite"> in /Users/dda/laszlo/src/svn/openlaszlo/trunk-g<br></blockquote><blockquote type="cite"> for <a href="http://svn.openlaszlo.org/openlaszlo/trunk">http://svn.openlaszlo.org/openlaszlo/trunk</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Summary: Use apply() rather than call() in catcherrors implementation. [revised]<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">New Features:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Bugs Fixed: [LPP-7722] SWF9: method having argument and variable with same name behave differently with catcherrors=true<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Technical Reviewer: ptw (pending)<br></blockquote><blockquote type="cite">QA Reviewer: (pending)<br></blockquote><blockquote type="cite">Doc Reviewer: (pending)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Documentation:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Release Notes:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Details:<br></blockquote><blockquote type="cite"> ** To be applied also to 4.2.0.2?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> Changed catcherrors implementation to use apply() rather than call() so that arguments appear the same<br></blockquote><blockquote type="cite"> within the closure as in the original code. The one gotcha is that the magic 'arguments' variable<br></blockquote><blockquote type="cite"> is not available when there is a variable argument declaration (...rest) present. When there is a single<br></blockquote><blockquote type="cite"> argument (e.g. function foo(...rest)) the variable name (e.g. rest) can be used in place of arguments. When there<br></blockquote><blockquote type="cite"> are additional fixed arguments (e.g. function foo(a, b, ...rest)) the actual argument list array must be<br></blockquote><blockquote type="cite"> assembled from the args (e.g. [a,b].concat(rest))<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> Added a compiler test to check this.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> Revised 2/18:<br></blockquote><blockquote type="cite"> Removed 'with (this)' from implementation, it is no longer needed.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"> Added another compiler test to check that an argument is scoped nearer than object variables, which would<br></blockquote><blockquote type="cite"> have failed when inserting 'with (this)'.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Tests:<br></blockquote><blockquote type="cite"> Tried the test from the Jira.<br></blockquote><blockquote type="cite"> Smoke test all platforms, including SWF9 using catcherrors.<br></blockquote><blockquote type="cite"> Confirmed that new test is working by trying SWF9 with catcherrors on a fresh tree with just the test changed.<br></blockquote><blockquote type="cite"> {SWF9(with catcherrors=true),SWF8,dhtml} x {weather,lzpix}<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Files:<br></blockquote><blockquote type="cite">M test/smoke/compiler.lzl<br></blockquote><blockquote type="cite">M WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java<br></blockquote><blockquote type="cite">M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/parser/ASTIdentifier.java<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Changeset: <a href="http://svn.openlaszlo.org/openlaszlo/patches/20090217-dda-N.tar">http://svn.openlaszlo.org/openlaszlo/patches/20090217-dda-N.tar</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Don Anderson<br></blockquote><blockquote type="cite">Java/C/C++, Berkeley DB, systems consultant<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">voice: 617-306-2057<br></blockquote><blockquote type="cite">email: <a href="mailto:dda@ddanderson.com">dda@ddanderson.com</a><br></blockquote><blockquote type="cite">www: <a href="http://www.ddanderson.com">http://www.ddanderson.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><br></div></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br class="Apple-interchange-newline">--</div><div><br>Don Anderson<br>Java/C/C++, Berkeley DB, systems consultant<br><br>voice: 617-306-2057<br>email: <a href="mailto:dda@ddanderson.com">dda@ddanderson.com</a><br>www: <a href="http://www.ddanderson.com/">http://www.ddanderson.com</a><br></div></div></span></span><br class="Apple-interchange-newline"></div></span></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>