- change findnextstr() to only edit_update if we have gone off the screen.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@95 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
11
search.c
11
search.c
@@ -128,6 +128,7 @@ filestruct *findnextstr(int quiet, filestruct * begin, char *needle)
|
||||
{
|
||||
filestruct *fileptr;
|
||||
char *searchstr, *found = NULL, *tmp;
|
||||
int past_editbot = 0;
|
||||
|
||||
fileptr = current;
|
||||
|
||||
@@ -135,8 +136,12 @@ filestruct *findnextstr(int quiet, filestruct * begin, char *needle)
|
||||
/* Look for searchstr until EOF */
|
||||
while (fileptr != NULL &&
|
||||
(found = strstrwrapper(searchstr, needle)) == NULL) {
|
||||
if (!past_editbot && (fileptr == editbot))
|
||||
past_editbot = 1;
|
||||
|
||||
fileptr = fileptr->next;
|
||||
|
||||
|
||||
if (fileptr == begin)
|
||||
return NULL;
|
||||
|
||||
@@ -151,7 +156,8 @@ filestruct *findnextstr(int quiet, filestruct * begin, char *needle)
|
||||
for (tmp = fileptr->data; tmp != found; tmp++)
|
||||
current_x++;
|
||||
|
||||
edit_update(current);
|
||||
if (past_editbot)
|
||||
edit_update(current);
|
||||
reset_cursor();
|
||||
} else { /* We're at EOF, go back to the top, once */
|
||||
|
||||
@@ -173,7 +179,8 @@ filestruct *findnextstr(int quiet, filestruct * begin, char *needle)
|
||||
for (tmp = fileptr->data; tmp != found; tmp++)
|
||||
current_x++;
|
||||
|
||||
edit_update(current);
|
||||
if (past_editbot)
|
||||
edit_update(current);
|
||||
reset_cursor();
|
||||
|
||||
if (!quiet)
|
||||
|
||||
Reference in New Issue
Block a user