From 97a198673408d98686a4ec9c3457eef13088c981 Mon Sep 17 00:00:00 2001 From: Junichi Sato <22004610+sato11@users.noreply.github.com> Date: Wed, 7 Dec 2022 15:02:23 +0900 Subject: [PATCH 1/3] Use GITHUB_OUTPUT instead of deprecated set-output --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 98a7642..00610d3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: - id: versions run: | versions=$(curl -s 'https://cache.ruby-lang.org/pub/misc/ci_versions/all.json' | jq -c '. + ["2.5"]') - echo "::set-output name=value::${versions}" + echo "value=${versions}" >> $GITHUB_OUTPUT test: needs: ruby-versions name: build (${{ matrix.ruby }} / ${{ matrix.os }}) From 766f567405a362d0e018d8411df15ce8d70573a6 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 21 Dec 2022 14:07:54 +0900 Subject: [PATCH 2/3] The encoding argument of `Regexp.new` has been ignored since 1.9 --- lib/optparse.rb | 19 ++++++++++++++++--- test/optparse/test_optparse.rb | 3 +++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/optparse.rb b/lib/optparse.rb index dc2b8a0..b912646 100644 --- a/lib/optparse.rb +++ b/lib/optparse.rb @@ -2084,10 +2084,23 @@ def environment(env = File.basename($0, '.*')) f |= Regexp::IGNORECASE if /i/ =~ o f |= Regexp::MULTILINE if /m/ =~ o f |= Regexp::EXTENDED if /x/ =~ o - k = o.delete("imx") - k = nil if k.empty? + case o = o.delete("imx") + when "" + when "u" + s = s.encode(Encoding::UTF_8) + when "e" + s = s.encode(Encoding::EUC_JP) + when "s" + s = s.encode(Encoding::SJIS) + when "n" + f |= Regexp::NOENCODING + else + raise OptionParser::InvalidArgument, "unknown regexp option - #{o}" + end + else + s ||= all end - Regexp.new(s || all, f, k) + Regexp.new(s, f) end # diff --git a/test/optparse/test_optparse.rb b/test/optparse/test_optparse.rb index 5a0593d..bfa705a 100644 --- a/test/optparse/test_optparse.rb +++ b/test/optparse/test_optparse.rb @@ -63,6 +63,9 @@ def test_regexp assert_equal(/foo/i, @reopt) assert_equal(%w"", no_error {@opt.parse!(%w"--regexp=/foo/n")}) assert_equal(/foo/n, @reopt) + assert_equal(%w"", no_error {@opt.parse!(%W"--regexp=/\u{3042}/s")}) + assert_equal(Encoding::Windows_31J, @reopt.encoding) + assert_equal("\x82\xa0".force_encoding(Encoding::Windows_31J), @reopt.source) end def test_into From 2a1e157ae134b07b8412182502755ec4eb3af499 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Thu, 22 Dec 2022 17:47:34 +0900 Subject: [PATCH 3/3] Bump version to 0.3.1 --- lib/optparse.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/optparse.rb b/lib/optparse.rb index b912646..53a4387 100644 --- a/lib/optparse.rb +++ b/lib/optparse.rb @@ -425,7 +425,7 @@ # If you have any questions, file a ticket at http://bugs.ruby-lang.org. # class OptionParser - OptionParser::Version = "0.3.0" + OptionParser::Version = "0.3.1" # :stopdoc: NoArgument = [NO_ARGUMENT = :NONE, nil].freeze