diff --git a/lib/ace/mode/text_highlight_rules.js b/lib/ace/mode/text_highlight_rules.js index 48e016b0..416e8182 100644 --- a/lib/ace/mode/text_highlight_rules.js +++ b/lib/ace/mode/text_highlight_rules.js @@ -108,15 +108,14 @@ var TextHighlightRules = function() { }; var pushState = function(currentState, stack) { - if (currentState != "start") + if (currentState != "start" || stack.length) stack.unshift(this.nextState, currentState); return this.nextState; }; var popState = function(currentState, stack) { - if (stack[0] !== currentState) - return "start"; + // if (stack[0] === currentState) stack.shift(); - return stack.shift(); + return stack.shift() || "start"; }; this.normalizeRules = function() {