summaryrefslogtreecommitdiffhomepage
path: root/mrblib/string.rb
diff options
context:
space:
mode:
authorksss <[email protected]>2017-03-05 22:57:56 +0900
committerksss <[email protected]>2017-03-05 23:04:22 +0900
commiteba4b1fd76ae22efc23341f028deb924fdc9401c (patch)
tree9ef7f5ed658a8f2971370b913be0a424bad63ced /mrblib/string.rb
parentd050694580e99bc5699da36640d8ce2b4e93c5d0 (diff)
downloadmruby-eba4b1fd76ae22efc23341f028deb924fdc9401c.tar.gz
mruby-eba4b1fd76ae22efc23341f028deb924fdc9401c.zip
Check modifiable for String `bang' methods
Diffstat (limited to 'mrblib/string.rb')
-rw-r--r--mrblib/string.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb
index aa2ca9973..b13cfd69a 100644
--- a/mrblib/string.rb
+++ b/mrblib/string.rb
@@ -78,6 +78,7 @@ class String
#
# ISO 15.2.10.5.19
def gsub!(*args, &block)
+ raise RuntimeError, "can't modify frozen String" if frozen?
str = self.gsub(*args, &block)
return nil if str == self
self.replace(str)
@@ -123,6 +124,7 @@ class String
#
# ISO 15.2.10.5.37
def sub!(*args, &block)
+ raise RuntimeError, "can't modify frozen String" if frozen?
str = self.sub(*args, &block)
return nil if str == self
self.replace(str)