diff options
author | Bram Moolenaar <Bram@vim.org> | 2009-11-03 11:40:19 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2009-11-03 11:40:19 +0000 |
commit | 60462877cb44a8a4c30606fd2a29a4b979beae74 (patch) | |
tree | 679c5cbdb2c817726a7fb54ac8bf13e662847d36 /src/ex_docmd.c | |
parent | 3f269675d47dead291679bde9268aef174f8a9b7 (diff) |
updated for version 7.2-270v7.2.270
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r-- | src/ex_docmd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 8c74dd8322..016a2b5e11 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -8358,6 +8358,7 @@ ex_at(eap) exarg_T *eap; { int c; + int prev_len = typebuf.tb_len; curwin->w_cursor.lnum = eap->line2; @@ -8383,11 +8384,10 @@ ex_at(eap) /* * Execute from the typeahead buffer. - * Originally this didn't check for the typeahead buffer to be empty, - * thus could read more Ex commands from stdin. It's not clear why, - * it is certainly unexpected. + * Continue until the stuff buffer is empty and all added characters + * have been consumed. */ - while ((!stuff_empty() || typebuf.tb_len > 0) && vpeekc() == ':') + while (!stuff_empty() || typebuf.tb_len > prev_len) (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE); exec_from_reg = save_efr; |