aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorActiveState <unknown>2016-04-23 09:19:39 +1000
committerActiveState <unknown>2016-04-23 09:19:39 +1000
commit4a760c2f7d5263b030b1da845a4622244011e42d (patch)
tree1eabb6e3f07b5e946e89e3cf50c320aec4495985
parent219e641af24ed4e4383c0a11164e26f6a3333778 (diff)
downloadscintilla-mirror-4a760c2f7d5263b030b1da845a4622244011e42d.tar.gz
Fix a bug with multi-line strings with line continuation where the string style
overflowed after an edit.
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--lexers/LexCPP.cxx3
2 files changed, 7 insertions, 0 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index b31856873..4ad9fdf22 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -511,6 +511,10 @@
<a href="http://sourceforge.net/p/scintilla/feature-requests/1140/">Feature #1140.</a>
</li>
<li>
+ The C++ lexer fixes a bug with multi-line strings with line continuation where the string style
+ overflowed after an edit.
+ </li>
+ <li>
The Python lexer treats '@' as an operator except when it is the first visible character on a line.
This is for Python 3.5.
</li>
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx
index 76190002a..4261084d4 100644
--- a/lexers/LexCPP.cxx
+++ b/lexers/LexCPP.cxx
@@ -761,6 +761,9 @@ void SCI_METHOD LexerCPP::Lex(Sci_PositionU startPos, Sci_Position length, int i
lineCurrent++;
lineEndNext = styler.LineEnd(lineCurrent);
vlls.Add(lineCurrent, preproc);
+ if (rawStringTerminator != "") {
+ rawSTNew.Set(lineCurrent-1, rawStringTerminator);
+ }
sc.Forward();
if (sc.ch == '\r' && sc.chNext == '\n') {
// Even in UTF-8, \r and \n are separate