To: vim_dev@googlegroups.com Subject: Patch 7.3.249 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.249 Problem: Wrong indenting for array initializer. Solution: Detect '}' in a better way. (Lech Lorens) Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok *** ../vim-7.3.248/src/misc1.c 2011-06-12 21:51:01.000000000 +0200 --- src/misc1.c 2011-07-15 14:06:44.000000000 +0200 *************** *** 7945,7952 **** * If we're at the end of a block, skip to the start of * that block. */ ! curwin->w_cursor.col = 0; ! if (*cin_skipcomment(l) == '}' && (trypos = find_start_brace(ind_maxcomment)) != NULL) /* XXX */ { --- 7945,7951 ---- * If we're at the end of a block, skip to the start of * that block. */ ! if (find_last_paren(l, '{', '}') && (trypos = find_start_brace(ind_maxcomment)) != NULL) /* XXX */ { *** ../vim-7.3.248/src/testdir/test3.in 2011-06-12 21:51:01.000000000 +0200 --- src/testdir/test3.in 2011-07-15 14:03:41.000000000 +0200 *************** *** 1452,1457 **** --- 1452,1487 ---- STARTTEST :set cino& + :set cino+=l1 + 2kdd=][ + ENDTEST + + void func(void) + { + int tab[] = + { + 1, 2, 3, + 4, 5, 6}; + + printf("Indent this line correctly!\n"); + + switch (foo) + { + case bar: + printf("bar"); + break; + case baz: { + printf("baz"); + break; + } + case quux: + printf("But don't break the indentation of this instruction\n"); + break; + } + } + + STARTTEST + :set cino& 2kdd=][ ENDTEST *** ../vim-7.3.248/src/testdir/test3.ok 2011-06-12 21:51:01.000000000 +0200 --- src/testdir/test3.ok 2011-07-15 14:03:41.000000000 +0200 *************** *** 1310,1315 **** --- 1310,1340 ---- void func(void) { + int tab[] = + { + 1, 2, 3, + 4, 5, 6}; + + printf("Indent this line correctly!\n"); + + switch (foo) + { + case bar: + printf("bar"); + break; + case baz: { + printf("baz"); + break; + } + case quux: + printf("But don't break the indentation of this instruction\n"); + break; + } + } + + + void func(void) + { cout << "a" << "b" << ") :" *** ../vim-7.3.248/src/version.c 2011-07-15 13:51:57.000000000 +0200 --- src/version.c 2011-07-15 14:12:05.000000000 +0200 *************** *** 711,712 **** --- 711,714 ---- { /* Add new patch number below this line */ + /**/ + 249, /**/ -- GALAHAD hurries to the door and pushes through it. As he leaves the room we CUT TO the reverse to show that he is now in a room full of bathing and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile enchantingly at him as he tries to keep walking without being diverted by the lovely sights assaulting his eyeballs. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///