diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-04-10 05:48:43 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-04-10 05:48:43 +0000 |
commit | 7194267b3bdf68ad75bd6bee8e7c6377f7b0ea2f (patch) | |
tree | 6dcd08ef584fc777cf34517136d5ce3948840e45 /parse.y | |
parent | be72d9a5da9be284d2bdb8047e50f14e014b7835 (diff) | |
download | ruby-7194267b3bdf68ad75bd6bee8e7c6377f7b0ea2f.tar.gz |
2000-04-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -2573,9 +2573,9 @@ here_document(term, indent) switch (parse_string(term, '\n', '\n')) { case tSTRING: case tXSTRING: - rb_str_cat(yylval.val, "\n", 1); + rb_str_cat2(yylval.val, "\n"); if (!list) { - rb_str_cat(str, RSTRING(yylval.val)->ptr, RSTRING(yylval.val)->len); + rb_str_append(str, yylval.val); } else { list_append(list, NEW_STR(yylval.val)); @@ -3167,11 +3167,8 @@ yylex() lex_state = EXPR_BEG; } else { - if (lex_state == EXPR_ARG) { - if (space_seen) { - arg_ambiguous(); - c = tLPAREN; - } + if (lex_state == EXPR_ARG && space_seen) { + rb_warning("%s (...) interpreted as function", tok()); } lex_state = EXPR_BEG; } @@ -3549,6 +3546,10 @@ str_extend(list, term) case '@': tokadd(c); c = nextc(); + if (c == '@') { + tokadd(c); + c = nextc(); + } while (is_identchar(c)) { tokadd(c); if (ismbchar(c)) { |