From b083c1351f98206aa048d0dea83b83304a1adcc4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 7 Aug 2018 23:01:22 +0900 Subject: Fixed the corner case bug in `String#{gsub!,sub!}`. `"a".sub!("a", "a")` should not return `nil`. --- mrblib/string.rb | 4 ++-- 1 file 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 -- cgit v1.2.3