1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

2000-01-24

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2000-01-24 03:46:14 +00:00
parent 2d2bbb9677
commit 1af83e4997
10 changed files with 141 additions and 69 deletions

15
eval.c
View file

@ -556,14 +556,27 @@ dvar_asgn(id, value, push)
struct RVarmap *vars = ruby_dyna_vars;
while (vars) {
if (push && vars->id == 0) break;
if (push && vars->id == 0) {
rb_dvar_push(id, value);
return;
}
if (vars->id == id) {
vars->val = value;
return;
}
vars = vars->next;
}
vars = 0;
if (ruby_dyna_vars && ruby_dyna_vars->id == 0) {
vars = ruby_dyna_vars;
ruby_dyna_vars = ruby_dyna_vars->next;
}
rb_dvar_push(id, value);
if (vars) {
vars->next = ruby_dyna_vars;
ruby_dyna_vars = vars;
}
}
void