diff --git a/src/search.c b/src/search.c index 735952fd9567c32b5c09f9ec5f1ad98aed15c477..ba59a72bf057e9ae45b9204df4005c25f8a82ec9 100644 --- a/src/search.c +++ b/src/search.c @@ -318,19 +318,16 @@ int findnextstr(const char *needle, bool whole_word_only, size_t *match_len, } #endif #ifndef DISABLE_SPELLER - /* When we're spell checking, a match is only a true match when - * it is a separate word. */ - if (whole_word_only) { - if (is_separate_word(found - line->data, found_len, line->data)) - break; - else { - /* Maybe there is a whole word in the rest of the line. */ - from = found + move_mbright(found, 0); - continue; - } - } else + /* When we're spell checking, a match should be a separate word; + * if it's not, continue looking in the rest of the line. */ + if (whole_word_only && !is_separate_word(found - line->data, + found_len, line->data)) { + from = found + move_mbright(found, 0); + continue; + } #endif - break; + /* The match is valid. */ + break; } /* If we're back at the beginning, then there is no needle. */