aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--lexers/LexProgress.cxx7
2 files changed, 10 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index b48700be2..a8bad7678 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -530,6 +530,10 @@
Lexer added for "indent" language which is styled as plain text but folded by indentation level.
</li>
<li>
+ The Progress ABL lexer handles nested comments where comment starts or ends
+ are adjacent like "/*/*" or "*/*/".
+ </li>
+ <li>
The VHDL folder folds an "entity" on the first line of the file.
</li>
<li>
diff --git a/lexers/LexProgress.cxx b/lexers/LexProgress.cxx
index 84956cd34..c82ca93ca 100644
--- a/lexers/LexProgress.cxx
+++ b/lexers/LexProgress.cxx
@@ -277,10 +277,15 @@ void SCI_METHOD LexerABL::Lex(Sci_PositionU startPos, Sci_Position length, int i
// commentNestingLevel is a non-visible state, used to identify the nesting level of a comment
if (checkCommentNestingLevel) {
- if (chPrev == '/' && ch == '*')
+ if (chPrev == '/' && ch == '*') {
commentNestingLevel++;
+ // eat the '/' so we don't miscount a */ if we see /*/*
+ --back;
+ }
if (chPrev == '*' && ch == '/') {
commentNestingLevel--;
+ // eat the '*' so we don't miscount a /* if we see */*/
+ --back;
}
}
--back;