Skip to content

Commit 958eabe

Browse files
committed
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)
1 parent c75e812 commit 958eabe

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

src/term.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3496,19 +3496,23 @@ settmode(int tmode)
34963496
#endif
34973497
#ifdef FEAT_MOUSE_TTY
34983498
if (tmode != TMODE_RAW)
3499-
mch_setmouse(FALSE); /* switch mouse off */
3499+
mch_setmouse(FALSE); // switch mouse off
35003500
#endif
3501-
if (tmode != TMODE_RAW)
3502-
out_str(T_BD); /* disable bracketed paste mode */
3501+
if (termcap_active)
3502+
{
3503+
if (tmode != TMODE_RAW)
3504+
out_str(T_BD); // disable bracketed paste mode
3505+
else
3506+
out_str(T_BE); // enable bracketed paste mode (should
3507+
// be before mch_settmode().
3508+
}
35033509
out_flush();
3504-
mch_settmode(tmode); /* machine specific function */
3510+
mch_settmode(tmode); // machine specific function
35053511
cur_tmode = tmode;
35063512
#ifdef FEAT_MOUSE
35073513
if (tmode == TMODE_RAW)
3508-
setmouse(); /* may switch mouse on */
3514+
setmouse(); // may switch mouse on
35093515
#endif
3510-
if (tmode == TMODE_RAW)
3511-
out_str(T_BE); /* enable bracketed paste mode */
35123516
out_flush();
35133517
}
35143518
#ifdef FEAT_TERMRESPONSE

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,8 @@ static char *(features[]) =
771771

772772
static int included_patches[] =
773773
{ /* Add new patch number below this line */
774+
/**/
775+
1198,
774776
/**/
775777
1197,
776778
/**/

0 commit comments

Comments
 (0)