I've been looking at the speller_impl and suggest code and thinking about spell check hyphenated words.
The apparent problem seemed to me that aspell would present an a choice, a misspelled word broken up into a hyphenated word, but that choice would not go into the replacements dictionary, and it would be flagged as an error. The solution to the first problem might be to replace the call to check_affix in SpellerImpl::store_replacement with a check that breaks the correction into its parts by all the characters under the sug-split-char key of configuration. The solution to the second problem might be to splice that new "break word into its parts" function into the SpellerImpl::check() family of functions. The problem with the second solution is that it would make every combination-of words-no matter of they belonged-together or not into correctly spelled word. You could choose not to recheck a word that the user has chosen. But that would not be good if the user typed in a word with the replace command and mistyped the correction. How about this, if the user responds to a misspelled word by choosing one from the menu, accept it and move on. If he uses replace, check if it is misspelled and if so, present a brief menu with just add and ignore. As an alternative, you could add yet another key into the configuration to specify whether to reprompt for replacements that are misspelled. I would also suggest removing the check for spaces from CheckerString::next_misspelling(). _______________________________________________ Aspell-devel mailing list Aspell-devel@gnu.org http://lists.gnu.org/mailman/listinfo/aspell-devel