1
1

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.
Этот коммит содержится в:
Benno Schulenberg 2019-02-09 10:45:50 +01:00
родитель 5618189643
Коммит 14f32577ee
2 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -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. */