]> granicus.if.org Git - vim/commitdiff
patch 8.1.1198: bracketed paste may remain active after Vim exists v8.1.1198
authorBram Moolenaar <Bram@vim.org>
Sun, 21 Apr 2019 15:22:33 +0000 (17:22 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 21 Apr 2019 15:22:33 +0000 (17:22 +0200)
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)

src/term.c
src/version.c

index c7e8ddf0c5a999f265e2685bbf483bb8c50649ac..5bae1f2ddd09b692dfa963a779265cebd8c86411 100644 (file)
@@ -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
index 234f4bf04d0d0f09d151949277d496650d1c8769..48e8d99e8910ca2e1fb451e8e80c62c6f80334e2 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1198,
 /**/
     1197,
 /**/