Mercurial > vim
diff src/ex_getln.c @ 30329:8496a2c45962 v9.0.0500
patch 9.0.0500: when quitting cmdline window with CTRL-C it remains visible
Commit: https://github.com/vim/vim/commit/b2f0ca820eae50994745106d824e215d87bd7926
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 18 15:08:19 2022 +0100
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 18 Sep 2022 16:15:03 +0200 |
parents | 6b541aaaf39e |
children | 101f08b49ed3 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4631,13 +4631,11 @@ open_cmdwin(void) 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 @@ open_cmdwin(void) // 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);