diff options
| author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-12 14:42:17 +0000 |
|---|---|---|
| committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-12 14:42:17 +0000 |
| commit | 526c499e7b1daa0825ccc858c24016b341cf3be4 (patch) | |
| tree | 3e42e54ffbf8df5338ccb1ddb90c8ef4fc3372e4 | |
| parent | 9b51dbcd497dc44b7050834ca3d14cfaff2d812d (diff) | |
| download | ruby-526c499e7b1daa0825ccc858c24016b341cf3be4.tar.gz ruby-526c499e7b1daa0825ccc858c24016b341cf3be4.tar.xz ruby-526c499e7b1daa0825ccc858c24016b341cf3be4.zip | |
* vm.c (collect_local_variables_in_env): remove unnecessary check
which causes: x=1;proc{local_variables}.call #=> []
* test/ruby/test_variable.rb: add a test for above.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | test/ruby/test_variable.rb | 7 | ||||
| -rw-r--r-- | vm.c | 3 |
3 files changed, 14 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Mon May 12 23:37:57 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * vm.c (collect_local_variables_in_env): remove unnecessary check + which causes: x=1;proc{local_variables}.call #=> [] + + * test/ruby/test_variable.rb: add a test for above. + Mon May 12 23:05:24 2008 NAKAMURA Usaku <usa@ruby-lang.org> * process.c, include/ruby/intern.h (rb_run_exec_options): externed. diff --git a/test/ruby/test_variable.rb b/test/ruby/test_variable.rb index 349cb05ae..601fc21c7 100644 --- a/test/ruby/test_variable.rb +++ b/test/ruby/test_variable.rb @@ -59,4 +59,11 @@ class TestVariable < Test::Unit::TestCase lvar = 1 assert_instance_of(Symbol, local_variables[0], "[ruby-dev:34008]") end + + def test_local_variables2 + x = 1 + proc do |y| + assert_equal([:x, :y], local_variables.sort) + end.call + end end @@ -280,9 +280,6 @@ static int collect_local_variables_in_env(rb_env_t *env, VALUE ary) { int i; - if (env->block.lfp == env->block.dfp) { - return 0; - } for (i = 0; i < env->block.iseq->local_table_size; i++) { ID lid = env->block.iseq->local_table[i]; if (lid) { |
