# HG changeset patch # User Bram Moolenaar # Date 1403005813 -7200 # Node ID 01d9ffdd6e6ffb39faf946e13ec63bd7dc31e162 # Parent 23256682477265bf08c69a3211e64d0ca5b8b13c updated for version 7.4.328 Problem: Selection of inner block is inconsistent. Solution: Skip indent not only for '}' but all parens. (Tom McDonald) diff --git a/src/search.c b/src/search.c --- a/src/search.c +++ b/src/search.c @@ -3608,21 +3608,22 @@ current_block(oap, count, include, what, /* * 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 --- 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,