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
This commit is contained in:
André Twupack
2014-07-20 15:06:45 +02:00
parent 5c9db00e9e
commit 3d9a0cca29
2 changed files with 11 additions and 11 deletions

View File

@@ -3015,21 +3015,21 @@ current_block (
} }
curwin->w_cursor = *end_pos; curwin->w_cursor = *end_pos;
/* // Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE.
* Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE. // If the ending '}', ')' or ']' is only preceded by indent, skip that
* If the ending '}' is only preceded by indent, skip that indent. // indent. But only if the resulting area is not smaller than what we
* But only if the resulting area is not smaller than what we started with. // started with.
*/
while (!include) { while (!include) {
incl(&start_pos); incl(&start_pos);
sol = (curwin->w_cursor.col == 0); sol = (curwin->w_cursor.col == 0);
decl(&curwin->w_cursor); decl(&curwin->w_cursor);
if (what == '{')
while (inindent(1)) { while (inindent(1)) {
sol = TRUE; sol = TRUE;
if (decl(&curwin->w_cursor) != 0) if (decl(&curwin->w_cursor) != 0) {
break; break;
} }
}
/* /*
* In Visual mode, when the resulting area is not bigger than what we * 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. * started with, extend it to the next block, and then exclude again.

View File

@@ -221,7 +221,7 @@ static int included_patches[] = {
331, 331,
//330, //330,
//329, //329,
//328, 328,
327, 327,
//326, //326,
//325, //325,