Do not forget last word of paragraph in completion

With the old code, the last word of a paragraph would not be added in
the completion list. The key difference is to pass `from' instead of `pos'
to FontList::fontiterator.

Slight cleanup of the code.
This commit is contained in:
Jean-Marc Lasgouttes 2014-05-16 15:17:10 +02:00
parent fa67a6ae89
commit 3e60f58a92
2 changed files with 12 additions and 11 deletions

View File

@ -3861,20 +3861,19 @@ void Paragraph::locateWord(pos_type & from, pos_type & to,
void Paragraph::collectWords()
{
pos_type n = size();
for (pos_type pos = 0; pos < n; ++pos) {
for (pos_type pos = 0; pos < size(); ++pos) {
if (isWordSeparator(pos))
continue;
pos_type from = pos;
locateWord(from, pos, WHOLE_WORD);
if ((pos - from) >= (int)lyxrc.completion_minlength) {
docstring word = asString(from, pos, AS_STR_NONE);
FontList::const_iterator cit = d->fontlist_.fontIterator(pos);
if (cit == d->fontlist_.end())
return;
Language const * lang = cit->font().language();
d->words_[lang->lang()].insert(word);
}
if (pos < from + lyxrc.completion_minlength)
continue;
FontList::const_iterator cit = d->fontlist_.fontIterator(from);
if (cit == d->fontlist_.end())
return;
Language const * lang = cit->font().language();
docstring const word = asString(from, pos, AS_STR_NONE);
d->words_[lang->lang()].insert(word);
}
}

View File

@ -55,12 +55,14 @@ What's new
* LYX2LYX
- Fix warning "Missing \use_indices" when converting from 1.6.x format or older
- Fix warning "Missing \use_indices" when converting from 1.6.x format
or older.
* USER INTERFACE
- Do not forget last words of paragraphs in completion possibilities.
* INTERNALS