]> git.wh0rd.org Git - nano.git/commitdiff
Preventing the internal spell checker from finding the first occurrence of
authorBenno Schulenberg <bensberg@justemail.net>
Wed, 23 Mar 2016 09:52:34 +0000 (09:52 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Wed, 23 Mar 2016 09:52:34 +0000 (09:52 +0000)
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

ChangeLog
src/search.c

index 2b99a8dc5cd38b01bdfbea9270e9be2dfa8e6ecd..59d257fc7d0435aabf77291a27673e1ca638c4d9 100644 (file)
--- 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
index 4172e123ef1d7f5ab393b42514c34e35b869cc5a..271e7a427a10a8fee58068723eaf629bf0767e2f 100644 (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;