fix(cmdline): avoid redraw loop after wrapped line #40240

Problem:  A wrapped command line and screen width may be redrawn
          repeatedly after calls to `redrawstatus` from lua.

Solution: redrawcmd() redraws the command line, but msg_clr_eos() may
          invalidate cmdline_was_last_drawn during the redraw process.
          Restore cmdline_was_last_drawn when redrawcmd() completes.

Co-authored-by: Sam Reynoso <sam@codeoutpost.com>
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
(cherry picked from commit 6be9459d35)
This commit is contained in:
Sam Reynoso
2026-06-19 13:24:53 -07:00
committed by github-actions[bot]
parent dffacf5c9d
commit 5ff4e147d0
2 changed files with 22 additions and 1 deletions

View File

@@ -4069,7 +4069,7 @@ void redrawcmd(void)
// Typing ':' at the more prompt may set skip_redraw. We don't want this
// in cmdline mode.
skip_redraw = false;
cmdline_was_last_drawn = true;
redrawing_cmdline = false;
}