display: ensure that spotlighted text is not treated as a prompt answer
When doing replacements or fixing misspelled words, and edit_refresh() is called to highlight the relevant word, then the current menu can be anything from MREPLACEWITH, MYESNO, MSPELL, or MMAIN. Make sure it is always set to the latter just before calling edit_refresh(), so that display_string() will use the full length and the word gets properly highlighted. This fixes https://savannah.gnu.org/bugs/?55680. Reported-by: David Lawrence Ramsey <pooka109@gmail.com> Bug was introduced by the previous commit, 56181896.
Этот коммит содержится в:
родитель
5618189643
Коммит
14f32577ee
@ -579,6 +579,7 @@ ssize_t do_replace_loop(const char *needle, bool whole_word_only,
|
||||
light_from_col = xplustabs();
|
||||
light_to_col = strnlenpt(openfile->current->data,
|
||||
openfile->current_x + match_len);
|
||||
currmenu = MMAIN;
|
||||
|
||||
/* Refresh the edit window, scrolling it if necessary. */
|
||||
edit_refresh();
|
||||
|
@ -2202,6 +2202,7 @@ bool fix_spello(const char *word)
|
||||
filestruct *saved_mark = openfile->mark;
|
||||
openfile->mark = NULL;
|
||||
#endif
|
||||
currmenu = MMAIN;
|
||||
edit_refresh();
|
||||
|
||||
/* Let the user supply a correctly spelled alternative. */
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user