From: David Lawrence Ramsey Date: Thu, 21 Oct 2004 15:44:36 +0000 (+0000) Subject: do the check for being outside the mark after the zero-length regexes X-Git-Tag: v1.3.5~115 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=3288925efbb7c3f31eab03c842b45498a92e1cb3;p=nano.git do the check for being outside the mark after the zero-length regexes 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 --- diff --git a/src/search.c b/src/search.c index 6ab859f4..047a4efa 100644 --- a/src/search.c +++ b/src/search.c @@ -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);