summaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-04-10 05:48:43 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-04-10 05:48:43 +0000
commit620b13d8777086b3b4da0e0a07e93b83ea38b66d (patch)
tree6dcd08ef584fc777cf34517136d5ce3948840e45 /parse.y
parent0453f53db62f1321492288d1c904aade9bb0fa3e (diff)
downloadruby-620b13d8777086b3b4da0e0a07e93b83ea38b66d.tar.gz
ruby-620b13d8777086b3b4da0e0a07e93b83ea38b66d.tar.xz
ruby-620b13d8777086b3b4da0e0a07e93b83ea38b66d.zip
2000-04-10
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y15
1 files changed, 8 insertions, 7 deletions
diff --git a/parse.y b/parse.y
index 63cb9f0f2..73494fc3e 100644
--- a/parse.y
+++ b/parse.y
@@ -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)) {