summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-05 05:28:11 +0000
committerocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-05 05:28:11 +0000
commit4f4ea9db28aa51fcb578e1fcaac06bea07b3def7 (patch)
tree6bbcd5e080f42788b941f0f0b58a6a5aec5fbcbb
parent1d2a56a60aa9b82a1b0ff8d6378cb854bbc5f174 (diff)
* 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/trunk@9887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--lib/pstore.rb5
2 files changed, 10 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d0353d316..df5b4cfb38 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Feb 5 14:26:54 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:52:56 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".
-
Sat Feb 4 15:02:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* oniguruma.h: merge Oniguruma 4.0.0 [ruby-dev:28290]
diff --git a/lib/pstore.rb b/lib/pstore.rb
index a691ce611e..46123bf0a7 100644
--- a/lib/pstore.rb
+++ b/lib/pstore.rb
@@ -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