From ced84459c7dd731470edba244101e5578ef8bfe9 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 12 May 2015 12:11:46 +1000 Subject: Bug [#1719]. Fix #undef directive. --- doc/ScintillaHistory.html | 4 ++++ lexers/LexCPP.cxx | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index f59fe69fd..f8c5349f6 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -498,6 +498,10 @@ Bug #1711.
  • + C++ lexer fixes #undef directive. + Bug #1719. +
  • +
  • Verilog folder folds interface definitions.
  • diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index 33e7a5608..1d9e40d17 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -1245,11 +1245,10 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle, } } else if (sc.Match("undef")) { if (options.updatePreprocessor && !preproc.IsInactive()) { - std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 5, true); + const std::string restOfLine = GetRestOfLine(styler, sc.currentPos + 5, false); std::vector tokens = Tokenize(restOfLine); - std::string key; if (tokens.size() >= 1) { - key = tokens[0]; + const std::string key = tokens[0]; preprocessorDefinitions.erase(key); ppDefineHistory.push_back(PPDefinition(lineCurrent, key, "", true)); definitionsChanged = true; -- cgit v1.2.3