summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-08-07 23:01:22 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-08-07 23:03:17 +0900
commit35be8b252495d92ca811d76996f03c470ee33380 (patch)
tree8cc5e93c2236fbc6d1465e26c24be6e75067e2a1
parent54246db00aa9ae5a048d65f4263a3d14fd65d9d0 (diff)
downloadmruby-35be8b252495d92ca811d76996f03c470ee33380.tar.gz
mruby-35be8b252495d92ca811d76996f03c470ee33380.zip
Fixed the corner case bug in `String#{gsub!,sub!}`.
`"a".sub!("a", "a")` should not return `nil`.
-rw-r--r--mrblib/string.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb
index ee98cfa0c..07b80b340 100644
--- a/mrblib/string.rb
+++ b/mrblib/string.rb
@@ -99,7 +99,7 @@ class String
raise FrozenError, "can't modify frozen String" if frozen?
return to_enum(:gsub!, *args) if args.length == 1 && !block
str = self.gsub(*args, &block)
- return nil if str == self
+ return nil unless self.index(args[0])
self.replace(str)
end
@@ -161,7 +161,7 @@ class String
def sub!(*args, &block)
raise FrozenError, "can't modify frozen String" if frozen?
str = self.sub(*args, &block)
- return nil if str == self
+ return nil unless self.index(args[0])
self.replace(str)
end