Bug 181607

Summary: wrong 'ignore all' action on spell checker
Product: [Frameworks and Libraries] kdelibs Reporter: Cristóvão Sousa <crisjss>
Component: kspellAssignee: Zack Rusin <zack>
Status: CONFIRMED ---    
Severity: normal CC: andresbajotierra
Priority: NOR    
Version: 4.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Cristóvão Sousa 2009-01-22 16:44:52 UTC
Version:            (using KDE 4.1.3)
OS:                Linux
Installed from:    Unlisted Binary Package

Bug tested in spell checkers at Kate 3.1.3, Konqueror 4.1.3 and Kile 2.0.80 :

Spell checker action 'Ignore All' do just the same as the 'Add to Dictionary' action:
the misspelled word will be added to '.aspell.en.pws' and '.config/enchant/en.dic' dictionaries, and will no more (at any application) be considered a wrong word.


How to Reproduce:

- type a misspelled word, like 'qwertyuiop', in Kate;
- run spell checker and click 'Ignore all' when prompted about that word;
- close and reopen Kate;
- type the same misspelled word;
- run spell checker.

The misspelled word will now be a valid word.
Check the dictionary files:
$ grep qwertyuiop ~/.aspell.en.pws
$ grep qwertyuiop ~/.config/enchant/en.dic


Expected Behaviour:

The 'ignored all' misspelled word should not be added to the dictionary, it should be ignored only in the current spell check run.
Comment 1 Dario Andres 2009-06-15 22:55:40 UTC
Here using:

Qt: 4.5.1 (qt-copy  971295)
KDE: 4.2.91 (KDE 4.2.91 (KDE 4.3 >= 20090609))
kdelibs svn rev. 982117 / kdebase svn rev. 982118
aspell 0.60.6, enchant 1.4.2
on ArchLinux i686 - Kernel 2.6.29.4

I can confirm this bug
Comment 2 Dario Andres 2009-06-15 22:59:02 UTC
Indeed:

void Dialog::slotSkipAll()
{
    //### do we want that or should we have a d->ignoreAll list?
    Speller speller = d->checker->speller();
    speller.addToPersonal(d->currentWord.word);
    d->checker->setSpeller(speller);
    d->checker->continueChecking();
}