<?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>138129</bug_id>
          
          <creation_ts>2014-10-28 02:44:21 -0700</creation_ts>
          <short_desc>String.prototype.split gives incorrect result in some cases: &quot;a&quot;.split(/$/) == [&quot;a&quot;,&quot;&quot;] not [&quot;a&quot;].</short_desc>
          <delta_ts>2015-01-21 14:43:52 -0800</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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lasse Reichstein Holst Nielsen">lrn</reporter>
          <assigned_to name="Matthew Mirman">mmirman</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044444</commentid>
    <comment_count>0</comment_count>
    <who name="Lasse Reichstein Holst Nielsen">lrn</who>
    <bug_when>2014-10-28 02:44:21 -0700</bug_when>
    <thetext>String.prototype.split gives an incorrect result in some cases.
When doing &quot;a&quot;.split(/$/), the result is [&quot;a&quot;, &quot;&quot;]. The result should be [&quot;a&quot;].
This was seen in Safari 7.1.

From the es5 spec:
&quot;The value of separator may be an empty String, an empty regular expression, or a regular expression that can match an empty String. In this case, separator does not match the empty substring at the beginning or end of the input String, nor does it match the empty substring at the end of the previous separator match.&quot;
In this case, the regexp can only match an empty substring at the end of the input, and by the above text, that match is ignored wrt. splitting, so the result should be the same as with no match, [&quot;a&quot;].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044706</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-28 23:04:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/18807403&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063176</commentid>
    <comment_count>2</comment_count>
      <attachid>245088</attachid>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2015-01-21 14:27:32 -0800</bug_when>
    <thetext>Created attachment 245088
Updated split such that it does not include the empty end of line string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063186</commentid>
    <comment_count>3</comment_count>
    <who name="Matthew Mirman">mmirman</who>
    <bug_when>2015-01-21 14:43:52 -0800</bug_when>
    <thetext>Patch landed:  http://trac.webkit.org/changeset/178860
Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245088</attachid>
            <date>2015-01-21 14:27:32 -0800</date>
            <delta_ts>2015-01-21 14:42:44 -0800</delta_ts>
            <desc>Updated split such that it does not include the empty end of line string.</desc>
            <filename>0001-Updated-split-such-that-it-does-not-include-the-empt.patch</filename>
            <type>text/plain</type>
            <size>3722</size>
            <attacher name="Matthew Mirman">mmirman</attacher>
            
              <data encoding="base64">RnJvbSA4YzM2NzIyODljZjYxODFhZGJjYWViZDM2NjQxM2EwNTcxMGVlZmUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGV3IE1pcm1hbiA8bW1pcm1hbkBhcHBsZS5jb20+CkRh
