patch 9.0.0500: when quitting cmdline window with CTRL-C it remains visible
Problem: When quitting the cmdline window with CTRL-C it remains visible.
Solution: Redraw to avoid confusion. Adjust the error message.
(closes #11152) Adjust the cursor position after CTRL-C.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index a4fb611..0220581 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4631,13 +4631,11 @@
ccline.cmdlen = (int)STRLEN(ccline.cmdbuff);
ccline.cmdbufflen = ccline.cmdlen + 1;
ccline.cmdpos = curwin->w_cursor.col;
- if (ccline.cmdpos > ccline.cmdlen)
+ // If the cursor is on the last character, it probably should be
+ // after it.
+ if (ccline.cmdpos == ccline.cmdlen - 1
+ || ccline.cmdpos > ccline.cmdlen)
ccline.cmdpos = ccline.cmdlen;
- if (cmdwin_result == K_IGNORE)
- {
- set_cmdspos_cursor();
- redrawcmd();
- }
}
# ifdef FEAT_CONCEAL
@@ -4664,6 +4662,15 @@
// Restore window sizes.
win_size_restore(&winsizes);
skip_win_fix_cursor = FALSE;
+
+ if (cmdwin_result == K_IGNORE)
+ {
+ // It can be confusing that the cmdwin still shows, redraw the
+ // screen.
+ update_screen(UPD_VALID);
+ set_cmdspos_cursor();
+ redrawcmd();
+ }
}
ga_clear(&winsizes);