* lib/pstore.rb: should return default value if name is not found.

[ruby-core:7304]

* lib/pstore.rb: should raise PStore::Error if not in transaction.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ocean 2006-02-05 05:28:11 +00:00
parent 914e4d244f
commit c44118b8a0
2 changed files with 10 additions and 5 deletions

View file

@ -1,3 +1,10 @@
Sun Feb 5 14:22:15 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* lib/pstore.rb: should return default value if name is not found.
[ruby-core:7304]
* lib/pstore.rb: should raise PStore::Error if not in transaction.
Sat Feb 4 22:51:43 2006 Tanaka Akira <akr@m17n.org>
* eval.c: apply the FreeBSD getcontext/setcontext workaround
@ -13,9 +20,6 @@ Sat Feb 4 15:56:37 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where
sizeof(int) == 4 < sizeof(long). [ruby-core:7300]
I think the function name of rb_int2big is quite misleading.
This should be "rb_long2big".
Fri Feb 3 15:06:50 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* ext/syck/syck.c (syck_move_tokens): should reset p->cursor or etc

View file

@ -135,14 +135,15 @@ class PStore
# raise PStore::Error if called at any other time.
#
def fetch(name, default=PStore::Error)
in_transaction
unless @table.key? name
if default==PStore::Error
raise PStore::Error, format("undefined root name `%s'", name)
else
default
return default
end
end
self[name]
@table[name]
end
#
# Stores an individual Ruby object or a hierarchy of Ruby objects in the data