aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <nyamatongwe@gmail.com>2013-07-03 15:54:16 -0700
committernyamatongwe <nyamatongwe@gmail.com>2013-07-03 15:54:16 -0700
commit733a46d5a158087132cb714774179363702b09ee (patch)
treea2a9e6e963f98315d37cbc464a028c6580d63555
parent230caa47b56acc1dc078403395a1e59b21a162e5 (diff)
downloadscintilla-mirror-733a46d5a158087132cb714774179363702b09ee.tar.gz
Trigger SCE_ERR_PERL only when "at" and "line" are far enough apart
to fit a file name as it was being triggered for MSVC errors containing "at line".
-rw-r--r--lexers/LexOthers.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/lexers/LexOthers.cxx b/lexers/LexOthers.cxx
index a1a2e3054..8015af1c9 100644
--- a/lexers/LexOthers.cxx
+++ b/lexers/LexOthers.cxx
@@ -922,8 +922,9 @@ static int RecogniseErrorListLine(const char *lineBuffer, unsigned int lengthLin
(strstr(lineBuffer, " at ") < (lineBuffer + lengthLine)) &&
strstr(lineBuffer, " line ") &&
(strstr(lineBuffer, " line ") < (lineBuffer + lengthLine)) &&
- (strstr(lineBuffer, " at ") < (strstr(lineBuffer, " line ")))) {
- // perl error message
+ (strstr(lineBuffer, " at ") + 4 < (strstr(lineBuffer, " line ")))) {
+ // perl error message:
+ // <message> at <file> line <line>
return SCE_ERR_PERL;
} else if ((memcmp(lineBuffer, " at ", 6) == 0) &&
strstr(lineBuffer, ":line ")) {