From 66c424de2763ae365ff8dcf02575f75aefa718b9 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Mon, 12 May 2025 12:37:14 +0200 Subject: [PATCH] Load `cgi/escape` instead of `cgi/util` `cgi/util` will warn on Ruby 3.5. `cgi/escape` is available since Ruby 2.4, but to use CGI.unescape* methods on Ruby 3.4 and earlier, `cgi/util` must still be required. There's only one place in rdoc that uses such a method, so only one place needs to handle earlier rubies. https://bugs.ruby-lang.org/issues/21258 --- lib/rdoc/code_object/context/section.rb | 2 +- lib/rdoc/code_object/method_attr.rb | 2 +- lib/rdoc/markup/to_html.rb | 4 +++- lib/rdoc/markup/to_label.rb | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/rdoc/code_object/context/section.rb b/lib/rdoc/code_object/context/section.rb index 5180182334..ff4d5a60d8 100644 --- a/lib/rdoc/code_object/context/section.rb +++ b/lib/rdoc/code_object/context/section.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require 'cgi/util' +require 'cgi/escape' ## # A section of documentation like: diff --git a/lib/rdoc/code_object/method_attr.rb b/lib/rdoc/code_object/method_attr.rb index 995a867b1b..3dd60719d0 100644 --- a/lib/rdoc/code_object/method_attr.rb +++ b/lib/rdoc/code_object/method_attr.rb @@ -282,7 +282,7 @@ def block_params=(value) # HTML id-friendly method/attribute name def html_name - require 'cgi/util' + require 'cgi/escape' CGI.escape(@name.gsub('-', '-2D')).gsub('%', '-').sub(/^-/, '') end diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb index 59ec698306..d7de9a3ff8 100644 --- a/lib/rdoc/markup/to_html.rb +++ b/lib/rdoc/markup/to_html.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true -require 'cgi/util' +require 'cgi/escape' +# For CGI.unescape on earlier rubies +require 'cgi/util' if RUBY_VERSION < '3.5' ## # Outputs RDoc markup as HTML. diff --git a/lib/rdoc/markup/to_label.rb b/lib/rdoc/markup/to_label.rb index d7dc3d9336..3982d22083 100644 --- a/lib/rdoc/markup/to_label.rb +++ b/lib/rdoc/markup/to_label.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require 'cgi/util' +require 'cgi/escape' ## # Creates HTML-safe labels suitable for use in id attributes. Tidylinks are