};
typedef map<string, Speller> Spellers;
-
-} // anon namespace
+
+} // namespace
struct EnchantChecker::Private
{
LYXERR(Debug::FILES, "request enchant speller for language " << lang);
m.speller = instance->request_dict(lang);
}
- catch (const enchant::Exception & e) {
+ catch (enchant::Exception & e) {
// FIXME error handling?
- // unfortunately the message of enchant::Exception is unreachable
- LYXERR(Debug::FILES, "cannot add enchant speller, unspecified enchant exception in request_dict().");
+ const char * what = e.what();
+ LYXERR(Debug::FILES, "cannot add enchant speller: " <<
+ ((what && *what) ? what : "unspecified enchant exception in request_dict()"));
m.speller = 0;
}
spellers_[lang] = m;
Spellers::iterator it = spellers_.find(lang);
if (it != spellers_.end())
return it->second.speller;
-
+
return addSpeller(lang);
}
advanceChangeNumber();
}
}
-
-
+
+
void EnchantChecker::remove(WordLangTuple const & word)
{
enchant::Dict * m = d->speller(word.lang()->code());
vector<string> suggs = m->suggest(utf8word);
vector<string>::const_iterator it = suggs.begin();
-
+
for (; it != suggs.end(); ++it)
suggestions.push_back(from_utf8(*it));
}
{
return d->spellers_.size();
}
-
+
docstring const EnchantChecker::error()
{