diff options
| author | Jerome LAFORGE <jerome.laforge@gmail.com> | 2012-09-15 11:04:35 +0200 | 
|---|---|---|
| committer | Jerome LAFORGE <jerome.laforge@gmail.com> | 2012-09-15 11:04:35 +0200 | 
| commit | 429cf7737b4dd196ca82010ae4df77106ed9573d (patch) | |
| tree | 43372565f9ad581f80cf6d8efe6d4a42f39250c7 /lexers/LexSQL.cxx | |
| parent | e131a540ead0500de45695d9793d3cc7edf2ecac (diff) | |
| download | scintilla-mirror-429cf7737b4dd196ca82010ae4df77106ed9573d.tar.gz | |
Fix bad folding block when LOOP statement nested into CASE statement.
Bug #3567905.
Diffstat (limited to 'lexers/LexSQL.cxx')
| -rw-r--r-- | lexers/LexSQL.cxx | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/lexers/LexSQL.cxx b/lexers/LexSQL.cxx index d9013db9b..ccb88f8dc 100644 --- a/lexers/LexSQL.cxx +++ b/lexers/LexSQL.cxx @@ -719,8 +719,10 @@ void SCI_METHOD LexerSQL::Fold(unsigned int startPos, int length, int initStyle,  							levelNext--; //again for the "end case;" and block when  					}  				} else if (!options.foldOnlyBegin) { -					if (strcmp(s, "case") == 0) +					if (strcmp(s, "case") == 0) {  						sqlStatesCurrentLine = sqlStates.BeginCaseBlock(sqlStatesCurrentLine); +						sqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, true); +					}  					if (levelCurrent > levelNext)  						levelCurrent = levelNext; @@ -728,7 +730,6 @@ void SCI_METHOD LexerSQL::Fold(unsigned int startPos, int length, int initStyle,  					if (!statementFound)  						levelNext++; -					sqlStatesCurrentLine = sqlStates.CaseMergeWithoutWhenFound(sqlStatesCurrentLine, true);  					statementFound = true;  				} else if (levelCurrent > levelNext) {  					// doesn't include this line into the folding block | 
