summaryrefslogtreecommitdiffstats
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-11-03 11:40:19 +0000
committerBram Moolenaar <Bram@vim.org>2009-11-03 11:40:19 +0000
commit60462877cb44a8a4c30606fd2a29a4b979beae74 (patch)
tree679c5cbdb2c817726a7fb54ac8bf13e662847d36 /src/ex_docmd.c
parent3f269675d47dead291679bde9268aef174f8a9b7 (diff)
updated for version 7.2-270v7.2.270
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c8
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;