diff options
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -3300,10 +3300,14 @@ yylex() rb_warn("invalid character syntax; use ?\\%c", c); } } + ternary: pushback(c); lex_state = EXPR_BEG; return '?'; } + if ((ISALNUM(c) || c == '_') && lex_p < lex_pend && is_identchar(*lex_p)) { + goto ternary; + } else if (c == '\\') { c = read_escape(); } |