To: vim-dev@vim.org Subject: Patch 7.1.241 Fcc: outbox From: Bram Moolenaar 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 ///