Mercurial > vim
changeset 1973:1e52efdc900c v7.2.270
updated for version 7.2-270
author | vimboss |
---|---|
date | Tue, 03 Nov 2009 11:40:19 +0000 |
parents | 82f866f19e91 |
children | 813a407a63af |
files | src/ex_docmd.c src/version.c |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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;