From 1704cbdcc2167baca4bacd2cc75a431746c8205b Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 24 Nov 2013 16:10:40 +0400 Subject: [PATCH] check for valid start state in tokenizer --- lib/ace/tokenizer.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ace/tokenizer.js b/lib/ace/tokenizer.js index 5a9aaad4..1866881a 100644 --- a/lib/ace/tokenizer.js +++ b/lib/ace/tokenizer.js @@ -95,7 +95,7 @@ var Tokenizer = function(rules) { if (matchcount > 1) { if (/\\\d/.test(rule.regex)) { // Replace any backreferences and offset appropriately. - adjustedregex = rule.regex.replace(/\\([0-9]+)/g, function (match, digit) { + adjustedregex = rule.regex.replace(/\\([0-9]+)/g, function(match, digit) { return "\\" + (parseInt(digit, 10) + matchTotal + 1); }); } else { @@ -222,6 +222,10 @@ var Tokenizer = function(rules) { var currentState = startState || "start"; var state = this.states[currentState]; + if (!state) { + currentState = "start"; + state = this.states[currentState]; + } var mapping = this.matchMappings[currentState]; var re = this.regExps[currentState]; re.lastIndex = 0;