Patch 7.1.241
Problem:    Focus change events not always ignored.  (Erik Falor)
Solution:   Ignore K_IGNORE in Insert mode in a few more places.
Files:      src/edit.c


*** ../vim-7.1.240/src/edit.c   Wed Jan 16 20:01:14 2008
--- src/edit.c  Tue Jan 22 17:45:32 2008
***************
*** 703,712 ****
  #endif
  
        /*
!        * Get a character for Insert mode.
         */
        lastc = c;                      /* remember previous char for CTRL-D */
!       c = safe_vgetc();
  
  #ifdef FEAT_AUTOCMD
        /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
--- 703,715 ----
  #endif
  
        /*
!        * Get a character for Insert mode.  Ignore K_IGNORE.
         */
        lastc = c;                      /* remember previous char for CTRL-D */
!       do
!       {
!           c = safe_vgetc();
!       } while (c == K_IGNORE);
  
  #ifdef FEAT_AUTOCMD
        /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
***************
*** 777,783 ****
        /* Prepare for or stop CTRL-X mode.  This doesn't do completion, but
         * it does fix up the text when finishing completion. */
        compl_get_longest = FALSE;
!       if (c != K_IGNORE && ins_compl_prep(c))
            continue;
  #endif
  
--- 780,786 ----
        /* Prepare for or stop CTRL-X mode.  This doesn't do completion, but
         * it does fix up the text when finishing completion. */
        compl_get_longest = FALSE;
!       if (ins_compl_prep(c))
            continue;
  #endif
  
***************
*** 4516,4530 ****
        else
        {
            /* Need to get the character to have KeyTyped set.  We'll put it
!            * back with vungetc() below. */
            c = safe_vgetc();
  
!           /* Don't interrupt completion when the character wasn't typed,
!            * e.g., when doing @q to replay keys. */
!           if (c != Ctrl_R && KeyTyped)
!               compl_interrupted = TRUE;
! 
!           vungetc(c);
        }
      }
      if (compl_pending != 0 && !got_int)
--- 4519,4535 ----
        else
        {
            /* Need to get the character to have KeyTyped set.  We'll put it
!            * back with vungetc() below.  But skip K_IGNORE. */
            c = safe_vgetc();
+           if (c != K_IGNORE)
+           {
+               /* Don't interrupt completion when the character wasn't typed,
+                * e.g., when doing @q to replay keys. */
+               if (c != Ctrl_R && KeyTyped)
+                   compl_interrupted = TRUE;
  
!               vungetc(c);
!           }
        }
      }
      if (compl_pending != 0 && !got_int)
*** ../vim-7.1.240/src/version.c        Tue Jan 22 16:01:25 2008
--- src/version.c       Tue Jan 22 17:48:46 2008
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     241,
  /**/

-- 
The problem with political jokes is that they get elected.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui