From 2d8ad147aeb8db6a107efbb3f0fe621a53e04dad Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 16 Jul 2014 12:12:19 +1000 Subject: Bug [#1622]. Don't crash with SGML after a Mako comment. --- doc/ScintillaHistory.html | 4 ++++ lexers/LexHTML.cxx | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 9dfbe08f0..af074b880 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -481,6 +481,10 @@ "make clean".
  • + HTML lexer fixes a crash with SGML after a Mako comment. + Bug #1622. +
  • +
  • KiXtart lexer adds a block comment state. Feature #1053.
  • diff --git a/lexers/LexHTML.cxx b/lexers/LexHTML.cxx index d6b0b31bc..4bc4b765b 100644 --- a/lexers/LexHTML.cxx +++ b/lexers/LexHTML.cxx @@ -828,13 +828,15 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty else if (isMako && makoComment && (ch == '\r' || ch == '\n')) { makoComment = 0; styler.ColourTo(i, SCE_HP_COMMENTLINE); - state = SCE_HP_DEFAULT; } // Allow falling through to mako handling code if newline is going to end a block if (((ch == '\r' && chNext != '\n') || (ch == '\n')) && (!isMako || (0 != strcmp(makoBlockType, "%")))) { } + // Ignore everything in mako comment until the line ends + else if (isMako && makoComment) { + } // generic end of script processing else if ((inScriptType == eNonHtmlScript) && (ch == '<') && (chNext == '/')) { -- cgit v1.2.3