diff options
author | vimboss <devnull@localhost> | 2009-11-03 11:40:19 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2009-11-03 11:40:19 +0000 |
commit | be8abe5f4cb95c9deda793418b5df4ae71678ba1 (patch) | |
tree | 679c5cbdb2c817726a7fb54ac8bf13e662847d36 | |
parent | 0d0c12ca90e03469cdd561e78998ccc68daf03e7 (diff) | |
download | vim-be8abe5f4cb95c9deda793418b5df4ae71678ba1.tar.gz |
-rw-r--r-- | src/ex_docmd.c | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 8c74dd83..016a2b5e 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; diff --git a/src/version.c b/src/version.c index 73d2300d..3b7be7cf 100644 --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 270, +/**/ 269, /**/ 268, |