1
0
forked from aniani/vim

patch 7.4.1150

Problem:    'langmap' applies to the first character typed in Select mode.
            (David Watson)
Solution:   Check for SELECTMODE. (Christian Brabandt, closes #572)
            Add the 'x' flag to feedkeys().
This commit is contained in:
Bram Moolenaar
2016-01-21 23:32:32 +01:00
parent d6357e8f93
commit 25281634cd
8 changed files with 52 additions and 9 deletions

View File

@@ -10225,18 +10225,27 @@ exec_normal_cmd(cmd, remap, silent)
char_u *cmd;
int remap;
int silent;
{
/* Stuff the argument into the typeahead buffer. */
ins_typebuf(cmd, remap, 0, TRUE, silent);
exec_normal(FALSE);
}
#endif
#if defined(FEAT_EX_EXTRA) || defined(FEAT_MENU) || defined(FEAT_EVAL) \
|| defined(PROTO)
/*
* Execute normal_cmd() until there is no typeahead left.
*/
void
exec_normal(int was_typed)
{
oparg_T oa;
/*
* Stuff the argument into the typeahead buffer.
* Execute normal_cmd() until there is no typeahead left.
*/
clear_oparg(&oa);
finish_op = FALSE;
ins_typebuf(cmd, remap, 0, TRUE, silent);
while ((!stuff_empty() || (!typebuf_typed() && typebuf.tb_len > 0))
&& !got_int)
while ((!stuff_empty() || ((was_typed || !typebuf_typed())
&& typebuf.tb_len > 0)) && !got_int)
{
update_topline_cursor();
normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */