mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.0.0092
Problem: C indenting does not support nested namespaces that C++ 17 has. Solution: Add check that passes double colon inside a name. (Pauli, closes #1214)
This commit is contained in:
parent
9f0e423c28
commit
ca8b8d6956
@ -5762,6 +5762,7 @@ cin_is_cpp_namespace(char_u *s)
|
||||
{
|
||||
char_u *p;
|
||||
int has_name = FALSE;
|
||||
int has_name_start = FALSE;
|
||||
|
||||
s = cin_skipcomment(s);
|
||||
if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9])))
|
||||
@ -5780,10 +5781,18 @@ cin_is_cpp_namespace(char_u *s)
|
||||
}
|
||||
else if (vim_iswordc(*p))
|
||||
{
|
||||
has_name_start = TRUE;
|
||||
if (has_name)
|
||||
return FALSE; /* word character after skipping past name */
|
||||
++p;
|
||||
}
|
||||
else if (p[0] == ':' && p[1] == ':' && vim_iswordc(p[2]))
|
||||
{
|
||||
if (!has_name_start || has_name)
|
||||
return FALSE;
|
||||
/* C++ 17 nested namespace */
|
||||
p += 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
|
@ -1932,6 +1932,26 @@ namespace test
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test::cpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace ::incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test::incorrectcpp17::
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test:incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test:::incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace{
|
||||
111111111111111111;
|
||||
}
|
||||
|
@ -1730,6 +1730,26 @@ namespace test
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test::cpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace ::incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test::incorrectcpp17::
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test:incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace test:::incorrectcpp17
|
||||
{
|
||||
111111111111111111;
|
||||
}
|
||||
namespace{
|
||||
111111111111111111;
|
||||
}
|
||||
|
@ -764,6 +764,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
92,
|
||||
/**/
|
||||
91,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user