diff --git a/ChangeLog b/ChangeLog index 3780d3dac5..d9e8e44d17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 7 00:38:49 2006 Yukihiro Matsumoto + + * hash.c (rb_hash_default): should not call default procedure if + no key is given. [ruby-list:42541] + Fri Jul 7 00:29:10 2006 Yukihiro Matsumoto * time.c (time_mload): a patch from Daniel Berger diff --git a/hash.c b/hash.c index eec6a71e54..dc804ebd34 100644 --- a/hash.c +++ b/hash.c @@ -508,6 +508,7 @@ rb_hash_default(argc, argv, hash) rb_scan_args(argc, argv, "01", &key); if (FL_TEST(hash, HASH_PROC_DEFAULT)) { + if (argc == 0) return Qnil; return rb_funcall(RHASH(hash)->ifnone, id_call, 2, hash, key); } return RHASH(hash)->ifnone;