diff -r 58465a71c76a lexlib/StyleContext.h --- a/lexlib/StyleContext.h Wed Apr 24 16:33:36 2013 +1000 +++ b/lexlib/StyleContext.h Wed Apr 24 18:04:21 2013 +1000 @@ -76,7 +76,7 @@ // End of line? // Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) // or on LF alone (Unix). Avoid triggering two times on Dos/Win. - if (lineStartNext < styler.Length()) + if (currentLine < lineDocEnd) atLineEnd = static_cast(pos) >= (lineStartNext-1); else // Last line atLineEnd = static_cast(pos) >= lineStartNext; @@ -85,6 +85,7 @@ public: unsigned int currentPos; int currentLine; + int lineDocEnd; int lineStartNext; bool atLineStart; bool atLineEnd; @@ -112,6 +113,7 @@ lengthDocument = static_cast(styler.Length()); if (endPos == lengthDocument) endPos++; + lineDocEnd = styler.GetLine(lengthDocument); atLineStart = static_cast(styler.LineStart(currentLine)) == startPos; unsigned int pos = currentPos; ch = static_cast(styler.SafeGetCharAt(pos, 0));