From c9c54aa96ca3251bd7926a5a850c85a5916dd1bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janosch=20M=C3=BCller?= Date: Sat, 10 Oct 2026 15:42:11 +0200 Subject: [PATCH] Escape input when building expand_class regexp fixes #1845 --- lib/rdoc/ri/driver.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rdoc/ri/driver.rb b/lib/rdoc/ri/driver.rb index 8a02f66585..584482a281 100644 --- a/lib/rdoc/ri/driver.rb +++ b/lib/rdoc/ri/driver.rb @@ -969,7 +969,7 @@ def check_did_you_mean # :nodoc: def expand_class(klass) class_names = classes.keys - ary = class_names.grep(Regexp.new("\\A#{klass.gsub(/(?=::|\z)/, '[^:]*')}\\z")) + ary = class_names.grep(%r{\A#{Regexp.escape(klass).gsub(/(?=::|\z)/, '[^:]*')}\z}) if ary.length != 1 && ary.first != klass if check_did_you_mean suggestion_proc = -> { DidYouMean::SpellChecker.new(dictionary: class_names).correct(klass) }