dGU6IFdlZCwgMjEgSmFuIDIwMTUgMTQ6MjY6MjMgLTA4MDAKU3ViamVjdDogW1BBVENIXSBVcGRh
dGVkIHNwbGl0IHN1Y2ggdGhhdCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBlbXB0eSBlbmQgb2YK
IGlucHV0IHN0cmluZyBtYXRjaC4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzODEyOQogPHJkYXI6Ly9wcm9ibGVtLzE4ODA3NDAzPgoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgoqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKEpTQzo6c3RyaW5nUHJv
dG9GdW5jU3BsaXQpOgoqIHRlc3RzL3N0cmVzcy9lbXB0eV9lb3NfcmVnZXhfc3BsaXQuanM6IEFk
ZGVkLgoKZGlmZiAtLWdpdCBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZTdlMmM1OS4uZWYwZDQ1YSAxMDA2NDQKLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMS0yMSAgTWF0dGhldyBNaXJtYW4g
IDxtbWlybWFuQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGVkIHNwbGl0IHN1Y2ggdGhhdCBp
dCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBlbXB0eSBlbmQgb2YgaW5wdXQgc3RyaW5nIG1hdGNoLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTI5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xODgwNzQwMz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcDoK
KyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jU3BsaXQpOgorICAgICAgICAqIHRlc3RzL3N0
cmVzcy9lbXB0eV9lb3NfcmVnZXhfc3BsaXQuanM6IEFkZGVkLgorCiAyMDE1LTAxLTIxICBNaWNo
YWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEVsaW1pbmF0ZSBTY29w
ZSBzbG90IGZyb20gSmF2YVNjcmlwdCBDYWxsRnJhbWUKZGlmZiAtLWdpdCBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKaW5kZXggZmUwNjhlNi4uNTFiZmRjNyAxMDA2
NDQKLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKQEAg
LTExMDEsMTEgKzExMDEsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQ
cm90b0Z1bmNTcGxpdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICAvLyBhLiBDYWxsIFNw
bGl0TWF0Y2goUywgcSwgUikgYW5kIGxldCB6IGJlIGl0cyBNYXRjaFJlc3VsdCByZXN1bHQuCiAg
ICAgICAgICAgICBWZWN0b3I8aW50LCAzMj4gb3ZlY3RvcjsKICAgICAgICAgICAgIGludCBtcG9z
ID0gcmVnLT5tYXRjaCgqdm0sIGlucHV0LCBtYXRjaFBvc2l0aW9uLCBvdmVjdG9yKTsKLSAgICAg
ICAgICAgIC8vIGIuIElmIHogaXMgZmFpbHVyZSwgdGhlbiBsZXQgcSA9IHEgKyAxLgorCisgICAg
ICAgICAgICAvLyBiLiBJZiB6IGlzIGEgZmFpbHVyZSB0aGVuIHdlIGNhbiBicmVhayBiZWNhdXNl
IHRoZXJlIGFyZSBubyBtYXRjaGVzCiAgICAgICAgICAgICBpZiAobXBvcyA8IDApCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBtYXRjaFBvc2l0aW9uID0gbXBvczsKIAorICAg
ICAgICAgICAgLy8gaWYgdGhlIG1hdGNoIGlzIHRoZSBlbXB0eSBtYXRjaCBhdCB0aGUgZW5kLCBi
cmVhay4KKyAgICAgICAgICAgIGlmIChtYXRjaFBvc2l0aW9uID49IGlucHV0Lmxlbmd0aCgpKQor
ICAgICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICAvLyBjLiBFbHNlLCB6IGlzIG5v
dCBmYWlsdXJlCiAgICAgICAgICAgICAvLyBpLiB6IG11c3QgYmUgYSBTdGF0ZS4gTGV0IGUgYmUg
eidzIGVuZEluZGV4IGFuZCBsZXQgY2FwIGJlIHoncyBjYXB0dXJlcyBhcnJheS4KICAgICAgICAg
ICAgIHNpemVfdCBtYXRjaEVuZCA9IG92ZWN0b3JbMV07CkBAIC0xMTE1LDYgKzExMjAsOSBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvRnVuY1NwbGl0KEV4ZWNTdGF0
ZSogZXhlYykKICAgICAgICAgICAgICAgICArK21hdGNoUG9zaXRpb247CiAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBpaWkuIGlmIG1hdGNo
RW5kID09IDAgdGhlbiBwb3NpdGlvbiBzaG91bGQgYWxzbyBiZSB6ZXJvIGFuZCB0aHVzIG1hdGNo
RW5kIHNob3VsZCBlcXVhbCBwb3NpdGlvbi4KKyAgICAgICAgICAgIEFTU0VSVChtYXRjaEVuZCk7
CisKICAgICAgICAgICAgIC8vIGlpaS4gRWxzZSwgZSAhPSBwCiAKICAgICAgICAgICAgIC8vIDEu
IExldCBUIGJlIGEgU3RyaW5nIHZhbHVlIGVxdWFsIHRvIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25z
aXN0aW5nIG9mIHRoZSBjaGFyYWN0ZXJzIGF0IHBvc2l0aW9ucyBwIChpbmNsdXNpdmUpCkBAIC0x
MTIyLDYgKzExMzAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3Rv
RnVuY1NwbGl0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIC8vIDIuIENhbGwgdGhlIFtb
RGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgQSB3aXRoIGFyZ3VtZW50cyBU
b1N0cmluZyhsZW5ndGhBKSwKICAgICAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ig
e1tbVmFsdWVdXTogVCwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwg
W1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KICAgICAgICAgICAgIHJlc3VsdC0+
cHV0RGlyZWN0SW5kZXgoZXhlYywgcmVzdWx0TGVuZ3RoLCBqc1N1YnN0cmluZyhleGVjLCBpbnB1
dCwgcG9zaXRpb24sIG1hdGNoUG9zaXRpb24gLSBwb3NpdGlvbikpOworCiAgICAgICAgICAgICAv
LyAzLiBJbmNyZW1lbnQgbGVuZ3RoQSBieSAxLgogICAgICAgICAgICAgLy8gNC4gSWYgbGVuZ3Ro
QSA9PSBsaW0sIHJldHVybiBBLgogICAgICAgICAgICAgaWYgKCsrcmVzdWx0TGVuZ3RoID09IGxp
bWl0KQpkaWZmIC0tZ2l0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZW1wdHlf
ZW9zX3JlZ2V4X3NwbGl0LmpzIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZW1w
dHlfZW9zX3JlZ2V4X3NwbGl0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjQzNGVmMGUKLS0tIC9kZXYvbnVsbAorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9lbXB0eV9lb3NfcmVnZXhfc3BsaXQuanMKQEAgLTAsMCArMSwzIEBACit2YXIgc3BsaXRl
ZCA9ICJhIi5zcGxpdCgvJC8pOworaWYgKHNwbGl0ZWQubGVuZ3RoICE9IDEgKSAKKyAgICB0aHJv
dyAiRXJyb3I6ICIgKyBzcGxpdGVkLmxlbmd0aCArICIgPSAiICsgc3BsaXRlZDsKLS0gCjEuOS4z
IChBcHBsZSBHaXQtNTApCgo=
</data>
<flag name="review"
          id="270035"
          type_id="1"
          status="+"
          setter="mmirman"
    />
          </attachment>
      

    </bug>

</bugzilla>