Feature #15920 » env-no-freeze.patch
hash.c | ||
---|---|---|
return rb_hash_delete_if(env_to_hash());
|
||
}
|
||
/*
|
||
* call-seq:
|
||
* ENV.freeze -> raises TypeError
|
||
*
|
||
* Ruby does not allow ENV to be frozen, so calling ENV.freeze
|
||
* raises TypeError.
|
||
*/
|
||
static VALUE
|
||
env_freeze(VALUE self)
|
||
{
|
||
rb_raise(rb_eTypeError, "cannot freeze ENV");
|
||
return self; /* Not reached */
|
||
}
|
||
/*
|
||
* call-seq:
|
||
* ENV.shift -> Array or nil
|
||
... | ... | |
rb_define_singleton_method(envtbl, "filter", env_select, 0);
|
||
rb_define_singleton_method(envtbl, "filter!", env_select_bang, 0);
|
||
rb_define_singleton_method(envtbl, "shift", env_shift, 0);
|
||
rb_define_singleton_method(envtbl, "freeze", env_freeze, 0);
|
||
rb_define_singleton_method(envtbl, "invert", env_invert, 0);
|
||
rb_define_singleton_method(envtbl, "replace", env_replace, 1);
|
||
rb_define_singleton_method(envtbl, "update", env_update, 1);
|
test/ruby/test_env.rb | ||
---|---|---|
end
|
||
end
|
||
def test_frozen
|
||
assert_raise(TypeError) { ENV.freeze }
|
||
end
|
||
def test_frozen
|
||
ENV[PATH_ENV] = "/"
|
||
ENV.each do |k, v|
|
- « Previous
- 1
- 2
- Next »