vim-patch:7.4.601 #1950

Problem:    It is not possible to have feedkeys() insert characters.
  Solution:   Add the 'i' flag.

  https://code.google.com/p/vim/source/detail?r=v7-4-601
This commit is contained in:
Justin M. Keyes
2015-02-06 13:21:53 -05:00
parent 5483cb4e62
commit 2d22e1f035
3 changed files with 39 additions and 4 deletions

View File

@@ -57,6 +57,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
FUNC_ATTR_DEFERRED
{
bool remap = true;
bool insert = false;
bool typed = false;
if (keys.size == 0) {
@@ -68,6 +69,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
case 'n': remap = false; break;
case 'm': remap = true; break;
case 't': typed = true; break;
case 'i': insert = true; break;
}
}
@@ -80,7 +82,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
keys_esc = keys.data;
}
ins_typebuf((char_u *)keys_esc, (remap ? REMAP_YES : REMAP_NONE),
typebuf.tb_len, !typed, false);
insert ? 0 : typebuf.tb_len, !typed, false);
if (escape_csi) {
free(keys_esc);

View File

@@ -179,6 +179,35 @@ static char *(features[]) = {
// clang-format off
static int included_patches[] = {
//620,
//619,
//618,
//617,
//616,
//615,
//614,
//613,
//612,
//611,
//610,
//609,
//608,
//607,
//606,
//605,
//604,
//603,
//602,
601,
//600,
//599,
//598,
//597,
//596,
//595,
//594,
//593,
//592,
//591 NA
//590,
//589 NA