Better fix for #286
authorMihai Bazon <mihai@bazon.net>
Mon, 2 Sep 2013 08:36:48 +0000 (11:36 +0300)
committerMihai Bazon <mihai@bazon.net>
Mon, 2 Sep 2013 08:36:48 +0000 (11:36 +0300)
lib/parse.js

index 8801b50..abd4d7b 100644 (file)
@@ -257,7 +257,7 @@ function tokenizer($TEXT, filename) {
     var prev_was_dot = false;
     function token(type, value, is_comment) {
         S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX(value)) ||
-                           (!prev_was_dot && type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) ||
+                           (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION(value)) ||
                            (type == "punc" && PUNC_BEFORE_EXPRESSION(value)));
         prev_was_dot = (type == "punc" && value == ".");
         var ret = {
@@ -493,6 +493,7 @@ function tokenizer($TEXT, filename) {
 
     function read_word() {
         var word = read_name();
+        if (prev_was_dot) return token("name", word);
         return KEYWORDS_ATOM(word) ? token("atom", word)
             : !KEYWORDS(word) ? token("name", word)
             : OPERATORS(word) ? token("operator", word)