From 45daee5101a2f2b87856868972ef8db0994a84a4 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Mon, 9 May 2011 09:54:03 +1000 Subject: Allow nested variables in make files. Bug #3298223. From Dimitar Zhekov. --- doc/ScintillaHistory.html | 1 + lexers/LexOthers.cxx | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index b961e30a3..08ecbc1fd 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -368,6 +368,7 @@ Dariusz KnociĊ„ski Ben Fisher + Dimitar Zhekov

diff --git a/lexers/LexOthers.cxx b/lexers/LexOthers.cxx index 2062b1b18..7d0f099bb 100644 --- a/lexers/LexOthers.cxx +++ b/lexers/LexOthers.cxx @@ -854,13 +854,17 @@ static void ColouriseMakeLine( styler.ColourTo(endPos, SCE_MAKE_PREPROCESSOR); return; } + int varCount = 0; while (i < lengthLine) { if (lineBuffer[i] == '$' && lineBuffer[i + 1] == '(') { styler.ColourTo(startLine + i - 1, state); state = SCE_MAKE_IDENTIFIER; + varCount++; } else if (state == SCE_MAKE_IDENTIFIER && lineBuffer[i] == ')') { - styler.ColourTo(startLine + i, state); - state = SCE_MAKE_DEFAULT; + if (--varCount == 0) { + styler.ColourTo(startLine + i, state); + state = SCE_MAKE_DEFAULT; + } } // skip identifier and target styling if this is a command line -- cgit v1.2.3