diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-01-27 15:44:44 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-01-27 15:44:44 +0000 |
commit | 1f77ea8214fe9cc02e53fcb59b2de0ea88a436d8 (patch) | |
tree | 390527adc578a887f56996cab54a1a4270196267 | |
parent | 3728b21d53bcd9309aff9494c0789367cab319e9 (diff) |
* parse.y (dyna_var_lookup): should not alter dvar->val not to
destroy living value. [ruby-core:10076]
* parse.y (dyna_init): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_5@11583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | parse.y | 6 | ||||
-rw-r--r-- | version.h | 8 |
4 files changed, 15 insertions, 7 deletions
@@ -1,3 +1,10 @@ +Sat Jan 27 15:20:11 2007 Yukihiro Matsumoto <matz@ruby-lang.org> + + * parse.y (dyna_var_lookup): should not alter dvar->val not to + destroy living value. [ruby-core:10076] + + * parse.y (dyna_init): ditto. + Wed Jan 24 18:05:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org> * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix @@ -5624,7 +5624,6 @@ method_missing(obj, id, argc, argv, call_status) MEMCPY(nargv+1, argv, VALUE, argc); MEMCPY(nargv+1+argc, RARRAY(tmp)->ptr, VALUE, RARRAY(tmp)->len); argc += RARRAY(tmp)->len; - } else { nargv = ALLOCA_N(VALUE, argc+1); @@ -5738,6 +5738,8 @@ top_local_setup() local_pop(); } +#define DVAR_USED FL_USER6 + static VALUE dyna_var_lookup(id) ID id; @@ -5746,7 +5748,7 @@ dyna_var_lookup(id) while (vars) { if (vars->id == id) { - vars->val = Qtrue; + FL_SET(vars, DVAR_USED); return Qtrue; } vars = vars->next; @@ -5788,7 +5790,7 @@ dyna_init(node, pre) if (!node || !post || pre == post) return node; for (var = 0; post != pre && post->id; post = post->next) { - if (RTEST(post->val)) { + if (FL_TEST(post, DVAR_USED)) { var = NEW_DASGN_CURR(post->id, var); } } @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.5" -#define RUBY_RELEASE_DATE "2007-01-24" +#define RUBY_RELEASE_DATE "2007-01-27" #define RUBY_VERSION_CODE 185 -#define RUBY_RELEASE_CODE 20070124 -#define RUBY_PATCHLEVEL 16 +#define RUBY_RELEASE_CODE 20070127 +#define RUBY_PATCHLEVEL 17 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 5 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 24 +#define RUBY_RELEASE_DAY 27 RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_release_date[]; |