summaryrefslogtreecommitdiffhomepage
path: root/mrblib
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-08-07 23:01:22 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-08-25 09:17:46 +0900
commitb083c1351f98206aa048d0dea83b83304a1adcc4 (patch)
tree8fbbc679b3702f796dba81f59e59e1ef96cf8975 /mrblib
parent821135e2df838a2088ffca501403c08b21d9a8cf (diff)
downloadmruby-b083c1351f98206aa048d0dea83b83304a1adcc4.tar.gz
mruby-b083c1351f98206aa048d0dea83b83304a1adcc4.zip
Fixed the corner case bug in `String#{gsub!,sub!}`.
`"a".sub!("a", "a")` should not return `nil`.
Diffstat (limited to 'mrblib')
-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