From 46404ed78ae5c479558d0ff7f4147ba67c8fabb7 Mon Sep 17 00:00:00 2001 From: Jannick Date: Mon, 28 Aug 2017 17:00:46 +1000 Subject: Bug [#1966]. Default value of 0 for undefined preprocessor symbols. --- doc/ScintillaHistory.html | 6 ++++++ lexers/LexCPP.cxx | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 2cf412b22..a645bc066 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -513,6 +513,7 @@ Baldur Karlsson Martin Kleusberg + Jannick

@@ -532,6 +533,11 @@ Released 16 August 2017.

  • + The C++ lexer improved preprocessor conformance. + Default value of 0 for undefined preprocessor symbols. + Bug #1966. +
  • +
  • The SQL lexer uses sql.backslash.escapes for double quoted strings. Bug #1968.
  • diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index f28dba7aa..fbdbd77ca 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -1582,8 +1582,8 @@ void LexerCPP::EvaluateTokens(std::vector &tokens, const SymbolTabl tokens.insert(tokens.begin() + i, macroTokens.begin(), macroTokens.end()); } } else { - // Identifier not found - tokens.erase(tokens.begin() + i); + // Identifier not found and value defaults to zero + tokens[i] = "0"; } } else { i++; -- cgit v1.2.3