Preventing the internal spell checker from finding the first occurrence of

a misspelled word twice.  And deleting the piece of dead code that was meant
to do this.  This fixes Savannah bug #47188.

When we've reached again the same line where we started and we find an
instance there, then this can only be /before or at/ the position from
where we started, otherwise we would have found it when we commenced
searching.  And so... that little piece of dead code does absolutely
nothing -- it will never fire.

It's so nice... nano is full of Easter Eggs!  :)


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5760 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
Benno Schulenberg 2016-03-23 09:52:34 +00:00
parent 2f817a6740
commit 8704dde873
2 changed files with 13 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2016-03-23 Benno Schulenberg <bensberg@justemail.net>
* src/search.c (findnextstr): Prevent the internal spell checker from
finding the first occurrence twice. And delete the piece of dead code
that was meant to do this. This fixes Savannah bug #47188.
2016-03-22 Thomas Rosenau <thomasr@fantasymail.de>
* configure.ac, src/*.c: Check for the existence of the REG_ENHANCED
regex flag, and use it when it's available (on OS X systems). This

View File

@ -300,6 +300,13 @@ bool findnextstr(
#ifndef DISABLE_SPELLER
bool found_whole = FALSE;
/* Is this potential match a whole word? */
/* When we're spell-checking, don't search in the starting line
* again -- there is no need: we started at x = 0. */
if (whole_word_only && search_last_line) {
disable_nodelay();
return FALSE;
}
#endif
/* Set found_len to the length of the potential match. */
@ -377,20 +384,8 @@ bool findnextstr(
/* We found an instance. */
current_x_find = found - fileptr->data;
/* Ensure we haven't wrapped around again! */
if (search_last_line &&
#ifndef NANO_TINY
((!ISSET(BACKWARDS_SEARCH) && current_x_find > begin_x) ||
(ISSET(BACKWARDS_SEARCH) && current_x_find < begin_x))) {
#else
current_x_find > begin_x) {
#endif
not_found_msg(needle);
disable_nodelay();
return FALSE;
}
disable_nodelay();
/* We've definitely found something. */
openfile->current = fileptr;
openfile->current_x = current_x_find;