]> git.wh0rd.org Git - nano.git/commitdiff
do the check for being outside the mark after the zero-length regexes
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 21 Oct 2004 15:44:36 +0000 (15:44 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 21 Oct 2004 15:44:36 +0000 (15:44 +0000)
check, so that zero-length regex replaces work properly again

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

src/search.c

index 6ab859f441c736dff867d0e56db6a0988eb6f4f2..047a4efab794976ee278ec85bda667c210e6ef07 100644 (file)
@@ -709,6 +709,23 @@ ssize_t do_replace_loop(const char *needle, filestruct *real_current,
 
        int i = 0;
 
+#ifdef HAVE_REGEX_H
+       /* If the bol_or_eol flag is set, we've found a match on the
+        * beginning line already, and we're still on the beginning line
+        * after the search, it means that we've wrapped around, so
+        * we're done. */
+       if (bol_or_eol && begin_line && current == real_current)
+           break;
+       /* Otherwise, set the begin_line flag if we've found a match on
+        * the beginning line, reset the bol_or_eol flag, and
+        * continue. */
+       else {
+           if (current == real_current)
+               begin_line = TRUE;
+           bol_or_eol = FALSE;
+       }
+#endif
+
 #ifndef NANO_SMALL
        /* If we've found a match outside the marked text, skip over it
         * and search for another one. */
@@ -731,23 +748,6 @@ ssize_t do_replace_loop(const char *needle, filestruct *real_current,
        }
 #endif
 
-#ifdef HAVE_REGEX_H
-       /* If the bol_or_eol flag is set, we've found a match on the
-        * beginning line already, and we're still on the beginning line
-        * after the search, it means that we've wrapped around, so
-        * we're done. */
-       if (bol_or_eol && begin_line && current == real_current)
-           break;
-       /* Otherwise, set the begin_line flag if we've found a match on
-        * the beginning line, reset the bol_or_eol flag, and
-        * continue. */
-       else {
-           if (current == real_current)
-               begin_line = TRUE;
-           bol_or_eol = FALSE;
-       }
-#endif
-
        if (!replaceall) {
            placewewant = xplustabs();
            edit_redraw(current_save, old_pww);