- 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-d3aeb78583b8master
parent
a4d2162091
commit
2a4ef924c8
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)
|
||||
|
|
Loading…
Reference in New Issue