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().

25281634cd
This commit is contained in:
Michael Ennen
2016-05-22 01:25:36 -07:00
parent 02e6914a93
commit 40e7efe91c
7 changed files with 45 additions and 12 deletions

View File

@@ -7857,20 +7857,22 @@ static void ex_stopinsert(exarg_T *eap)
* "remap" can be REMAP_NONE or REMAP_YES.
*/
void exec_normal_cmd(char_u *cmd, int remap, bool silent)
{
// Stuff the argument into the typeahead buffer.
ins_typebuf(cmd, remap, 0, true, silent);
exec_normal(false);
}
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) {
finish_op = false;
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 */
normal_cmd(&oa, true); // execute a Normal mode cmd
}
}