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
.
master
parent
5618189643
commit
14f32577ee
|
@ -579,6 +579,7 @@ ssize_t do_replace_loop(const char *needle, bool whole_word_only,
|
||||||
light_from_col = xplustabs();
|
light_from_col = xplustabs();
|
||||||
light_to_col = strnlenpt(openfile->current->data,
|
light_to_col = strnlenpt(openfile->current->data,
|
||||||
openfile->current_x + match_len);
|
openfile->current_x + match_len);
|
||||||
|
currmenu = MMAIN;
|
||||||
|
|
||||||
/* Refresh the edit window, scrolling it if necessary. */
|
/* Refresh the edit window, scrolling it if necessary. */
|
||||||
edit_refresh();
|
edit_refresh();
|
||||||
|
|
|
@ -2202,6 +2202,7 @@ bool fix_spello(const char *word)
|
||||||
filestruct *saved_mark = openfile->mark;
|
filestruct *saved_mark = openfile->mark;
|
||||||
openfile->mark = NULL;
|
openfile->mark = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
currmenu = MMAIN;
|
||||||
edit_refresh();
|
edit_refresh();
|
||||||
|
|
||||||
/* Let the user supply a correctly spelled alternative. */
|
/* Let the user supply a correctly spelled alternative. */
|
||||||
|
|
Loading…
Reference in New Issue