summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-06-18 07:47:15 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-06-18 07:47:15 +0000
commit992923053cfb51dc04c6a7ee07ca6fff1b61d1a5 (patch)
tree2b2857adc35295dcd45c57c338c440ec16f99eff /parse.y
parent16487ee284f17cfbf6fad9f6b2fedc57f0f37e0a (diff)
1.1b9_26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y7
1 files changed, 5 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index d71273f612..1ba5da4375 100644
--- a/parse.y
+++ b/parse.y
@@ -3379,8 +3379,8 @@ gettable(id)
return NEW_LIT(INT2FIX(sourceline));
}
else if (is_local_id(id)) {
- if (local_id(id)) return NEW_LVAR(id);
if (dyna_var_defined(id)) return NEW_DVAR(id);
+ if (local_id(id)) return NEW_LVAR(id);
/* method call without arguments */
return NEW_VCALL(id);
}
@@ -3429,8 +3429,11 @@ assignable(id, val)
else{
if (!dyna_var_defined(id)) {
dyna_var_asgn(id, 0);
+ lhs = NEW_DASGN_PUSH(id, val);
+ }
+ else {
+ lhs = NEW_DASGN(id, val);
}
- lhs = NEW_DASGN(id, val);
}
}
else if (is_global_id(id)) {