To: vim-dev@vim.org
Subject: Patch 7.1.241
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
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 -- Bram@Moolenaar.net -- 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 ///