From bbb088234395efda23540d30ab5d1cb40f220d82 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 12 Dec 2017 18:41:18 +0900 Subject: Modifying frozen objects will raise `FrozenError`. `FrozenError` is a subclass of `RuntimeError` which used to be raised. [Ruby2.5] --- mrbgems/mruby-string-ext/mrblib/string.rb | 6 +++--- mrbgems/mruby-struct/src/struct.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'mrbgems') diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb index cb36d9a48..0da84daed 100644 --- a/mrbgems/mruby-string-ext/mrblib/string.rb +++ b/mrbgems/mruby-string-ext/mrblib/string.rb @@ -95,7 +95,7 @@ class String # "hello".lstrip! #=> nil # def lstrip! - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? s = self.lstrip (s == self) ? nil : self.replace(s) end @@ -125,7 +125,7 @@ class String # nil if str was not altered. # def strip! - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? s = self.strip (s == self) ? nil : self.replace(s) end @@ -199,7 +199,7 @@ class String # string #=> "thsa sting" # def slice!(arg1, arg2=nil) - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? raise "wrong number of arguments (for 1..2)" if arg1.nil? && arg2.nil? if !arg1.nil? && !arg2.nil? diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 8de4b6c52..adeb09bc1 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -89,7 +89,7 @@ static void mrb_struct_modify(mrb_state *mrb, mrb_value strct) { if (MRB_FROZEN_P(mrb_basic_ptr(strct))) { - mrb_raise(mrb, E_RUNTIME_ERROR, "can't modify frozen struct"); + mrb_raise(mrb, E_FROZEN_ERROR, "can't modify frozen struct"); } mrb_write_barrier(mrb, mrb_basic_ptr(strct)); -- cgit v1.2.3