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-d3aeb78583b8master
parent
2f817a6740
commit
8704dde873
|
@ -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
|
||||
|
|
21
src/search.c
21
src/search.c
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue