Mercurial > vim
changeset 23529:049b1e867137 v8.2.2307
patch 8.2.2307: a shell command in the vimrc causes terminal output
Commit: https://github.com/vim/vim/commit/ebbf11c1198b7aec8a1a55f7231ecb4f1a432fa0
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 7 14:45:03 2021 +0100
patch 8.2.2307: a shell command in the vimrc causes terminal output
Problem: A shell command in the vimrc causes terminal output.
Solution: Do not call starttermcap() after a shell command if the termcap
wasn't active before.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 07 Jan 2021 15:00:05 +0100 |
parents | 6feb235b804d |
children | 47d509a28915 |
files | src/ex_cmds.c src/version.c |
diffstat | 2 files changed, 3 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -1360,8 +1360,8 @@ do_shell( #endif #ifdef MSWIN int winstart = FALSE; - int keep_termcap = FALSE; #endif + int keep_termcap = !termcap_active; /* * Disallow shell commands for "rvim". @@ -1395,9 +1395,7 @@ do_shell( msg_putchar('\r'); // put cursor at start of line if (!autocmd_busy) { -#ifdef MSWIN if (!keep_termcap) -#endif stoptermcap(); } #ifdef MSWIN @@ -1488,9 +1486,7 @@ do_shell( } #endif // FEAT_GUI_MSWIN -#ifdef MSWIN if (!keep_termcap) // if keep_termcap is TRUE didn't stop termcap -#endif starttermcap(); // start termcap if not done by wait_return() /*