summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-06-17 13:50:13 +0200
committerBram Moolenaar <Bram@vim.org>2014-06-17 13:50:13 +0200
commit7a54a90744529ab4d3291fa5cdf7656184b8469c (patch)
tree8d188d4ced06993793a35261715c044cef30d6fa
parent8502c704badd5f93875e56d887a6a1e5810d131f (diff)
downloadvim-git-7a54a90744529ab4d3291fa5cdf7656184b8469c.tar.gz
updated for version 7.4.328v7.4.328
Problem: Selection of inner block is inconsistent. Solution: Skip indent not only for '}' but all parens. (Tom McDonald)
-rw-r--r--src/search.c19
-rw-r--r--src/version.c2
2 files changed, 12 insertions, 9 deletions
diff --git a/src/search.c b/src/search.c
index efe9e1c35..283e77867 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3608,21 +3608,22 @@ current_block(oap, count, include, what, other)
/*
* Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE.
- * If the ending '}' is only preceded by indent, skip that indent.
- * But only if the resulting area is not smaller than what we started with.
+ * If the ending '}', ')' or ']' is only preceded by indent, skip that
+ * indent. But only if the resulting area is not smaller than what we
+ * started with.
*/
while (!include)
{
incl(&start_pos);
sol = (curwin->w_cursor.col == 0);
decl(&curwin->w_cursor);
- if (what == '{')
- while (inindent(1))
- {
- sol = TRUE;
- if (decl(&curwin->w_cursor) != 0)
- break;
- }
+ while (inindent(1))
+ {
+ sol = TRUE;
+ if (decl(&curwin->w_cursor) != 0)
+ break;
+ }
+
/*
* In Visual mode, when the resulting area is not bigger than what we
* started with, extend it to the next block, and then exclude again.
diff --git a/src/version.c b/src/version.c
index 9215ae475..f25abaeee 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 328,
+/**/
327,
/**/
326,