components/vim/vim72-patches/7.2.270
changeset 198 172fc01ce997
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/vim/vim72-patches/7.2.270	Thu Apr 07 16:25:07 2011 -0700
@@ -0,0 +1,72 @@
+To: [email protected]
+Subject: Patch 7.2.270
+Fcc: outbox
+From: Bram Moolenaar <[email protected]>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.270
+Problem:    Using ":@c" when the c register contains a CR causes the rest to
+	    be executed later. (Dexter Douglas)
+Solution:   Don't check for typeahead to start with ':', keep executing
+	    commands until all added typeahead has been used.
+Files:	    src/ex_docmd.c
+
+
+*** ../vim-7.2.269/src/ex_docmd.c	2009-09-30 13:23:57.000000000 +0200
+--- src/ex_docmd.c	2009-10-28 12:06:54.000000000 +0100
+***************
+*** 8358,8363 ****
+--- 8358,8364 ----
+      exarg_T	*eap;
+  {
+      int		c;
++     int		prev_len = typebuf.tb_len;
+  
+      curwin->w_cursor.lnum = eap->line2;
+  
+***************
+*** 8383,8393 ****
+  
+  	/*
+  	 * 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.
+  	 */
+! 	while ((!stuff_empty() || typebuf.tb_len > 0) && vpeekc() == ':')
+  	    (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE);
+  
+  	exec_from_reg = save_efr;
+--- 8384,8393 ----
+  
+  	/*
+  	 * Execute from the typeahead buffer.
+! 	 * Continue until the stuff buffer is empty and all added characters
+! 	 * have been consumed.
+  	 */
+! 	while (!stuff_empty() || typebuf.tb_len > prev_len)
+  	    (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE);
+  
+  	exec_from_reg = save_efr;
+*** ../vim-7.2.269/src/version.c	2009-11-03 12:10:39.000000000 +0100
+--- src/version.c	2009-11-03 12:32:47.000000000 +0100
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     270,
+  /**/
+
+-- 
+To the optimist, the glass is half full.
+To the pessimist, the glass is half empty.
+To the engineer, the glass is twice as big as it needs to be.
+
+ /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///