updated for version 7.4.395
Problem: C indent is wrong below an if with wrapped condition followed by
curly braces. (Trevor Powell)
Solution: Make a copy of tryposBrace.
diff --git a/src/misc1.c b/src/misc1.c
index 2c28aae..6ae72cf 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -6995,6 +6995,7 @@
char_u *linecopy;
pos_T *trypos;
pos_T *tryposBrace = NULL;
+ pos_T tryposBraceCopy;
pos_T our_paren_pos;
char_u *start;
int start_brace;
@@ -7532,7 +7533,11 @@
/*
* We are inside braces, there is a { before this line at the position
* stored in tryposBrace.
+ * Make a copy of tryposBrace, it may point to pos_copy inside
+ * find_start_brace(), which may be changed somewhere.
*/
+ tryposBraceCopy = *tryposBrace;
+ tryposBrace = &tryposBraceCopy;
trypos = tryposBrace;
ourscope = trypos->lnum;
start = ml_get(ourscope);