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
commit4d40afd50873c6e87c12ca6ccf119d2d47d07d0a (patch)
treeed290425a50a27e46f4796e3886241d7bf39a89f
parentf09460007f0851013a8b35fba8f3283ff1c6e977 (diff)
downloadscintilla-mirror-4d40afd50873c6e87c12ca6ccf119d2d47d07d0a.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 ")) {