diff --git a/ChangeLog b/ChangeLog index 0c5a6b7210..81391e6da2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed May 2 11:46:13 2001 K.Kosako + + * eval.c (block_pass): should not downgrade safe level. + Tue May 1 17:55:58 2001 Yukihiro Matsumoto * parse.y (yylex): lex_state after RESCUE_MOD should be EXPR_BEG. @@ -24,7 +28,7 @@ Thu Apr 26 22:30:43 2001 Yukihiro Matsumoto Thu Apr 26 10:36:09 2001 Yukihiro Matsumoto - * eval.c (rb_thread_schedule): inifinite sleep should not cause + * eval.c (rb_thread_schedule): infinite sleep should not cause dead lock. Wed Apr 25 16:40:44 2001 Yukihiro Matsumoto @@ -33,7 +37,7 @@ Wed Apr 25 16:40:44 2001 Yukihiro Matsumoto Wed Apr 25 15:36:15 2001 K.Kosako - * eval.c (yield_under): need not to prohibit at safe leve 4. + * eval.c (yield_under): need not to prohibit at safe level 4. Tue Apr 24 16:03:25 2001 Hiroshi Igarashi diff --git a/eval.c b/eval.c index bffb9bddcd..9354264685 100644 --- a/eval.c +++ b/eval.c @@ -6428,6 +6428,8 @@ block_pass(self, node) state = EXEC_TAG(); if (state == 0) { proc_set_safe_level(block); + if (safe > ruby_safe_level) + ruby_safe_level = safe; result = rb_eval(self, node->nd_iter); } POP_TAG(); diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index b3873bff6e..b0446d1060 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -279,10 +279,10 @@ fdbm_shift(obj) key = dbm_firstkey(dbm); if (!key.dptr) return Qnil; val = dbm_fetch(dbm, key); - dbm_delete(dbm, key); - keystr = rb_tainted_str_new(key.dptr, key.dsize); valstr = rb_tainted_str_new(val.dptr, val.dsize); + dbm_delete(dbm, key); + return rb_assoc_new(keystr, valstr); } diff --git a/lib/pstore.rb b/lib/pstore.rb index c49a6052f7..d5334efda4 100644 --- a/lib/pstore.rb +++ b/lib/pstore.rb @@ -68,10 +68,12 @@ class PStore end def commit + in_transaction @abort = false throw :pstore_abort_transaction end def abort + in_transaction @abort = true throw :pstore_abort_transaction end diff --git a/version.h b/version.h index a2cbee3dfe..49b72f6cab 100644 --- a/version.h +++ b/version.h @@ -1,4 +1,4 @@ #define RUBY_VERSION "1.6.4" -#define RUBY_RELEASE_DATE "2001-05-01" +#define RUBY_RELEASE_DATE "2001-05-02" #define RUBY_VERSION_CODE 164 -#define RUBY_RELEASE_CODE 20010501 +#define RUBY_RELEASE_CODE 20010502