summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ex_docmd.c8
-rw-r--r--src/version.c2
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,