]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.cpp
Get rid of all-insets-toggle and explain how to replace it with inset-forall.
[lyx.git] / src / Paragraph.cpp
index 1aea2dde43ec4408f42b1016141e05052364477a..c47718c3d5a8eedf9d14d8040b1d10769600465a 100644 (file)
@@ -2641,8 +2641,8 @@ docstring Paragraph::asString(pos_type beg, pos_type end, int options) const
        odocstringstream os;
 
        if (beg == 0 
-               && options & AS_STR_LABEL
-               && !d->params_.labelString().empty())
+           && options & AS_STR_LABEL
+           && !d->params_.labelString().empty())
                os << d->params_.labelString() << ' ';
 
        for (pos_type i = beg; i < end; ++i) {
@@ -3165,11 +3165,18 @@ bool Paragraph::spellCheck(pos_type & from, pos_type & to, WordLangTuple & wl,
        if (!speller)
                return false;
 
+       if (!d->layout_->spellcheck || !inInset().allowSpellCheck())
+               return false;
+
        locateWord(from, to, WHOLE_WORD);
        if (from == to || from >= pos_type(d->text_.size()))
                return false;
 
        docstring word = asString(from, to, AS_STR_INSETS);
+       // Ignore words with digits
+       // FIXME: make this customizable
+       // (note that hunspell ignores words with digits by default)
+       bool const ignored = hasDigit(word);
        Language * lang = const_cast<Language *>(getFontSettings(
                    d->inset_owner_->buffer().params(), from).language());
        if (lang == d->inset_owner_->buffer().params().language
@@ -3181,7 +3188,8 @@ bool Paragraph::spellCheck(pos_type & from, pos_type & to, WordLangTuple & wl,
                lang->setVariety(lang_variety);
        }
        wl = WordLangTuple(word, lang);
-       SpellChecker::Result res = speller->check(wl);
+       SpellChecker::Result res = ignored ?
+               SpellChecker::OK : speller->check(wl);
 #if 0
 // FIXME: the code below makes aspell abort if a word in an unknown
 //       language is checked.