Patch 8.1.1239
Problem:    Key with byte sequence containing CSI does not work.
Solution:   Do not recognize CSI as special unless the GUI is active. (Ken
            Takata, closes #4318)
Files:      src/getchar.c


*** ../vim-8.1.1238/src/getchar.c       2019-04-28 19:46:17.026060122 +0200
--- src/getchar.c       2019-04-29 21:52:57.006045828 +0200
***************
*** 1604,1610 ****
            // Get two extra bytes for special keys
            if (c == K_SPECIAL
  #ifdef FEAT_GUI
!                   || c == CSI
  #endif
               )
            {
--- 1604,1610 ----
            // Get two extra bytes for special keys
            if (c == K_SPECIAL
  #ifdef FEAT_GUI
!                   || (gui.in_use && c == CSI)
  #endif
               )
            {
***************
*** 1659,1677 ****
                }
  #endif
  #ifdef FEAT_GUI
!               // Handle focus event here, so that the caller doesn't need to
!               // know about it.  Return K_IGNORE so that we loop once (needed
!               // if 'lazyredraw' is set).
!               if (c == K_FOCUSGAINED || c == K_FOCUSLOST)
                {
!                   ui_focus_change(c == K_FOCUSGAINED);
!                   c = K_IGNORE;
!               }
  
!               // Translate K_CSI to CSI.  The special key is only used to
!               // avoid it being recognized as the start of a special key.
!               if (c == K_CSI)
!                   c = CSI;
  #endif
            }
            // a keypad or special function key was not mapped, use it like
--- 1659,1681 ----
                }
  #endif
  #ifdef FEAT_GUI
!               if (gui.in_use)
                {
!                   // Handle focus event here, so that the caller doesn't
!                   // need to know about it.  Return K_IGNORE so that we loop
!                   // once (needed if 'lazyredraw' is set).
!                   if (c == K_FOCUSGAINED || c == K_FOCUSLOST)
!                   {
!                       ui_focus_change(c == K_FOCUSGAINED);
!                       c = K_IGNORE;
!                   }
  
!                   // Translate K_CSI to CSI.  The special key is only used
!                   // to avoid it being recognized as the start of a special
!                   // key.
!                   if (c == K_CSI)
!                       c = CSI;
!               }
  #endif
            }
            // a keypad or special function key was not mapped, use it like
***************
*** 1749,1755 ****
                    buf[i] = vgetorpeek(TRUE);
                    if (buf[i] == K_SPECIAL
  #ifdef FEAT_GUI
!                           || buf[i] == CSI
  #endif
                            )
                    {
--- 1753,1759 ----
                    buf[i] = vgetorpeek(TRUE);
                    if (buf[i] == K_SPECIAL
  #ifdef FEAT_GUI
!                           || (gui.in_use && buf[i] == CSI)
  #endif
                            )
                    {
*** ../vim-8.1.1238/src/version.c       2019-04-29 21:46:22.849288641 +0200
--- src/version.c       2019-04-29 21:58:16.735900252 +0200
***************
*** 769,770 ****
--- 769,772 ----
  {   /* Add new patch number below this line */
+ /**/
+     1239,
  /**/

-- 
We learn from our mistakes.  Politicians don't make mistakes.

 /// 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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui