bool isLetter(DocIterator const & dit)
{
- return dit.inTexted()
- && dit.inset().allowSpellCheck()
- && dit.pos() != dit.lastpos()
- && (dit.paragraph().isLetter(dit.pos())
- // We want to pass the ' and escape chars to ispell
- || contains(from_utf8(lyxrc.spellchecker_esc_chars + '\''),
- dit.paragraph().getChar(dit.pos())))
- && !dit.paragraph().isDeleted(dit.pos());
+ return dit.inTexted() && dit.paragraph().isLetter(dit.pos());
}
} // namespace lyx
if (Inset const * inset = getInset(pos))
return inset->isLetter();
char_type const c = d->text_[pos];
- return isLetterChar(c) || isDigit(c);
+ // We want to pass the ' and escape chars to the spellchecker
+ static docstring const quote = from_utf8(lyxrc.spellchecker_esc_chars + '\'');
+ return (isLetterChar(c) || isDigit(c) || contains(quote, c))
+ && (!d->inset_owner_ || d->inset_owner_->allowSpellCheck())
+ && pos != size()
+ && !isDeleted(pos);
}
//lyxerr << "Words: ";
pos_type n = size();
for (pos_type pos = 0; pos < n; ++pos) {
- if (isDeleted(pos))
- continue;
if (!isLetter(pos))
continue;
pos_type from = pos;