diff options
author | Neil <nyamatongwe@gmail.com> | 2018-03-05 16:20:30 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2018-03-05 16:20:30 +1100 |
commit | 1645601aa99664c9fecb98a1a46aacfb660a936b (patch) | |
tree | c16c91e76d11c3e1f5633b0a351055dc056c1376 | |
parent | dcb8510be29dd09b2ffd6e4a0e7e792ac56ce5e5 (diff) | |
download | scintilla-mirror-1645601aa99664c9fecb98a1a46aacfb660a936b.tar.gz |
Backport: Bug [#1999]. Fix hang lexing a Lua label where the range ends before "::".
Backport of changeset 6473:daf991b38f03.
-rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
-rw-r--r-- | lexlib/StyleContext.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index c52d96878..92a525eeb 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -592,6 +592,10 @@ Fix move-extends-selection mode for rectangular and line selections. </li> <li> + Fix hang in Lua lexer when lexing a label upto the terminating "::". + <a href="http://sourceforge.net/p/scintilla/bugs/1999/">Bug #1999</a>. + </li> + <li> Fix HTML lexer handling of Django so that nesting a {{ }} or {% %} Django tag inside of a {# #} Django comment does not break highlighting of rest of file </li> diff --git a/lexlib/StyleContext.h b/lexlib/StyleContext.h index b9f42cf1a..cdb3aa91f 100644 --- a/lexlib/StyleContext.h +++ b/lexlib/StyleContext.h @@ -131,7 +131,12 @@ public: void ForwardBytes(Sci_Position nb) { const Sci_PositionU forwardPos = currentPos + nb; while (forwardPos > currentPos) { + const Sci_PositionU currentPosStart = currentPos; Forward(); + if (currentPos == currentPosStart) { + // Reached end + return; + } } } void ChangeState(int state_) { |