diff options
| author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-28 16:11:12 +0000 |
|---|---|---|
| committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-28 16:11:12 +0000 |
| commit | dbddc90b892f32d2862ae386134e422be9c0eee4 (patch) | |
| tree | 2e4c378f2efd8da7e85d9f29dc25684b3b7b09ef | |
| parent | 9e049095d0c7ba806bfa6d33397e78cc4b40bc18 (diff) | |
merges r24659 from trunk into ruby_1_9_1.
--
* vm.c (collect_local_variables_in_env): skips internal variables.
[ruby-core:25125]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | bootstraptest/test_eval.rb | 11 | ||||
| -rw-r--r-- | version.h | 2 | ||||
| -rw-r--r-- | vm.c | 2 |
4 files changed, 17 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Wed Aug 26 12:36:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm.c (collect_local_variables_in_env): skips internal variables. + [ruby-core:25125] + Mon Aug 24 16:35:57 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * st.c (st_delete_safe): deals with packed entries. diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb index 6dc23468cb..452ce43107 100644 --- a/bootstraptest/test_eval.rb +++ b/bootstraptest/test_eval.rb @@ -297,5 +297,14 @@ assert_equal "(eval):1:in `block in <main>': ", %q{ rescue => e e.message end -}, ' [ruby-dev:35392]' +}, '[ruby-dev:35392]' +assert_equal "[:x]", %q{ + def kaboom! + yield.eval("local_variables") + end + + for x in enum_for(:kaboom!) + binding + end +}, '[ruby-core:25125]' @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.1" -#define RUBY_PATCHLEVEL 303 +#define RUBY_PATCHLEVEL 304 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 @@ -363,7 +363,7 @@ collect_local_variables_in_env(rb_env_t * const env, const VALUE ary) int i; for (i = 0; i < env->block.iseq->local_table_size; i++) { ID lid = env->block.iseq->local_table[i]; - if (lid) { + if (rb_is_local_id(lid)) { rb_ary_push(ary, ID2SYM(lid)); } } |
