From 3d9a0cca290a3196e3f8f3057c2e14970431e22b Mon Sep 17 00:00:00 2001 From: André Twupack Date: Sun, 20 Jul 2014 15:06:45 +0200 Subject: vim-patch:7.4.328 Problem: Selection of inner block is inconsistent. Solution: Skip indent not only for '}' but all parens. (Tom McDonald) https://code.google.com/p/vim/source/detail?r=01d9ffdd6e6ffb39faf946e13ec63bd7dc31e162 --- src/nvim/search.c | 20 ++++++++++---------- src/nvim/version.c | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/nvim/search.c b/src/nvim/search.c index c995300d56..b0a782a515 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -3015,21 +3015,21 @@ current_block ( } curwin->w_cursor = *end_pos; - /* - * 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. - */ + // Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE. + // 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/nvim/version.c b/src/nvim/version.c index 8eb06b2c80..5416bc7473 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -221,7 +221,7 @@ static int included_patches[] = { 331, //330, //329, - //328, + 328, 327, //326, //325, -- cgit