Mercurial > vim
changeset 16387:12d57853ddb2 v8.1.1198
patch 8.1.1198: bracketed paste may remain active after Vim exists
commit https://github.com/vim/vim/commit/958eabe5e53673fc39186432ff98b3656663beeb
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 21 17:22:33 2019 +0200
patch 8.1.1198: bracketed paste may remain active after Vim exists
Problem: Bracketed paste may remain active after Vim exists, because the
terminal emulater restores the setting.
Solution: Set/reset bracketed paste mode before setting the terminal mode.
(closes #3579)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 21 Apr 2019 17:30:05 +0200 |
parents | 3439f38a4844 |
children | a4101e185bbb |
files | src/term.c src/version.c |
diffstat | 2 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c +++ b/src/term.c @@ -3496,19 +3496,23 @@ settmode(int tmode) #endif #ifdef FEAT_MOUSE_TTY if (tmode != TMODE_RAW) - mch_setmouse(FALSE); /* switch mouse off */ + mch_setmouse(FALSE); // switch mouse off #endif - if (tmode != TMODE_RAW) - out_str(T_BD); /* disable bracketed paste mode */ + if (termcap_active) + { + if (tmode != TMODE_RAW) + out_str(T_BD); // disable bracketed paste mode + else + out_str(T_BE); // enable bracketed paste mode (should + // be before mch_settmode(). + } out_flush(); - mch_settmode(tmode); /* machine specific function */ + mch_settmode(tmode); // machine specific function cur_tmode = tmode; #ifdef FEAT_MOUSE if (tmode == TMODE_RAW) - setmouse(); /* may switch mouse on */ + setmouse(); // may switch mouse on #endif - if (tmode == TMODE_RAW) - out_str(T_BE); /* enable bracketed paste mode */ out_flush(); } #ifdef FEAT_TERMRESPONSE