summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2011-11-30 13:03:28 +0100
committerBram Moolenaar <bram@vim.org>2011-11-30 13:03:28 +0100
commitff37accb6c565b5dc4849bfe90f00383db5fd487 (patch)
treebe88c851497b8e33ee2223c705c511fa82be8712
parent3e4a1e9a631559fa1251381ba44a1cbfbcb01ce6 (diff)
downloadvim-ff37accb6c565b5dc4849bfe90f00383db5fd487.tar.gz
updated for version 7.3.356v7.3.356v7-3-356
Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon) Solution: Skip over {} correctly. (Hari G)
-rw-r--r--src/misc1.c5
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/misc1.c b/src/misc1.c
index 95b45479..d260b0c2 100644
--- 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 */
diff --git a/src/version.c b/src/version.c
index 8496ef41..7a13d131 100644
--- 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,