clean up the search code a bit

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2809 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2005-07-02 17:56:29 +00:00
parent e3df8788b7
commit 612b41615b
2 changed files with 15 additions and 14 deletions

View File

@ -13,6 +13,13 @@ CVS code -
cursor position if there are no keys waiting in the buffer. cursor position if there are no keys waiting in the buffer.
(DLR) (DLR)
- search.c: - search.c:
search_init()
- Don't blank out last_replace anymore when we get a new string,
as it'll be blanked out in do_replace(). Also, consolidate
the cases for blank and new search strings, as they now differ
only in which string they pass to regexp_init(). (DLR)
replace_abort()
- Remove unnecessary update of placewewant. (DLR)
do_replace() do_replace()
- Blank out last_replace properly again just before displaying - Blank out last_replace properly again just before displaying
the "Replace" prompt. (DLR, found by Mike Frysinger) the "Replace" prompt. (DLR, found by Mike Frysinger)

View File

@ -215,17 +215,14 @@ int search_init(bool replacing, bool use_answer)
return -1; return -1;
} else { } else {
switch (i) { switch (i) {
case -2: /* It's the same string. */ case -2: /* It's an empty string. */
case 0: /* It's a new string. */
#ifdef HAVE_REGEX_H #ifdef HAVE_REGEX_H
/* Since answer is "", use last_search! */ /* Use last_search if answer is an empty string, or
if (ISSET(USE_REGEXP) && regexp_init(last_search) == 0) * answer if it isn't. */
return -1; if (ISSET(USE_REGEXP) &&
#endif regexp_init((i == -2) ? last_search :
break; answer) == 0)
case 0: /* They entered something new. */
last_replace[0] = '\0';
#ifdef HAVE_REGEX_H
if (ISSET(USE_REGEXP) && regexp_init(answer) == 0)
return -1; return -1;
#endif #endif
break; break;
@ -570,11 +567,8 @@ void do_research(void)
void replace_abort(void) void replace_abort(void)
{ {
/* Identical to search_abort(), so we'll call it here. If it does /* For now, we do the same thing as search_abort(). */
* something different later, we can change it back. For now, it's
* just a waste to duplicate code. */
search_abort(); search_abort();
placewewant = xplustabs();
} }
#ifdef HAVE_REGEX_H #ifdef HAVE_REGEX_H