nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 8704dde8736bf702ff470b39ea8ad3413b3e4486
parent 2f817a6740fea52541d101fc3450883001c42a1c
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Wed, 23 Mar 2016 09:52:34 +0000

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

Diffstat:
MChangeLog | 5+++++
Msrc/search.c | 21++++++++-------------
2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -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 diff --git a/src/search.c b/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;