diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-24 03:55:01 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-24 03:55:01 +0000 |
commit | 6bab1e5abd81d57fe1046a7acc7f699ab6ee3190 (patch) | |
tree | 8de61871089ded9ff953b23091362286b9cabe55 /parse.y | |
parent | abf6499961c0cf0dd7a20323e915f9c82fcf8b4f (diff) |
dyna_var,regex,line cotinuation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@90 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -1564,6 +1564,14 @@ nextc() VALUE v = io_gets(lex_input); if (NIL_P(v)) return -1; + while (RSTRING(v)->ptr[RSTRING(v)->len-1] == '\n' && + RSTRING(v)->ptr[RSTRING(v)->len-2] == '\\') { + VALUE v2 = io_gets(lex_input); + + if (!NIL_P(v2)) { + str_cat(v, RSTRING(v2)->ptr, RSTRING(v2)->len); + } + } lex_pbeg = lex_p = RSTRING(v)->ptr; lex_pend = lex_p + RSTRING(v)->len; if (RSTRING(v)->len == 8 && @@ -3312,7 +3320,9 @@ assignable(id, val) lhs = NEW_LASGN(id, val); } else{ - dyna_var_asgn(id, TRUE); + if (!dyna_var_defined(id)) { + dyna_var_asgn(id, TRUE); + } lhs = NEW_DASGN(id, val); } } |