patch 8.2.3763: when editing the cmdline a callback may cause a scroll up
Problem: When editing the command line a FocusLost callback may cause the
screen to scroll up.
Solution: Do not redraw at the last line but at the same place where the
command line was before. (closes #9295)
diff --git a/src/drawscreen.c b/src/drawscreen.c
index f56ef91..106ae95 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -3019,14 +3019,19 @@
* it belongs. If highlighting was changed a redraw is needed.
* If "call_update_screen" is FALSE don't call update_screen() when at the
* command line.
+ * If "redraw_message" is TRUE.
*/
void
-redraw_after_callback(int call_update_screen)
+redraw_after_callback(int call_update_screen, int do_message)
{
++redrawing_for_callback;
- if (State == HITRETURN || State == ASKMORE)
- ; // do nothing
+ if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
+ || State == EXTERNCMD || State == CONFIRM || exmode_active)
+ {
+ if (do_message)
+ repeat_message();
+ }
else if (State & CMDLINE)
{
// Don't redraw when in prompt_for_number().