]> git.wh0rd.org Git - nano.git/commitdiff
in do_replace_loop(), treat real_current as current and real_current_x
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Mon, 22 Nov 2004 17:08:41 +0000 (17:08 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Mon, 22 Nov 2004 17:08:41 +0000 (17:08 +0000)
as current_x instead of using copies of them (which aren't kept up to
date) when calling findnextstr(); this fixes a problem where the search
can wrap when it shouldn't and skip over all matches after the wrap
point

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2119 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/search.c

index 75d161bcd5e873b71856cd4d2469cfb2da17f871..3dfe9ed0363dd0c02bd6cbcc65233db8fe13b4af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -290,8 +290,8 @@ CVS code -
          flag, and add new parameter needle_len (used to return the
          length of the match). (DLR)
   do_replace_loop()
-       - Miscellaneous cleanups: set current to real_current and
-         current_x to current_x_save, only turn the mark off and call
+       - Miscellaneous cleanups: treat real_current as current and
+         real_current_x as current_x, only turn the mark off and call
          edit_refresh() if the mark was originally on, and make
          length_change a ssize_t. (DLR)
        - Return ssize_t instead of int. (DLR)
index bb4d58b90c5f6845db6bad684dd77aa717f09368..fb775b69cd04a349d5f4c618490678d0d2918303 100644 (file)
@@ -671,8 +671,7 @@ ssize_t do_replace_loop(const char *needle, const filestruct
 {
     ssize_t numreplaced = -1;
     size_t match_len;
-    size_t pww_save = placewewant, current_x_save = *real_current_x;
-    const filestruct *current_save = real_current;
+    size_t pww_save = placewewant;
     bool replaceall = FALSE;
 #ifdef HAVE_REGEX_H
     /* The starting-line match and bol/eol regex flags. */
@@ -713,7 +712,7 @@ ssize_t do_replace_loop(const char *needle, const filestruct
 #else
        FALSE
 #endif
-       , current_save, current_x_save, needle, &match_len)) {
+       , real_current, *real_current_x, needle, &match_len)) {
 
        int i = 0;
 
@@ -735,7 +734,7 @@ ssize_t do_replace_loop(const char *needle, const filestruct
 #endif
 
        if (!replaceall) {
-           edit_redraw(current_save, pww_save);
+           edit_redraw(real_current, pww_save);
            pww_save = placewewant;
        }