]> git.lyx.org Git - lyx.git/blobdiff - src/AspellChecker.cpp
Merge branch 'master' of git.lyx.org:lyx
[lyx.git] / src / AspellChecker.cpp
index a03dc65759defa19989f3df214ba54fca73ead42..c4b24199940fa2146418638e50024b11abf0694e 100644 (file)
@@ -25,7 +25,7 @@
 #include "support/filetools.h"
 #include "support/Package.h"
 #include "support/FileName.h"
-#include "support/Path.h"
+#include "support/PathChanger.h"
 
 #include <aspell.h>
 
@@ -53,7 +53,8 @@ typedef map<std::string, PersonalWordList *> LangPersonalWordList;
 
 struct AspellChecker::Private
 {
-       Private() {}
+       Private()
+       {}
 
        ~Private();
 
@@ -91,27 +92,38 @@ struct AspellChecker::Private
 
        /// the location below system/user directory
        /// there the rws files lookup will happen
-       const string dictDirectory(void) { return "dicts"; }
+       const string dictDirectory(void)
+       {
+               return "dicts";
+       }
        /// there the dat+cmap files lookup will happen
-       const string dataDirectory(void) { return "data"; }
+       const string dataDirectory(void)
+       {
+               return "data";
+       }
        /// os package directory constants
        /// macports on Mac OS X or
        /// aspell rpms on Linux
-       const string osPackageBase(void) {
+       const string osPackageBase(void)
+       {
 #ifdef USE_MACOSX_PACKAGING
                return "/opt/local";
 #else
                return "/usr";
 #endif
        }
-       const string osPackageDictDirectory(void) {
+       const string osPackageDictDirectory(void)
+       {
 #ifdef USE_MACOSX_PACKAGING
                return "/share/aspell";
 #else
                return "/lib/aspell-0.60";
 #endif
        }
-       const string osPackageDataDirectory(void) { return "/lib/aspell-0.60"; }
+       const string osPackageDataDirectory(void)
+       {
+               return "/lib/aspell-0.60";
+       }
 
 };
 
@@ -207,7 +219,7 @@ AspellConfig * AspellChecker::Private::getConfig(string const & lang, string con
        }
        if (!have_dict) {
                // check for package data of OS installation
-               have_dict = checkAspellData(config, osPackageBase(), osPackageDataDirectory(), osPackageDictDirectory(), lang, variety);
+               checkAspellData(config, osPackageBase(), osPackageDataDirectory(), osPackageDictDirectory(), lang, variety);
        }
        return config ;
 }
@@ -345,11 +357,13 @@ SpellChecker::Result AspellChecker::Private::check(
 {
        SpellChecker::Result result = WORD_OK;
        docstring w1;
+       LYXERR(Debug::GUI, "spellCheck: \"" <<
+                  word.word() << "\", lang = " << word.lang()->lang()) ;
        docstring rest = split(word.word(), w1, '-');
        for (; result == WORD_OK;) {
                string const word_str = toAspellWord(w1);
                int const word_ok = aspell_speller_check(m, word_str.c_str(), -1);
-               LASSERT(word_ok != -1, /**/);
+               LASSERT(word_ok != -1, return UNKNOWN_WORD);
                result = (word_ok) ? WORD_OK : UNKNOWN_WORD;
                if (rest.empty())
                        break;
@@ -359,7 +373,7 @@ SpellChecker::Result AspellChecker::Private::check(
                return result;
        string const word_str = toAspellWord(word.word());
        int const word_ok = aspell_speller_check(m, word_str.c_str(), -1);
-       LASSERT(word_ok != -1, /**/);
+       LASSERT(word_ok != -1, return UNKNOWN_WORD);
        return (word_ok) ? WORD_OK : UNKNOWN_WORD;
 }
 
@@ -404,9 +418,9 @@ bool AspellChecker::Private::learned(WordLangTuple const & word)
 }
 
 
-AspellChecker::AspellChecker(): d(new Private)
-{
-}
+AspellChecker::AspellChecker()
+       : d(new Private)
+{}
 
 
 AspellChecker::~AspellChecker()
@@ -468,7 +482,7 @@ void AspellChecker::suggest(WordLangTuple const & wl,
        string const word = d->toAspellWord(wl.word());
        AspellWordList const * sugs =
                aspell_speller_suggest(m, word.c_str(), -1);
-       LASSERT(sugs != 0, /**/);
+       LASSERT(sugs != 0, return);
        AspellStringEnumeration * els = aspell_word_list_elements(sugs);
        if (!els || aspell_word_list_empty(sugs))
                return;
@@ -483,12 +497,14 @@ void AspellChecker::suggest(WordLangTuple const & wl,
        delete_aspell_string_enumeration(els);
 }
 
+
 void AspellChecker::remove(WordLangTuple const & word)
 {
        d->remove(word);
        advanceChangeNumber();
 }
 
+
 bool AspellChecker::hasDictionary(Language const * lang) const
 {
        bool have = false;