<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>10880</bug_id>
          
          <creation_ts>2006-09-15 23:25:07 -0700</creation_ts>
          <short_desc>Do..while loop gains a semicolon each time it is toStringed</short_desc>
          <delta_ts>2007-05-08 20:33:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesse Ruderman">jruderman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gavin.sharp</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55635</commentid>
    <comment_count>0</comment_count>
    <who name="Jesse Ruderman">jruderman</who>
    <bug_when>2006-09-15 23:25:07 -0700</bug_when>
    <thetext>javascript:f=function(){do{}while(0)}; for(i=0;i&lt;4;++i) { alert(f); f=eval(&quot;(&quot; + f + &quot;)&quot;); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10679</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-05-08 02:45:26 -0700</bug_when>
    <thetext>Although no website would ever care about this, this totally breaks jruderman&apos;s testing tool since so many of the generated tests seem to contain do {} while</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10714</commentid>
    <comment_count>2</comment_count>
      <attachid>14416</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2007-05-08 11:20:04 -0700</bug_when>
    <thetext>Created attachment 14416
Avoid new semicolon when toString()ing function which has do..while

EmptyStatement got created after every do..while();, because &apos;;&apos; was not consumed as part of the do..while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10715</commentid>
    <comment_count>3</comment_count>
      <attachid>14416</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-08 11:53:30 -0700</bug_when>
    <thetext>Comment on attachment 14416
Avoid new semicolon when toString()ing function which has do..while

Nice! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10718</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-05-08 13:46:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 14416 [edit])
&gt; Nice! r=me

Please avoid using tabs in ChangeLog entries in the future.  Thanks!

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10662</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-05-08 20:33:32 -0700</bug_when>
    <thetext>Need a changelog for layouttests next time too.  Commited as 21320</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14416</attachid>
            <date>2007-05-08 11:20:04 -0700</date>
            <delta_ts>2007-05-08 11:53:30 -0700</delta_ts>
            <desc>Avoid new semicolon when toString()ing function which has do..while</desc>
            <filename>do-while-semicolon.diff</filename>
            <type>text/plain</type>
            <size>3868</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzA1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDctMDUtMDggIEtpbW1vIEtp
