rearrange nanogetstr() to fix breakage
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2498 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
6bc26a9a8b
commit
0f83c89b09
|
@ -10,7 +10,8 @@ CVS code -
|
||||||
- Use separate keys to go to the previous and next strings in
|
- Use separate keys to go to the previous and next strings in
|
||||||
the search/replace history, and display them as "^P" and "^N".
|
the search/replace history, and display them as "^P" and "^N".
|
||||||
This makes mouse clicks work properly on them. Changes to
|
This makes mouse clicks work properly on them. Changes to
|
||||||
shortcut_init(), help_init(), and do_statusbar_input(). (DLR)
|
shortcut_init(), help_init(), nanogetstr(), and
|
||||||
|
do_statusbar_input(). (DLR)
|
||||||
- files.c:
|
- files.c:
|
||||||
load_open_file()
|
load_open_file()
|
||||||
- Remove an unneeded clearok(FALSE). (DLR)
|
- Remove an unneeded clearok(FALSE). (DLR)
|
||||||
|
|
|
@ -712,7 +712,7 @@ void shortcut_init(bool unjustify)
|
||||||
IFHELP(nano_lastline_msg, NANO_NO_KEY), NANO_LASTLINE_FKEY,
|
IFHELP(nano_lastline_msg, NANO_NO_KEY), NANO_LASTLINE_FKEY,
|
||||||
NANO_NO_KEY, VIEW, do_last_line);
|
NANO_NO_KEY, VIEW, do_last_line);
|
||||||
|
|
||||||
/* Translators: try to keep this string under 12 characters long */
|
/* Translators: try to keep this string under 10 characters long */
|
||||||
sc_init_one(&replace_list, NANO_TOOTHERSEARCH_KEY, N_("No Replace"),
|
sc_init_one(&replace_list, NANO_TOOTHERSEARCH_KEY, N_("No Replace"),
|
||||||
IFHELP(nano_whereis_msg, NANO_NO_KEY), NANO_REPLACE_FKEY,
|
IFHELP(nano_whereis_msg, NANO_NO_KEY), NANO_REPLACE_FKEY,
|
||||||
NANO_NO_KEY, VIEW, NULL);
|
NANO_NO_KEY, VIEW, NULL);
|
||||||
|
|
21
src/winio.c
21
src/winio.c
|
@ -2492,12 +2492,6 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
&s_or_t, &ran_func, &finished, TRUE)) != NANO_CANCEL_KEY &&
|
&s_or_t, &ran_func, &finished, TRUE)) != NANO_CANCEL_KEY &&
|
||||||
kbinput != NANO_ENTER_KEY) {
|
kbinput != NANO_ENTER_KEY) {
|
||||||
|
|
||||||
/* If we have a shortcut with an associated function, break out
|
|
||||||
* if we're finished after running or trying to run the
|
|
||||||
* function. */
|
|
||||||
if (ran_func && finished)
|
|
||||||
break;
|
|
||||||
|
|
||||||
assert(statusbar_x <= answer_len && answer_len == strlen(answer));
|
assert(statusbar_x <= answer_len && answer_len == strlen(answer));
|
||||||
|
|
||||||
if (kbinput != NANO_TAB_KEY)
|
if (kbinput != NANO_TAB_KEY)
|
||||||
|
@ -2521,6 +2515,7 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
answer_len = strlen(answer);
|
answer_len = strlen(answer);
|
||||||
statusbar_x = answer_len;
|
statusbar_x = answer_len;
|
||||||
}
|
}
|
||||||
|
finished = FALSE;
|
||||||
}
|
}
|
||||||
#ifndef DISABLE_TABCOMP
|
#ifndef DISABLE_TABCOMP
|
||||||
else
|
else
|
||||||
|
@ -2531,6 +2526,7 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
answer = input_tab(answer, &statusbar_x, &tabbed,
|
answer = input_tab(answer, &statusbar_x, &tabbed,
|
||||||
list);
|
list);
|
||||||
answer_len = strlen(answer);
|
answer_len = strlen(answer);
|
||||||
|
finished = FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -2562,7 +2558,6 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
free(currentbuf);
|
free(currentbuf);
|
||||||
currentbuf = NULL;
|
currentbuf = NULL;
|
||||||
use_cb = 0;
|
use_cb = 0;
|
||||||
|
|
||||||
/* Otherwise, get the older search from the history
|
/* Otherwise, get the older search from the history
|
||||||
* list and save it in answer. */
|
* list and save it in answer. */
|
||||||
} else if ((history =
|
} else if ((history =
|
||||||
|
@ -2570,8 +2565,8 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
answer = mallocstrcpy(answer, history);
|
answer = mallocstrcpy(answer, history);
|
||||||
answer_len = strlen(history);
|
answer_len = strlen(history);
|
||||||
}
|
}
|
||||||
|
|
||||||
statusbar_x = answer_len;
|
statusbar_x = answer_len;
|
||||||
|
finished = FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -2584,7 +2579,6 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
get_history_newer(history_list)) != NULL) {
|
get_history_newer(history_list)) != NULL) {
|
||||||
answer = mallocstrcpy(answer, history);
|
answer = mallocstrcpy(answer, history);
|
||||||
answer_len = strlen(history);
|
answer_len = strlen(history);
|
||||||
|
|
||||||
/* If currentbuf isn't NULL and use_cb isn't 2, it
|
/* If currentbuf isn't NULL and use_cb isn't 2, it
|
||||||
* means that we're scrolling down at the bottom of
|
* means that we're scrolling down at the bottom of
|
||||||
* the search history and we need to restore the
|
* the search history and we need to restore the
|
||||||
|
@ -2597,7 +2591,6 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
free(currentbuf);
|
free(currentbuf);
|
||||||
currentbuf = NULL;
|
currentbuf = NULL;
|
||||||
use_cb = 1;
|
use_cb = 1;
|
||||||
|
|
||||||
/* Otherwise, if currentbuf is NULL and use_cb isn't
|
/* Otherwise, if currentbuf is NULL and use_cb isn't
|
||||||
* 2, it means that we're scrolling down at the
|
* 2, it means that we're scrolling down at the
|
||||||
* bottom of the search history and we need to save
|
* bottom of the search history and we need to save
|
||||||
|
@ -2613,13 +2606,19 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
|
||||||
answer_len = 0;
|
answer_len = 0;
|
||||||
use_cb = 2;
|
use_cb = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
statusbar_x = answer_len;
|
statusbar_x = answer_len;
|
||||||
|
finished = FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If we have a shortcut with an associated function, break out
|
||||||
|
* if we're finished after running or trying to run the
|
||||||
|
* function. */
|
||||||
|
if (finished)
|
||||||
|
break;
|
||||||
|
|
||||||
#ifndef NANO_SMALL
|
#ifndef NANO_SMALL
|
||||||
last_kbinput = kbinput;
|
last_kbinput = kbinput;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue