Patch 8.1.2144
Problem:    Side effects when using t_ti to enable modifyOtherKeys.
Solution:   Add t_TI and t_TE.
Files:      runtime/doc/term.txt, src/term.c, src/optiondefs.h, src/term.h,


*** ../vim-8.1.2143/runtime/doc/term.txt        2019-05-05 18:11:46.324590615 
+0200
--- runtime/doc/term.txt        2019-10-12 20:53:35.382078182 +0200
***************
*** 80,93 ****
  <
                                                *raw-terminal-mode*
  For normal editing the terminal will be put into "raw" mode.  The strings
! defined with 't_ti' and 't_ks' will be sent to the terminal.  Normally this
! puts the terminal in a state where the termcap codes are valid and activates
! the cursor and function keys.  When Vim exits the terminal will be put back
! into the mode it was before Vim started.  The strings defined with 't_te' and
! 't_ke' will be sent to the terminal.  On the Amiga, with commands that execute
! an external command (e.g., "!!"), the terminal will be put into Normal mode
! for a moment.  This means that you can stop the output to the screen by
! hitting a printing key.  Output resumes when you hit <BS>.
  
                                                *xterm-bracketed-paste*
  When the 't_BE' option is set then 't_BE' will be sent to the
--- 80,98 ----
  <
                                                *raw-terminal-mode*
  For normal editing the terminal will be put into "raw" mode.  The strings
! defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal.  Normally
! this puts the terminal in a state where the termcap codes are valid and
! activates the cursor and function keys.
! When Vim exits the terminal will be put back into the mode it was before Vim
! started.  The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
! the terminal.  On the Amiga, with commands that execute an external command
! (e.g., "!!"), the terminal will be put into Normal mode for a moment.  This
! means that you can stop the output to the screen by hitting a printing key.
! Output resumes when you hit <BS>.
! 
! Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
! alternate screen.  This may slightly change what happens when executing a
! shell command or exiting Vim.  To avoid this use 't_TI' and 't_TE'.
  
                                                *xterm-bracketed-paste*
  When the 't_BE' option is set then 't_BE' will be sent to the
***************
*** 249,257 ****
  appropriate option.  For example: >
        :set t_ce=^V^[[K        (CTRL-V, <Esc>, [, K)
  
- {Vi: no terminal options.  You have to exit Vi, edit the termcap entry and
- try again}
- 
  The options are listed below.  The associated termcap code is always equal to
  the last two characters of the option name.  Only one termcap code is
  required: Cursor motion, 't_cm'.
--- 254,259 ----
***************
*** 300,307 ****
        t_se    standout end                                    *t_se* *'t_se'*
        t_so    standout mode                                   *t_so* *'t_so'*
        t_sr    scroll reverse (backward)                       *t_sr* *'t_sr'*
!       t_te    out of "termcap" mode                           *t_te* *'t_te'*
!       t_ti    put terminal in "termcap" mode                  *t_ti* *'t_ti'*
        t_ts    set window title start (to status line)         *t_ts* *'t_ts'*
        t_ue    underline end                                   *t_ue* *'t_ue'*
        t_us    underline mode                                  *t_us* *'t_us'*
--- 302,309 ----
        t_se    standout end                                    *t_se* *'t_se'*
        t_so    standout mode                                   *t_so* *'t_so'*
        t_sr    scroll reverse (backward)                       *t_sr* *'t_sr'*
!       t_te    end of "termcap" mode                           *t_te* *'t_te'*
!       t_ti    put terminal into "termcap" mode                *t_ti* *'t_ti'*
        t_ts    set window title start (to status line)         *t_ts* *'t_ts'*
        t_ue    underline end                                   *t_ue* *'t_ue'*
        t_us    underline mode                                  *t_us* *'t_us'*
***************
*** 362,367 ****
--- 364,371 ----
        t_RT    restore window title from stack                 *t_RT* *'t_RT'*
        t_Si    save icon text to stack                         *t_Si* *'t_Si'*
        t_Ri    restore icon text from stack                    *t_Ri* *'t_Ri'*
+       t_TE    end of "raw" mode                               *t_TE* *'t_TE'*
+       t_TI    put terminal into "raw" mode                    *t_TI* *'t_TI'*
  
  Some codes have a start, middle and end part.  The start and end are defined
  by the termcap option, the middle part is text.
*** ../vim-8.1.2143/src/term.c  2019-10-12 18:22:46.957511288 +0200
--- src/term.c  2019-10-12 20:58:01.977090430 +0200
***************
*** 1624,1629 ****
--- 1624,1630 ----
                        {KS_CM, "cm"}, {KS_SR, "sr"},
                        {KS_CRI,"RI"}, {KS_VB, "vb"}, {KS_KS, "ks"},
                        {KS_KE, "ke"}, {KS_TI, "ti"}, {KS_TE, "te"},
+                       {KS_CTI, "TI"}, {KS_CTE, "TE"},
                        {KS_BC, "bc"}, {KS_CSB,"Sb"}, {KS_CSF,"Sf"},
                        {KS_CAB,"AB"}, {KS_CAF,"AF"}, {KS_LE, "le"},
                        {KS_ND, "nd"}, {KS_OP, "op"}, {KS_CRV, "RV"},
***************
*** 3462,3467 ****
--- 3463,3469 ----
      if (full_screen && !termcap_active)
      {
        out_str(T_TI);                  /* start termcap mode */
+       out_str(T_CTI);                 /* start "raw" mode */
        out_str(T_KS);                  /* start "keypad transmit" mode */
        out_str(T_BE);                  /* enable bracketed paste mode */
        out_flush();
***************
*** 3517,3522 ****
--- 3519,3525 ----
        out_flush();
        termcap_active = FALSE;
        cursor_on();                    /* just in case it is still off */
+       out_str(T_CTE);                 /* stop "raw" mode */
        out_str(T_TE);                  /* stop termcap mode */
        screen_start();                 /* don't know where cursor is now */
        out_flush();
*** ../vim-8.1.2143/src/optiondefs.h    2019-09-28 19:04:06.997029566 +0200
--- src/optiondefs.h    2019-10-12 20:56:13.685493429 +0200
***************
*** 2969,2975 ****
--- 2969,2977 ----
      p_term("t_ST", T_CST)
      p_term("t_Te", T_STE)
      p_term("t_te", T_TE)
+     p_term("t_TE", T_CTE)
      p_term("t_ti", T_TI)
+     p_term("t_TI", T_CTI)
      p_term("t_Ts", T_STS)
      p_term("t_ts", T_TS)
      p_term("t_u7", T_U7)
*** ../vim-8.1.2143/src/term.h  2018-08-07 22:30:26.666240863 +0200
--- src/term.h  2019-10-12 20:58:26.520998835 +0200
***************
*** 65,71 ****
      KS_KS,    /* put term in "keypad transmit" mode */
      KS_KE,    /* out of "keypad transmit" mode */
      KS_TI,    /* put terminal in termcap mode */
!     KS_TE,    /* out of termcap mode */
      KS_BC,    /* backspace character (cursor left) */
      KS_CCS,   /* cur is relative to scroll region */
      KS_CCO,   /* number of colors */
--- 65,73 ----
      KS_KS,    /* put term in "keypad transmit" mode */
      KS_KE,    /* out of "keypad transmit" mode */
      KS_TI,    /* put terminal in termcap mode */
!     KS_CTI,   /* put terminal in "raw" mode */
!     KS_TE,    /* end of termcap mode */
!     KS_CTE,   /* end of "raw" mode */
      KS_BC,    /* backspace character (cursor left) */
      KS_CCS,   /* cur is relative to scroll region */
      KS_CCO,   /* number of colors */
***************
*** 164,170 ****
  #define T_KS  (TERM_STR(KS_KS))       /* put term in "keypad transmit" mode */
  #define T_KE  (TERM_STR(KS_KE))       /* out of "keypad transmit" mode */
  #define T_TI  (TERM_STR(KS_TI))       /* put terminal in termcap mode */
! #define T_TE  (TERM_STR(KS_TE))       /* out of termcap mode */
  #define T_BC  (TERM_STR(KS_BC))       /* backspace character */
  #define T_CCS (TERM_STR(KS_CCS))      /* cur is relative to scroll region */
  #define T_CCO (TERM_STR(KS_CCO))      /* number of colors */
--- 166,174 ----
  #define T_KS  (TERM_STR(KS_KS))       /* put term in "keypad transmit" mode */
  #define T_KE  (TERM_STR(KS_KE))       /* out of "keypad transmit" mode */
  #define T_TI  (TERM_STR(KS_TI))       /* put terminal in termcap mode */
! #define T_CTI (TERM_STR(KS_CTI))      /* put terminal in "raw" mode */
! #define T_TE  (TERM_STR(KS_TE))       /* end of termcap mode */
! #define T_CTE (TERM_STR(KS_CTE))      /* end of "raw" mode */
  #define T_BC  (TERM_STR(KS_BC))       /* backspace character */
  #define T_CCS (TERM_STR(KS_CCS))      /* cur is relative to scroll region */
  #define T_CCO (TERM_STR(KS_CCO))      /* number of colors */
*** ../vim-8.1.2143/src/version.c       2019-10-12 20:17:24.609773293 +0200
--- src/version.c       2019-10-12 21:04:38.687600847 +0200
***************
*** 755,756 ****
--- 755,758 ----
  {   /* Add new patch number below this line */
+ /**/
+     2144,
  /**/

-- 
Citizens are not allowed to attend a movie house or theater nor ride in a
public streetcar within at least four hours after eating garlic.
                [real standing law in Indiana, United States of America]

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201910121909.x9CJ9SJO029927%40masaka.moolenaar.net.

Raspunde prin e-mail lui