<?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>106662</bug_id>
          
          <creation_ts>2013-01-11 06:56:17 -0800</creation_ts>
          <short_desc>[EFL][GTK] checkSpellingOfString treats the multiple words as spelled correctly</short_desc>
          <delta_ts>2013-01-17 00:27:37 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>104528</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Grzegorz Czajkowski">g.czajkowski</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rniwa</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>805237</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-11 06:56:17 -0800</bug_when>
    <thetext>TextCheckerEnchant::checkSpellingOfString() method, treats the multiple words as spelled correctly if one of them is ok. For example, string such as &quot;OK zz OK&quot; is spelled correctly!

The method at the beginning assumes that the given string is spelled correctly, then it iterates over the words. In checkSpellingOfWord, if the word is ok, we mark it as spelled correctly and we do return. In the fact, the location and length of the previously misspelled words will be overwritten.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805241</commentid>
    <comment_count>1</comment_count>
      <attachid>182338</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-11 07:02:52 -0800</bug_when>
    <thetext>Created attachment 182338
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805258</commentid>
    <comment_count>2</comment_count>
      <attachid>182338</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-11 07:28:21 -0800</bug_when>
    <thetext>Comment on attachment 182338
proposed patch

Attachment 182338 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15815191

New failing tests:
svg/as-image/img-relative-height.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805271</commentid>
    <comment_count>3</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-11 07:46:09 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 182338 [details])
&gt; Attachment 182338 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/15815191
&gt; 
&gt; New failing tests:
&gt; svg/as-image/img-relative-height.html

The patch touches only TextCheckerEnchant.cpp file which is building for EFL and GTK+ WebKit ports. I believe this regression is not connected with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806186</commentid>
    <comment_count>4</comment_count>
      <attachid>182338</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-01-14 02:26:53 -0800</bug_when>
    <thetext>Comment on attachment 182338
proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=182338&amp;action=review

The problem is not in checkSpellingOfWord() but in checkSpellingOfString(). What happens in the test case you mention is that after considering that zz is misspelled (and thus filling misspellingLocation and misspellingLength with the proper values), then it processes the 3rd word which is correct and thus it will overwrite the two variables with 0, -1, so the whole string will be considered correct. What you have to do is exit if one of the words is wrong.

&gt; Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp:78
&gt;          }

This is wrong, the word is OK if it&apos;s correct according to at least one dictionary not the other way around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807065</commentid>
    <comment_count>5</comment_count>
      <attachid>182713</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-15 00:47:31 -0800</bug_when>
    <thetext>Created attachment 182713
stop checking next words if the current word is misspelled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807162</commentid>
    <comment_count>6</comment_count>
      <attachid>182713</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-01-15 03:32:32 -0800</bug_when>
    <thetext>Comment on attachment 182713
stop checking next words if the current word is misspelled

Why are you adding a return value? In order to know if a word is correct you just need to check that misspellingLocation == -1, there is no need to add a boolean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807164</commentid>
    <comment_count>7</comment_count>
      <attachid>182713</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-01-15 03:37:46 -0800</bug_when>
    <thetext>Comment on attachment 182713
stop checking next words if the current word is misspelled

Sorry I shouldn&apos;t have set the r- not being a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807225</commentid>
    <comment_count>8</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-15 06:02:05 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 182713 [details])
&gt; Why are you adding a return value? In order to know if a word is correct you just need to check that misspellingLocation == -1, there is no need to add a boolean.

I thought about checking misspellingLocation == -1 after your review but when I started to make the proper changes, IMO the code wasn&apos;t look well. However, returning the same information (whether the word is misspelled or not) by return value and parameter is worst. Patch is coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807226</commentid>
    <comment_count>9</comment_count>
      <attachid>182746</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-15 06:03:27 -0800</bug_when>
    <thetext>Created attachment 182746
apply Sergio&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808295</commentid>
    <comment_count>10</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-01-16 05:15:06 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=182746) [details]
&gt; apply Sergio&apos;s suggestion

LGTM now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808316</commentid>
    <comment_count>11</comment_count>
      <attachid>182746</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-01-16 05:59:50 -0800</bug_when>
    <thetext>Comment on attachment 182746
apply Sergio&apos;s suggestion

View in context: https://bugs.webkit.org/attachment.cgi?id=182746&amp;action=review

