diff --git a/lib/ace/tokenizer.js b/lib/ace/tokenizer.js index 3f21c475..8d161d74 100644 --- a/lib/ace/tokenizer.js +++ b/lib/ace/tokenizer.js @@ -141,15 +141,14 @@ var Tokenizer = function(rules, flag) { if (rule.next) { currentState = rule.next; state = this.rules[currentState]; + if (!state) { + window.console && console.error && console.error(currentState, "doesn't exist"); + currentState = "start"; + state = this.rules[currentState]; + } mapping = this.matchMappings[currentState]; lastIndex = re.lastIndex; - re = this.regExps[currentState]; - - if (re === undefined) { - throw new Error("You indicated a state of " + rule.next + " to go to, but it doesn't exist!"); - } - re.lastIndex = lastIndex; } break;