From 4d40afd50873c6e87c12ca6ccf119d2d47d07d0a Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 3 Jul 2013 15:54:16 -0700 Subject: 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". --- lexers/LexOthers.cxx | 5 +++-- 1 file 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: + // at line return SCE_ERR_PERL; } else if ((memcmp(lineBuffer, " at ", 6) == 0) && strstr(lineBuffer, ":line ")) { -- cgit v1.2.3