To: vim_dev@googlegroups.com
Subject: Patch 7.4.893
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.4.893
Problem: C indenting is wrong below a "case (foo):" because it is
recognized as a C++ base class construct. Issue #38.
Solution: Check for the case keyword.
Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
*** ../vim-7.4.892/src/misc1.c 2015-10-07 11:41:43.154141198 +0200
--- src/misc1.c 2015-10-13 16:03:35.727021051 +0200
***************
*** 6555,6561 ****
pos->lnum = lnum;
line = ml_get(lnum);
! s = cin_skipcomment(line);
for (;;)
{
if (*s == NUL)
--- 6555,6561 ----
pos->lnum = lnum;
line = ml_get(lnum);
! s = line;
for (;;)
{
if (*s == NUL)
***************
*** 6564,6569 ****
--- 6564,6576 ----
break;
/* Continue in the cursor line. */
line = ml_get(++lnum);
+ s = line;
+ }
+ if (s == line)
+ {
+ /* don't recognize "case (foo):" as a baseclass */
+ if (cin_iscase(s, FALSE))
+ break;
s = cin_skipcomment(line);
if (*s == NUL)
continue;
*** ../vim-7.4.892/src/testdir/test3.in 2015-10-07 11:41:43.158141156 +0200
--- src/testdir/test3.in 2015-10-13 16:06:13.781358279 +0200
***************
*** 932,937 ****
--- 932,964 ----
a = 1;
}
+ void func()
+ {
+ switch (foo)
+ {
+ case (bar):
+ if (baz())
+ quux();
+ break;
+ case (shmoo):
+ if (!bar)
+ {
+ }
+ case (foo1):
+ switch (bar)
+ {
+ case baz:
+ baz_f();
+ break;
+ }
+ break;
+ default:
+ baz();
+ baz();
+ break;
+ }
+ }
+
/* end of AUTO */
STARTTEST
*** ../vim-7.4.892/src/testdir/test3.ok 2015-10-07 11:41:43.158141156 +0200
--- src/testdir/test3.ok 2015-10-13 16:05:58.869515164 +0200
***************
*** 920,925 ****
--- 920,952 ----
a = 1;
}
+ void func()
+ {
+ switch (foo)
+ {
+ case (bar):
+ if (baz())
+ quux();
+ break;
+ case (shmoo):
+ if (!bar)
+ {
+ }
+ case (foo1):
+ switch (bar)
+ {
+ case baz:
+ baz_f();
+ break;
+ }
+ break;
+ default:
+ baz();
+ baz();
+ break;
+ }
+ }
+
/* end of AUTO */
*** ../vim-7.4.892/src/version.c 2015-10-13 13:49:04.068168461 +0200
--- src/version.c 2015-10-13 16:11:50.681813418 +0200
***************
*** 743,744 ****
--- 743,746 ----
{ /* Add new patch number below this line */
+ /**/
+ 893,
/**/
--
My sister Cecilia opened a computer store in Hawaii.
She sells C shells by the seashore.
/// 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 ///