&gt; Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp:-72
&gt; -    for (Vector&lt;EnchantDict*&gt;::const_iterator dictIter = m_enchantDictionaries.begin(); dictIter != m_enchantDictionaries.end(); ++dictIter) {

nit &quot;{&quot; is still needed as the &apos;for&apos; content wraps line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809140</commentid>
    <comment_count>12</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-01-17 00:27:37 -0800</bug_when>
    <thetext>Committed r139971: &lt;http://trac.webkit.org/changeset/139971&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182338</attachid>
            <date>2013-01-11 07:02:52 -0800</date>
            <delta_ts>2013-01-15 00:47:31 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>spelling-backspace-fails.patch</filename>
            <type>text/plain</type>
            <size>5104</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYzZhMGZjLi43YjRmYzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDEt
MTEgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0VGTF1bR1RLXSBjaGVja1NwZWxsaW5nT2ZTdHJpbmcgdHJlYXRzIHRoZSBtdWx0aXBs
ZSB3b3JkcyBhcyBzcGVsbGVkIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHNwZWxsaW5nLWJhY2tzcGFjZS1iZXR3ZWVuLWxp
bmVzLmh0bWwgZm9yIEVGTCBhbmQgR1RLKyBXZWJLaXQgcG9ydHMKKyAgICAgICAgYXMgaXQgcGFz
c2VzIG5vdy4KKworICAgICAgICAqIHBsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMS0xMSAg
Sm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb25uZWN0
IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGZvciBtb3VzZWRvd24gYW5kIG1vdXNldXAgZXZlbnRzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2Vj
YjM0Ny4uZDBkYzhjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsNyBAQCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2st
YXBpLWNyYXNoLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1hdHRy
aWJ1dGUuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1hdHRyaWJ1dGUt
YXQtY2hpbGQuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1hdHRyaWJ1
dGUtY2hhbmdlLmh0bWwgWyBQYXNzIF0KK2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctYmFja3Nw
YWNlLWJldHdlZW4tbGluZXMuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1oYXNzcGVsbGluZ21hcmtlci5odG1sIFsgUGFzcyBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWxpbmVicmVhay5odG1sIFsgUGFzcyBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggODRiMWVjMS4uZDAwZTUyNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwODgsOSArMTA4OCw2IEBAIEJ1ZyhHVEsp
IGVkaXRpbmcvc3BlbGxpbmcvZ3JhbW1hci5odG1sIFsgRmFpbHVyZSBdCiBCdWcoR1RLKSBlZGl0
aW5nL3NwZWxsaW5nL2dyYW1tYXItcGFzdGUuaHRtbCBbIFNraXAgXQogQnVnKEdUSykgZWRpdGlu
Zy9zcGVsbGluZy9tYXJrZXJzLmh0bWwgWyBTa2lwIF0KIAotIyBUZXh0Q2hlY2tlckVuY2hhbnQ6
OmNoZWNrU3BlbGxpbmdPZlN0cmluZyBkb2Vzbid0IHJldHVybiBtaXNzcGVsbGVkIGxvY2F0aW9u
IGFuZCBsZW5ndGggZm9yIG11bHRpcGxlIHdvcmRzLgotQnVnKEdUSykgZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sIFsgRmFpbHVyZSBdCi0KICMg
dGVzdFJ1bm5lcjo6c2V0VGV4dERpcmVjdGlvbigpIGlzIG5vdCBpbXBsZW1lbnRlZC4KIEJ1ZyhH
VEspIGZhc3QvaHRtbC9zZXQtdGV4dC1kaXJlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggODc0YjZiMC4uOWJhY2E0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisy
MDEzLTAxLTExICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtFRkxdW0dUS10gY2hlY2tTcGVsbGluZ09mU3RyaW5nIHRyZWF0cyB0aGUg
bXVsdGlwbGUgd29yZHMgYXMgc3BlbGxlZCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjY2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBzcGVs
bGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sLgorCisgICAgICAgIFRleHRDaGVja2Vy
RW5jaGFudDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nKCkgbWV0aG9kLCB0cmVhdHMgdGhlIG11bHRp
cGxlIHdvcmRzCisgICAgICAgIGFzIHNwZWxsZWQgY29ycmVjdGx5IGlmIG9uZSBvZiB0aGVtIGlz
IG9rLiBGb3IgZXhhbXBsZSwgc3RyaW5nIHN1Y2ggYXMKKyAgICAgICAgIk9LIHp6IE9LIiBpcyBz
cGVsbGVkIGNvcnJlY3RseSEKKworICAgICAgICBUaGUgbWV0aG9kIGF0IHRoZSBiZWdpbm5pbmcg
YXNzdW1lcyB0aGF0IHRoZSBnaXZlbiBzdHJpbmcgaXMgc3BlbGxlZCBjb3JyZWN0bHksCisgICAg
ICAgIHRoZW4gaXQgaXRlcmF0ZXMgb3ZlciB0aGUgd29yZHMuIEluIGNoZWNrU3BlbGxpbmdPZldv
cmQsIGlmIHRoZSB3b3JkIGlzIG9rLCB3ZSBtYXJrCisgICAgICAgIGl0IGFzIHNwZWxsZWQgY29y
cmVjdGx5IGFuZCB3ZSBkbyByZXR1cm4uIEluIHRoZSBmYWN0LCB0aGUgbG9jYXRpb24gYW5kIGxl
bmd0aCBvZgorICAgICAgICB0aGUgcHJldmlvdXNseSBtaXNzcGVsbGVkIHdvcmRzIHdpbGwgYmUg
b3ZlcndyaXR0ZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2VuY2hhbnQvVGV4dENoZWNr
ZXJFbmNoYW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDaGVja2VyRW5jaGFudDo6Y2hl
Y2tTcGVsbGluZ09mV29yZCk6CisgICAgICAgIFJldmVydCBsb2dpYzogdXBkYXRlIGxvY2F0aW9u
IGFuZCBsZW5ndGggb2YgdGhlIG1pc3NwZWxsZWQgd29yZCBpbnN0ZWFkIG9mIG92ZXJ3cml0dGVu
CisgICAgICAgIHRoZW0gKGFzIC0xLCAwKSBpZiBhdCBsZWFzdCBvbmUgd29yZCBpcyBzcGVsbGVk
IGNvcnJlY3RseS4KKwogMjAxMy0wMS0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDb25uZWN0IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGZvciBtb3Vz
ZWRvd24gYW5kIG1vdXNldXAgZXZlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L2VuY2hhbnQvVGV4dENoZWNrZXJFbmNoYW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IGI5NTBk
ZDQuLjU4Y2Y3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5j
aGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCkBAIC02OSwxNyArNjksMTMgQEAg
dm9pZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZldvcmQoY29uc3QgQ1N0cmlu
ZyYgd29yZCwgaW50IHN0YXJ0LCBpbnQKICAgICBjaGFyKiBzdGFydFB0ciA9IGdfdXRmOF9vZmZz
ZXRfdG9fcG9pbnRlcihzdHJpbmcsIHN0YXJ0KTsKICAgICBpbnQgbnVtYmVyT2ZCeXRlcyA9IHN0
YXRpY19jYXN0PGludD4oZ191dGY4X29mZnNldF90b19wb2ludGVyKHN0cmluZywgZW5kKSAtIHN0
YXJ0UHRyKTsKIAotICAgIGZvciAoVmVjdG9yPEVuY2hhbnREaWN0Kj46OmNvbnN0X2l0ZXJhdG9y
IGRpY3RJdGVyID0gbV9lbmNoYW50RGljdGlvbmFyaWVzLmJlZ2luKCk7IGRpY3RJdGVyICE9IG1f
ZW5jaGFudERpY3Rpb25hcmllcy5lbmQoKTsgKytkaWN0SXRlcikgewotICAgICAgICBpZiAoIWVu
Y2hhbnRfZGljdF9jaGVjaygqZGljdEl0ZXIsIHN0YXJ0UHRyLCBudW1iZXJPZkJ5dGVzKSkgewot
ICAgICAgICAgICAgLy8gU3RvcCBjaGVja2luZywgdGhpcyB3b3JkIGlzIG9rIGluIGF0IGxlYXN0
IG9uZSBkaWN0LgotICAgICAgICAgICAgbWlzc3BlbGxpbmdMb2NhdGlvbiA9IC0xOwotICAgICAg
ICAgICAgbWlzc3BlbGxpbmdMZW5ndGggPSAwOworICAgIGZvciAoVmVjdG9yPEVuY2hhbnREaWN0
Kj46OmNvbnN0X2l0ZXJhdG9yIGRpY3RJdGVyID0gbV9lbmNoYW50RGljdGlvbmFyaWVzLmJlZ2lu
KCk7IGRpY3RJdGVyICE9IG1fZW5jaGFudERpY3Rpb25hcmllcy5lbmQoKTsgKytkaWN0SXRlcikK
KyAgICAgICAgaWYgKGVuY2hhbnRfZGljdF9jaGVjaygqZGljdEl0ZXIsIHN0YXJ0UHRyLCBudW1i
ZXJPZkJ5dGVzKSkgeworICAgICAgICAgICAgLy8gU3RvcCBjaGVja2luZywgdGhpcyB3b3JkIGlz
IG1pc3NwZWxsZWQgaW4gYXQgbGVhc3Qgb25lIGRpY3Rpb25hcnkuCisgICAgICAgICAgICBtaXNz
cGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7CisgICAgICAgICAgICBtaXNzcGVsbGluZ0xlbmd0aCA9
IGVuZCAtIHN0YXJ0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLQotICAgICAgICBt
aXNzcGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7Ci0gICAgICAgIG1pc3NwZWxsaW5nTGVuZ3RoID0g
ZW5kIC0gc3RhcnQ7Ci0gICAgfQogfQogCiB2b2lkIFRleHRDaGVja2VyRW5jaGFudDo6Y2hlY2tT
cGVsbGluZ09mU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIG1pc3NwZWxsaW5nTG9j
YXRpb24sIGludCYgbWlzc3BlbGxpbmdMZW5ndGgpCg==
</data>
<flag name="review"
          id="200305"
          type_id="1"
          status="-"
          setter="svillar"
    />
    <flag name="commit-queue"
          id="200311"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182713</attachid>
            <date>2013-01-15 00:47:31 -0800</date>
            <delta_ts>2013-01-15 06:03:27 -0800</delta_ts>
            <desc>stop checking next words if the current word is misspelled</desc>
            <filename>spelling-backspace-fails.patch</filename>
            <type>text/plain</type>
            <size>7343</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMzdjZjgzLi4xOWY2NGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDEt
MTUgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0VGTF1bR1RLXSBjaGVja1NwZWxsaW5nT2ZTdHJpbmcgdHJlYXRzIHRoZSBtdWx0aXBs
ZSB3b3JkcyBhcyBzcGVsbGVkIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgIEFsbG93IHRvIGxhdW5jaCBzcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5l
cy5odG1sIGZvciBXZWJLaXQyLUVGTCBhcyBpdCdzCisgICAgICAgIHNraXBwZWQgYnkgcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgVW5za2lwcGluZyBzcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vl
bi1saW5lcy5odG1sIGZvciBXZWJLaXQtR1RLKy4KKwogMjAxMy0wMS0xNCAgVG9tbXkgV2lkZW5m
bHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IENo
YW5nZSBNZWRpYVN0cmVhbTo6cmVhZHlTdGF0ZSB0byBhbiBib29sZWFuIGF0dHJpYnV0ZSBjYWxs
ZWQgZW5kZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYmU1MTNkNi4uZDEyZjVhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsNyBAQCBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stYXBpLWNyYXNoLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxjaGVjay1hdHRyaWJ1dGUuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1hdHRyaWJ1dGUtYXQtY2hpbGQuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1hdHRyaWJ1dGUtY2hhbmdlLmh0bWwgWyBQYXNzIF0KK2VkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1oYXNzcGVsbGluZ21hcmtlci5odG1sIFsgUGFzcyBdCiBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWxpbmVicmVhay5odG1sIFsgUGFzcyBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODRiMWVjMS4uZDAwZTUyNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwODgsOSArMTA4OCw2
IEBAIEJ1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvZ3JhbW1hci5odG1sIFsgRmFpbHVyZSBdCiBC
dWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItcGFzdGUuaHRtbCBbIFNraXAgXQogQnVn
KEdUSykgZWRpdGluZy9zcGVsbGluZy9tYXJrZXJzLmh0bWwgWyBTa2lwIF0KIAotIyBUZXh0Q2hl
Y2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyBkb2Vzbid0IHJldHVybiBtaXNzcGVs
bGVkIGxvY2F0aW9uIGFuZCBsZW5ndGggZm9yIG11bHRpcGxlIHdvcmRzLgotQnVnKEdUSykgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sIFsgRmFp
bHVyZSBdCi0KICMgdGVzdFJ1bm5lcjo6c2V0VGV4dERpcmVjdGlvbigpIGlzIG5vdCBpbXBsZW1l
bnRlZC4KIEJ1ZyhHVEspIGZhc3QvaHRtbC9zZXQtdGV4dC1kaXJlY3Rpb24uaHRtbCBbIEZhaWx1
cmUgXQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMDJjYjM3OS4uNGY3NDQ1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM1IEBACisyMDEzLTAxLTE1ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tp
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gY2hlY2tTcGVsbGluZ09mU3RyaW5n
IHRyZWF0cyB0aGUgbXVsdGlwbGUgd29yZHMgYXMgc3BlbGxlZCBjb3JyZWN0bHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjY2MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292
ZXJlZCBieSBzcGVsbGluZy1iYWNrc3BhY2UtYmV0d2Vlbi1saW5lcy5odG1sLgorCisgICAgICAg
IFRleHRDaGVja2VyRW5jaGFudDo6Y2hlY2tTcGVsbGluZ09mU3RyaW5nKCkgbWV0aG9kLCB0cmVh
dHMgdGhlIG11bHRpcGxlIHdvcmRzCisgICAgICAgIGFzIHNwZWxsZWQgY29ycmVjdGx5IGlmIG9u
ZSBvZiB0aGVtIGlzIG9rLiBGb3IgZXhhbXBsZSwgc3RyaW5nIHN1Y2ggYXMKKyAgICAgICAgIk9L
IHp6IE9LIiBpcyBzcGVsbGVkIGNvcnJlY3RseSEKKworICAgICAgICBUaGUgbWV0aG9kIGF0IHRo
ZSBiZWdpbm5pbmcgYXNzdW1lcyB0aGF0IHRoZSBnaXZlbiBzdHJpbmcgaXMgc3BlbGxlZCBjb3Jy
ZWN0bHksCisgICAgICAgIHRoZW4gaXQgaXRlcmF0ZXMgb3ZlciB0aGUgd29yZHMgdG8gZmluZCBv
dXQgdGhlIG1pc3NwZWxsZWQgbG9jYXRpb24gYW5kIGxlbmd0aAorICAgICAgICBpbiB0aGUgd2hv
bGUgc3RyaW5nLiBJbiBjaGVja1NwZWxsaW5nT2ZXb3JkLCBpZiB0aGUgd29yZCBpcyBvaywgd2Ug
bWFyaworICAgICAgICBpdCBhcyBzcGVsbGVkIGNvcnJlY3RseSBhbmQgd2UgZG8gcmV0dXJuIHRv
IGNoZWNrIHRoZSBuZXh0IHdvcmRzLiBJbiB0aGUgZmFjdCwKKyAgICAgICAgdGhlIGxvY2F0aW9u
IGFuZCBsZW5ndGggb2YgdGhlIHByZXZpb3VzbHkgbWlzc3BlbGxlZCB3b3JkcyBhcmUgb3Zlcndy
aXR0ZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2VuY2hhbnQvVGV4dENoZWNrZXJFbmNo
YW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDaGVja2VyRW5jaGFudDo6Y2hlY2tTcGVs
bGluZ09mV29yZCk6CisgICAgICAgIFJldHVybiB0cnVlIGlmIHRoZSB3b3JkIGlzIHNwZWxsZWQg
Y29ycmVjdGx5LCBmYWxzZSBpZiBub3QuCisgICAgICAgIFVwZGF0ZSBvZiB0aGUgd29yZCdzIG1p
c3NwZWxpbmcgbG9jYXRpb24gYW5kIGxlbmd0aCB3YXMgbW92ZWQgb3V0IHRoZSBsb29wLgorCisg
ICAgICAgIChXZWJDb3JlOjpUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmlu
Zyk6CisgICAgICAgIFN0b3AgY2hlY2tpbmcgdGhlIG5leHQgd29yZHMgSWYgdGhlIGN1cnJlbnQg
d29yZCBpcyBtaXNzcGVsbGVkLCB0byBkbyBub3Qgb3ZlcndyaXRlCisgICAgICAgIGl0cyBtaXNz
cGVsbGVkIGxvY2F0aW9uIGFuZCBsZW5ndGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2Vu
Y2hhbnQvVGV4dENoZWNrZXJFbmNoYW50Lmg6CisgICAgICAgIChUZXh0Q2hlY2tlckVuY2hhbnQp
OgorICAgICAgICBjaGVja1NwZWxsaW5nT2ZXb3JkIHJldHVybnMgYm9vbCBpbnN0ZWFkIG9mIHZv
aWQuCisKIDIwMTMtMDEtMTQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtWOF0gQ2FsbCBJc29sYXRlOjpHZXRDdXJyZW50KCkgaW4gYSBjYWxsYmFjayBm
cm9tIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5j
aGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9lbmNoYW50L1RleHRDaGVja2VyRW5jaGFudC5jcHAKaW5kZXggYjk1MGRkNC4uY2VkNzQwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9lbmNoYW50L1RleHRDaGVj
a2VyRW5jaGFudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9lbmNoYW50
L1RleHRDaGVja2VyRW5jaGFudC5jcHAKQEAgLTYzLDIzICs2MywyMyBAQCB2b2lkIFRleHRDaGVj
a2VyRW5jaGFudDo6bGVhcm5Xb3JkKGNvbnN0IFN0cmluZyYgd29yZCkKICAgICAgICAgZW5jaGFu
dF9kaWN0X2FkZF90b19wZXJzb25hbCgqaXRlciwgd29yZC51dGY4KCkuZGF0YSgpLCAtMSk7CiB9
CiAKLXZvaWQgVGV4dENoZWNrZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZXb3JkKGNvbnN0IENT
dHJpbmcmIHdvcmQsIGludCBzdGFydCwgaW50IGVuZCwgaW50JiBtaXNzcGVsbGluZ0xvY2F0aW9u
LCBpbnQmIG1pc3NwZWxsaW5nTGVuZ3RoKQorYm9vbCBUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNr
U3BlbGxpbmdPZldvcmQoY29uc3QgQ1N0cmluZyYgd29yZCwgaW50IHN0YXJ0LCBpbnQgZW5kLCBp
bnQmIG1pc3NwZWxsaW5nTG9jYXRpb24sIGludCYgbWlzc3BlbGxpbmdMZW5ndGgpCiB7CiAgICAg
Y29uc3QgY2hhciogc3RyaW5nID0gd29yZC5kYXRhKCk7CiAgICAgY2hhciogc3RhcnRQdHIgPSBn
X3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIoc3RyaW5nLCBzdGFydCk7CiAgICAgaW50IG51bWJlck9m
Qnl0ZXMgPSBzdGF0aWNfY2FzdDxpbnQ+KGdfdXRmOF9vZmZzZXRfdG9fcG9pbnRlcihzdHJpbmcs
IGVuZCkgLSBzdGFydFB0cik7CiAKLSAgICBmb3IgKFZlY3RvcjxFbmNoYW50RGljdCo+Ojpjb25z
dF9pdGVyYXRvciBkaWN0SXRlciA9IG1fZW5jaGFudERpY3Rpb25hcmllcy5iZWdpbigpOyBkaWN0
SXRlciAhPSBtX2VuY2hhbnREaWN0aW9uYXJpZXMuZW5kKCk7ICsrZGljdEl0ZXIpIHsKKyAgICBm
b3IgKFZlY3RvcjxFbmNoYW50RGljdCo+Ojpjb25zdF9pdGVyYXRvciBkaWN0SXRlciA9IG1fZW5j
aGFudERpY3Rpb25hcmllcy5iZWdpbigpOyBkaWN0SXRlciAhPSBtX2VuY2hhbnREaWN0aW9uYXJp
ZXMuZW5kKCk7ICsrZGljdEl0ZXIpCiAgICAgICAgIGlmICghZW5jaGFudF9kaWN0X2NoZWNrKCpk
aWN0SXRlciwgc3RhcnRQdHIsIG51bWJlck9mQnl0ZXMpKSB7CiAgICAgICAgICAgICAvLyBTdG9w
IGNoZWNraW5nLCB0aGlzIHdvcmQgaXMgb2sgaW4gYXQgbGVhc3Qgb25lIGRpY3QuCiAgICAgICAg
ICAgICBtaXNzcGVsbGluZ0xvY2F0aW9uID0gLTE7CiAgICAgICAgICAgICBtaXNzcGVsbGluZ0xl
bmd0aCA9IDA7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICB9CiAKLSAgICAgICAgbWlzc3BlbGxpbmdMb2NhdGlvbiA9IHN0YXJ0OwotICAgICAg
ICBtaXNzcGVsbGluZ0xlbmd0aCA9IGVuZCAtIHN0YXJ0OwotICAgIH0KKyAgICBtaXNzcGVsbGlu
Z0xvY2F0aW9uID0gc3RhcnQ7CisgICAgbWlzc3BlbGxpbmdMZW5ndGggPSBlbmQgLSBzdGFydDsK
KyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgVGV4dENoZWNrZXJFbmNoYW50OjpjaGVja1Nw
ZWxsaW5nT2ZTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbWlzc3BlbGxpbmdMb2Nh
dGlvbiwgaW50JiBtaXNzcGVsbGluZ0xlbmd0aCkKQEAgLTk4LDggKzk4LDEwIEBAIHZvaWQgVGV4
dENoZWNrZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcsIGludCYgbWlzc3BlCiAgICAgQ1N0cmluZyB1dGY4U3RyaW5nID0gc3RyaW5nLnV0ZjgoKTsK
ICAgICBpbnQgc3RhcnQgPSB0ZXh0QnJlYWtGaXJzdChpdGVyKTsKICAgICBmb3IgKGludCBlbmQg
PSB0ZXh0QnJlYWtOZXh0KGl0ZXIpOyBlbmQgIT0gVGV4dEJyZWFrRG9uZTsgZW5kID0gdGV4dEJy
ZWFrTmV4dChpdGVyKSkgewotICAgICAgICBpZiAoaXNXb3JkVGV4dEJyZWFrKGl0ZXIpKQotICAg
ICAgICAgICAgY2hlY2tTcGVsbGluZ09mV29yZCh1dGY4U3RyaW5nLCBzdGFydCwgZW5kLCBtaXNz
cGVsbGluZ0xvY2F0aW9uLCBtaXNzcGVsbGluZ0xlbmd0aCk7CisgICAgICAgIGlmIChpc1dvcmRU
ZXh0QnJlYWsoaXRlcikgJiYgIWNoZWNrU3BlbGxpbmdPZldvcmQodXRmOFN0cmluZywgc3RhcnQs
IGVuZCwgbWlzc3BlbGxpbmdMb2NhdGlvbiwgbWlzc3BlbGxpbmdMZW5ndGgpKSB7CisgICAgICAg
ICAgICAvLyBTdG9wIGNoZWNraW5nIHRoZSBuZXh0IHdvcmRzIElmIHRoZSBjdXJyZW50IHdvcmQg
aXMgbWlzc3BlbGxlZCwgdG8gZG8gbm90IG92ZXJ3cml0ZSBpdHMgbWlzc3BlbGxlZCBsb2NhdGlv
biBhbmQgbGVuZ3RoLgorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIHN0
YXJ0ID0gZW5kOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuaAppbmRleCBlMzE0MmFjLi45NDlm
YTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2VuY2hhbnQvVGV4
dENoZWNrZXJFbmNoYW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9lbmNo
YW50L1RleHRDaGVja2VyRW5jaGFudC5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgVGV4dENoZWNrZXJFbmNoYW50KCk7CiAgICAgdm9pZCBmcmVlRW5jaGFudEJyb2tl
ckRpY3Rpb25hcmllcygpOwotICAgIHZvaWQgY2hlY2tTcGVsbGluZ09mV29yZChjb25zdCBDU3Ry
aW5nJiwgaW50IHN0YXJ0LCBpbnQgZW5kLCBpbnQmIG1pc3NwZWxsaW5nTG9jYXRpb24sIGludCYg
bWlzc3BlbGxpbmdMZW5ndGgpOworICAgIGJvb2wgY2hlY2tTcGVsbGluZ09mV29yZChjb25zdCBD
U3RyaW5nJiwgaW50IHN0YXJ0LCBpbnQgZW5kLCBpbnQmIG1pc3NwZWxsaW5nTG9jYXRpb24sIGlu
dCYgbWlzc3BlbGxpbmdMZW5ndGgpOwogCiAgICAgRW5jaGFudEJyb2tlciogbV9icm9rZXI7CiAg
ICAgVmVjdG9yPEVuY2hhbnREaWN0Kj4gbV9lbmNoYW50RGljdGlvbmFyaWVzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182746</attachid>
            <date>2013-01-15 06:03:27 -0800</date>
            <delta_ts>2013-01-16 06:09:25 -0800</delta_ts>
            <desc>apply Sergio&apos;s suggestion</desc>
            <filename>spelling-backspace-fails.patch</filename>
            <type>text/plain</type>
            <size>5978</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMzdjZjgzLi4xOWY2NGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDEt
MTUgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0VGTF1bR1RLXSBjaGVja1NwZWxsaW5nT2ZTdHJpbmcgdHJlYXRzIHRoZSBtdWx0aXBs
ZSB3b3JkcyBhcyBzcGVsbGVkIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgIEFsbG93IHJ1bm5pbmcgc3BlbGxpbmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMu
aHRtbCBmb3IgV2ViS2l0Mi1FRkwgYXMgaXQncworICAgICAgICBza2lwcGVkIGJ5IHBsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgIFVuc2tpcHBpbmcgc3BlbGxpbmctYmFja3NwYWNlLWJldHdlZW4t
bGluZXMuaHRtbCBmb3IgV2ViS2l0LUdUSysuCisKIDIwMTMtMDEtMTQgIFRvbW15IFdpZGVuZmx5
Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBDaGFu
Z2UgTWVkaWFTdHJlYW06OnJlYWR5U3RhdGUgdG8gYW4gYm9vbGVhbiBhdHRyaWJ1dGUgY2FsbGVk
IGVuZGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGJlNTEzZDYuLmQxMmY1YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGNoZWNrLWFwaS1jcmFzaC5odG1sIFsgUGFzcyBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxs
Y2hlY2stYXR0cmlidXRlLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
YXR0cmlidXRlLWF0LWNoaWxkLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctYXR0cmlidXRlLWNoYW5nZS5odG1sIFsgUGFzcyBdCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWJhY2tzcGFjZS1iZXR3ZWVuLWxpbmVzLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuaHRtbCBbIFBhc3MgXQogZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1saW5lYnJlYWsuaHRtbCBbIFBhc3MgXQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg0YjFlYzEuLmQwMGU1MjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDg4LDkgKzEwODgsNiBA
QCBCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXIuaHRtbCBbIEZhaWx1cmUgXQogQnVn
KEdUSykgZWRpdGluZy9zcGVsbGluZy9ncmFtbWFyLXBhc3RlLmh0bWwgWyBTa2lwIF0KIEJ1ZyhH
VEspIGVkaXRpbmcvc3BlbGxpbmcvbWFya2Vycy5odG1sIFsgU2tpcCBdCiAKLSMgVGV4dENoZWNr
ZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcgZG9lc24ndCByZXR1cm4gbWlzc3BlbGxl
ZCBsb2NhdGlvbiBhbmQgbGVuZ3RoIGZvciBtdWx0aXBsZSB3b3Jkcy4KLUJ1ZyhHVEspIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbCBbIEZhaWx1
cmUgXQotCiAjIHRlc3RSdW5uZXI6OnNldFRleHREaXJlY3Rpb24oKSBpcyBub3QgaW1wbGVtZW50
ZWQuCiBCdWcoR1RLKSBmYXN0L2h0bWwvc2V0LXRleHQtZGlyZWN0aW9uLmh0bWwgWyBGYWlsdXJl
IF0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDAyY2IzNzkuLjYwYzI2YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMCBAQAorMjAxMy0wMS0xNSAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIGNoZWNrU3BlbGxpbmdPZlN0cmluZyB0
cmVhdHMgdGhlIG11bHRpcGxlIHdvcmRzIGFzIHNwZWxsZWQgY29ycmVjdGx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY2NjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGNvdmVy
ZWQgYnkgc3BlbGxpbmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbC4KKworICAgICAgICBU
ZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZygpIG1ldGhvZCwgdHJlYXRz
IHRoZSBtdWx0aXBsZSB3b3JkcworICAgICAgICBhcyBzcGVsbGVkIGNvcnJlY3RseSBpZiBvbmUg
b2YgdGhlbSBpcyBvay4gRm9yIGV4YW1wbGUsIHN0cmluZyBzdWNoIGFzCisgICAgICAgICJPSyB6
eiBPSyIgaXMgc3BlbGxlZCBjb3JyZWN0bHkhCisKKyAgICAgICAgVGhlIG1ldGhvZCBhdCB0aGUg
YmVnaW5uaW5nIGFzc3VtZXMgdGhhdCB0aGUgZ2l2ZW4gc3RyaW5nIGlzIHNwZWxsZWQgY29ycmVj
dGx5LAorICAgICAgICB0aGVuIGl0IGl0ZXJhdGVzIG92ZXIgdGhlIHdvcmRzIHRvIGZpbmQgb3V0
IHRoZSBtaXNzcGVsbGVkIGxvY2F0aW9uIGFuZCBsZW5ndGgKKyAgICAgICAgaW4gdGhlIHdob2xl
IHN0cmluZy4gSW4gY2hlY2tTcGVsbGluZ09mV29yZCwgaWYgdGhlIHdvcmQgaXMgb2ssIHdlIG1h
cmsKKyAgICAgICAgaXQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgYW5kIHdlIGRvIHJldHVybiB0byBj
aGVjayB0aGUgbmV4dCB3b3Jkcy4gSW4gdGhlIGZhY3QsCisgICAgICAgIHRoZSBsb2NhdGlvbiBh
bmQgbGVuZ3RoIG9mIHRoZSBwcmV2aW91c2x5IG1pc3NwZWxsZWQgd29yZHMgYXJlIG92ZXJ3cml0
dGVuLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9lbmNoYW50L1RleHRDaGVja2VyRW5jaGFu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxp
bmdPZldvcmQpOgorICAgICAgICBVcGRhdGUgb2YgdGhlIHdvcmQncyBtaXNzcGVsaW5nIGxvY2F0
aW9uIGFuZCBsZW5ndGggd2FzIG1vdmVkIG91dCB0aGUgbG9vcC4KKworICAgICAgICAoV2ViQ29y
ZTo6VGV4dENoZWNrZXJFbmNoYW50OjpjaGVja1NwZWxsaW5nT2ZTdHJpbmcpOgorICAgICAgICBT
dG9wIGNoZWNraW5nIHRoZSBuZXh0IHdvcmRzIElmIHRoZSBjdXJyZW50IHdvcmQgaXMgbWlzc3Bl
bGxlZCwgdG8gZG8gbm90IG92ZXJ3cml0ZQorICAgICAgICBpdHMgbWlzc3BlbGxlZCBsb2NhdGlv
biBhbmQgbGVuZ3RoLgorCiAyMDEzLTAxLTE0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbVjhdIENhbGwgSXNvbGF0ZTo6R2V0Q3VycmVudCgpIGluIGEg
Y2FsbGJhY2sgZnJvbSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L2VuY2hhbnQvVGV4dENoZWNrZXJFbmNoYW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IGI5NTBkZDQu
LmE5NzVjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZW5jaGFu
dC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvZW5jaGFudC9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCkBAIC02OSwxNyArNjksMTYgQEAgdm9p
ZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZldvcmQoY29uc3QgQ1N0cmluZyYg
d29yZCwgaW50IHN0YXJ0LCBpbnQKICAgICBjaGFyKiBzdGFydFB0ciA9IGdfdXRmOF9vZmZzZXRf
dG9fcG9pbnRlcihzdHJpbmcsIHN0YXJ0KTsKICAgICBpbnQgbnVtYmVyT2ZCeXRlcyA9IHN0YXRp
Y19jYXN0PGludD4oZ191dGY4X29mZnNldF90b19wb2ludGVyKHN0cmluZywgZW5kKSAtIHN0YXJ0
UHRyKTsKIAotICAgIGZvciAoVmVjdG9yPEVuY2hhbnREaWN0Kj46OmNvbnN0X2l0ZXJhdG9yIGRp
Y3RJdGVyID0gbV9lbmNoYW50RGljdGlvbmFyaWVzLmJlZ2luKCk7IGRpY3RJdGVyICE9IG1fZW5j
aGFudERpY3Rpb25hcmllcy5lbmQoKTsgKytkaWN0SXRlcikgeworICAgIGZvciAoVmVjdG9yPEVu
Y2hhbnREaWN0Kj46OmNvbnN0X2l0ZXJhdG9yIGRpY3RJdGVyID0gbV9lbmNoYW50RGljdGlvbmFy
aWVzLmJlZ2luKCk7IGRpY3RJdGVyICE9IG1fZW5jaGFudERpY3Rpb25hcmllcy5lbmQoKTsgKytk
aWN0SXRlcikKICAgICAgICAgaWYgKCFlbmNoYW50X2RpY3RfY2hlY2soKmRpY3RJdGVyLCBzdGFy
dFB0ciwgbnVtYmVyT2ZCeXRlcykpIHsKICAgICAgICAgICAgIC8vIFN0b3AgY2hlY2tpbmcsIHRo
aXMgd29yZCBpcyBvayBpbiBhdCBsZWFzdCBvbmUgZGljdC4KICAgICAgICAgICAgIG1pc3NwZWxs
aW5nTG9jYXRpb24gPSAtMTsKICAgICAgICAgICAgIG1pc3NwZWxsaW5nTGVuZ3RoID0gMDsKLSAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAg
ICAgbWlzc3BlbGxpbmdMb2NhdGlvbiA9IHN0YXJ0OwotICAgICAgICBtaXNzcGVsbGluZ0xlbmd0
aCA9IGVuZCAtIHN0YXJ0OwotICAgIH0KKyAgICBtaXNzcGVsbGluZ0xvY2F0aW9uID0gc3RhcnQ7
CisgICAgbWlzc3BlbGxpbmdMZW5ndGggPSBlbmQgLSBzdGFydDsKIH0KIAogdm9pZCBUZXh0Q2hl
Y2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywg
aW50JiBtaXNzcGVsbGluZ0xvY2F0aW9uLCBpbnQmIG1pc3NwZWxsaW5nTGVuZ3RoKQpAQCAtOTgs
OCArOTcsMTIgQEAgdm9pZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBtaXNzcGUKICAgICBDU3RyaW5nIHV0ZjhTdHJp
bmcgPSBzdHJpbmcudXRmOCgpOwogICAgIGludCBzdGFydCA9IHRleHRCcmVha0ZpcnN0KGl0ZXIp
OwogICAgIGZvciAoaW50IGVuZCA9IHRleHRCcmVha05leHQoaXRlcik7IGVuZCAhPSBUZXh0QnJl
YWtEb25lOyBlbmQgPSB0ZXh0QnJlYWtOZXh0KGl0ZXIpKSB7Ci0gICAgICAgIGlmIChpc1dvcmRU
ZXh0QnJlYWsoaXRlcikpCisgICAgICAgIGlmIChpc1dvcmRUZXh0QnJlYWsoaXRlcikpIHsKICAg
ICAgICAgICAgIGNoZWNrU3BlbGxpbmdPZldvcmQodXRmOFN0cmluZywgc3RhcnQsIGVuZCwgbWlz
c3BlbGxpbmdMb2NhdGlvbiwgbWlzc3BlbGxpbmdMZW5ndGgpOworICAgICAgICAgICAgLy8gU3Rv
cCBjaGVja2luZyB0aGUgbmV4dCB3b3JkcyBJZiB0aGUgY3VycmVudCB3b3JkIGlzIG1pc3NwZWxs
ZWQsIHRvIGRvIG5vdCBvdmVyd3JpdGUgaXRzIG1pc3NwZWxsZWQgbG9jYXRpb24gYW5kIGxlbmd0
aC4KKyAgICAgICAgICAgIGlmIChtaXNzcGVsbGluZ0xlbmd0aCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KICAgICAgICAgc3RhcnQgPSBlbmQ7CiAgICAgfQogfQo=
</data>
<flag name="review"
          id="200878"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
    <flag name="commit-queue"
          id="201178"
          type_id="3"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
      

    </bug>

</bugzilla>