From 04d17ae1678846c4857cd86cf3eaf47d60c04c85 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 6 Aug 2014 17:44:14 +0200 Subject: 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. --- src/misc1.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/misc1.c') diff --git a/src/misc1.c b/src/misc1.c index 2c28aae84..6ae72cfbb 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -6995,6 +6995,7 @@ get_c_indent() 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 @@ get_c_indent() /* * 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); -- cgit v1.2.1