bm51bmVuICA8a2ltbW9rQGlraS5maT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworCQktIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODgw
IChEby4ud2hpbGUgbG9vcCBnYWlucyAKKwkJYSBzZW1pY29sb24gZWFjaCB0aW1lIGl0IGlzIHRv
U3RyaW5nZWQpCisJCUdyYW1tYXIgaW4gRWNtYS02NjI2MiwgMTIuNjogImRvIFN0YXRlbWVudCB3
aGlsZSAoIEV4cHJlc3Npb24gKTsiCisJCUVtcHR5U3RhdGVtZW50IHdhcyBjcmVhdGVkIGFmdGVy
IGV2ZXJ5IGRvLi53aGlsZShleHByKSB3aGljaAorCQloYWQgc2VtaWNvbG9uIGF0IHRoZSBlbmQu
CisJCQorICAgICAgICAqIGtqcy9ncmFtbWFyLnk6IFJlcXVpcmUgc2VtaWNvbG9uIGF0IHRoZSBl
bmQgb2YgZG8uLndoaWxlCisKIDIwMDctMDUtMDQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
a2pzL2dyYW1tYXIueQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZ3JhbW1hci55
CShyZXZpc2lvbiAyMTMwNSkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9ncmFtbWFyLnkJKHdvcmtp
bmcgY29weSkKQEAgLTcyMSw3ICs3MjEsOCBAQCBJZlN0YXRlbWVudDoKIDsKIAogSXRlcmF0aW9u
U3RhdGVtZW50OgotICAgIERPIFN0YXRlbWVudCBXSElMRSAnKCcgRXhwciAnKScgICAgIHsgJCQg
PSBuZXcgRG9XaGlsZU5vZGUoJDIsICQ1KTsgREJHKCQkLCBAMSwgQDMpO30KKyAgICBETyBTdGF0
ZW1lbnQgV0hJTEUgJygnIEV4cHIgJyknICc7JyAgICB7ICQkID0gbmV3IERvV2hpbGVOb2RlKCQy
LCAkNSk7IERCRygkJCwgQDEsIEAzKTt9CisgIHwgRE8gU3RhdGVtZW50IFdISUxFICcoJyBFeHBy
ICcpJyBlcnJvciAgICB7ICQkID0gbmV3IERvV2hpbGVOb2RlKCQyLCAkNSk7IERCRygkJCwgQDEs
IEAzKTsgQVVUT19TRU1JQ09MT047fQogICB8IFdISUxFICcoJyBFeHByICcpJyBTdGF0ZW1lbnQg
ICAgICAgIHsgJCQgPSBuZXcgV2hpbGVOb2RlKCQzLCAkNSk7IERCRygkJCwgQDEsIEA0KTsgfQog
ICB8IEZPUiAnKCcgRXhwck5vSW5PcHQgJzsnIEV4cHJPcHQgJzsnIEV4cHJPcHQgJyknIFN0YXRl
bWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJCQgPSBuZXcg
Rm9yTm9kZSgkMywgJDUsICQ3LCAkOSk7IERCRygkJCwgQDEsIEA4KTsgfQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9qcy9kby13aGlsZS1zZW1pY29sb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvanMvZG8td2hpbGUtc2VtaWNvbG9uLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZG8td2hpbGUtc2VtaWNvbG9uLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRvU3RyaW5nKCkgcm91bmQtdHJpcCBvbiBhIGZ1bmN0aW9uIHRoYXQgaGFzIGRvLi53
aGlsZSBpbiBKYXZhU2NyaXB0IGRvZXMgbm90IGluc2VydCBleHRyYSBzZW1pY29sb24uCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVldWYxIGlzIHVmMQorUEFTUyB1ZXVm
MiBpcyB1ZjIKK1BBU1MgdWV1ZjMgaXMgdWYzCitQQVNTIHVldWY0IGlzIHVmNAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvZG8td2hpbGUtc2VtaWNvbG9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9kby13aGlsZS1zZW1pY29sb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvanMvZG8td2hpbGUtc2VtaWNvbG9uLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZG8t
d2hpbGUtc2VtaWNvbG9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvcmVzb3VyY2VzL2RvLXdoaWxlLXNlbWljb2xvbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9kby13aGlsZS1zZW1pY29sb24uanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9kby13aGlsZS1zZW1p
Y29sb24uanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKK2Rlc2NyaXB0aW9uKAorIlRo
aXMgdGVzdCBjaGVja3MgdGhhdCB0b1N0cmluZygpIHJvdW5kLXRyaXAgb24gYSBmdW5jdGlvbiB0
aGF0IGhhcyBkby4ud2hpbGUgaW4gSmF2YVNjcmlwdCBkb2VzIG5vdCBpbnNlcnQgZXh0cmEgc2Vt
aWNvbG9uLiIKKyk7CisKK2Z1bmN0aW9uIGYxKCkgeworICAgIGRvIHt9IHdoaWxlKDApOworfQor
CitmdW5jdGlvbiBmMigpIHsKKyAgICBkbyB7fSB3aGlsZSgwKQorfQorCitmdW5jdGlvbiBmMygp
IHsKKyAgICBkbyB7fSB3aGlsZSgwKSAgIDsKK30KKworZnVuY3Rpb24gZjQoKSB7CisgICAgZG8g
e30gd2hpbGUoMCkgIC8qZW1wdHkqLyA7Cit9CisKKworCitpZiAodHlwZW9mIHVuZXZhbCA9PSAi
dW5kZWZpbmVkIikKKyAgICB1bmV2YWwgPSBmdW5jdGlvbih4KSB7IHJldHVybiAnKCcgKyB4LnRv
U3RyaW5nKCkrICcpJzsgfQorCisKK3VmMSA9IHVuZXZhbChmMSk7Cit1ZXVmMSA9IHVuZXZhbChl
dmFsKHVuZXZhbChmMSkpKTsKKwordWYyID0gdW5ldmFsKGYyKTsKK3VldWYyID0gdW5ldmFsKGV2
YWwodW5ldmFsKGYyKSkpOworCit1ZjMgPSB1bmV2YWwoZjMpOwordWV1ZjMgPSB1bmV2YWwoZXZh
bCh1bmV2YWwoZjMpKSk7CisKK3VmNCA9IHVuZXZhbChmNCk7Cit1ZXVmNCA9IHVuZXZhbChldmFs
KHVuZXZhbChmNCkpKTsKKworCisKK3Nob3VsZEJlKCJ1ZXVmMSIsICJ1ZjEiKTsKK3Nob3VsZEJl
KCJ1ZXVmMiIsICJ1ZjIiKTsKK3Nob3VsZEJlKCJ1ZXVmMyIsICJ1ZjMiKTsKK3Nob3VsZEJlKCJ1
ZXVmNCIsICJ1ZjQiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="5877"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>