changeset 3172:c349a670716a v7.3.356

updated for version 7.3.356 Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon) Solution: Skip over {} correctly. (Hari G)
author Bram Moolenaar <bram@vim.org>
date Wed, 30 Nov 2011 13:03:28 +0100
parents d7bbab59d3ca
children 3fba58eb0966
files src/misc1.c src/version.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -6127,7 +6127,7 @@ corr_ind_maxparen(ind_maxparen, startpos
 
 /*
  * Set w_cursor.col to the column number of the last unmatched ')' or '{' in
- * line "l".
+ * line "l".  "l" must point to the start of the line.
  */
     static int
 find_last_paren(l, start, end)
@@ -6140,7 +6140,7 @@ find_last_paren(l, start, end)
 
     curwin->w_cursor.col = 0;		    /* default is start of line */
 
-    for (i = 0; l[i]; i++)
+    for (i = 0; l[i] != NUL; i++)
     {
 	i = (int)(cin_skipcomment(l + i) - l); /* ignore parens in comments */
 	i = (int)(skip_string(l + i) - l);    /* ignore parens in quotes */
@@ -7953,6 +7953,7 @@ term_again:
 			 * If we're at the end of a block, skip to the start of
 			 * that block.
 			 */
+			l = ml_get_curline();
 			if (find_last_paren(l, '{', '}')
 				&& (trypos = find_start_brace(ind_maxcomment))
 							    != NULL) /* XXX */
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    356,
+/**/
     355,
 /**/
     354,