[前][次][番号順一覧][スレッド一覧]

ruby-changes:74281

From: Nobuyoshi <ko1@a...>
Date: Fri, 28 Oct 2022 18:36:42 +0900 (JST)
Subject: [ruby-changes:74281] 4021c6565f (master): [ruby/irb] Do not make non-existent XDG directory on start

https://git.ruby-lang.org/ruby.git/commit/?id=4021c6565f

From 4021c6565f9655bfd667152f76f22f7cc81c7e17 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 31 Mar 2022 12:51:04 +0900
Subject: [ruby/irb] Do not make non-existent XDG directory on start
 (https://github.com/ruby/irb/pull/357)

https://github.com/ruby/irb/commit/298b134792
---
 lib/irb/init.rb       | 6 ++----
 test/irb/test_init.rb | 3 +++
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/irb/init.rb b/lib/irb/init.rb
index 11d10c5bab..5409528fae 100644
--- a/lib/irb/init.rb
+++ b/lib/irb/init.rb
@@ -379,11 +379,9 @@ module IRB # :nodoc: https://github.com/ruby/ruby/blob/trunk/lib/irb/init.rb#L379
     end
     if xdg_config_home = ENV["XDG_CONFIG_HOME"]
       irb_home = File.join(xdg_config_home, "irb")
-      unless File.exist? irb_home
-        require 'fileutils'
-        FileUtils.mkdir_p irb_home
+      if File.directory?(irb_home)
+        yield proc{|rc| irb_home + "/irb#{rc}"}
       end
-      yield proc{|rc| irb_home + "/irb#{rc}"}
     end
     if home = ENV["HOME"]
       yield proc{|rc| home+"/.irb#{rc}"}
diff --git a/test/irb/test_init.rb b/test/irb/test_init.rb
index 074aae4070..39c5cfa8a0 100644
--- a/test/irb/test_init.rb
+++ b/test/irb/test_init.rb
@@ -36,13 +36,16 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_init.rb#L36
     def test_rc_file
       tmpdir = @tmpdir
       Dir.chdir(tmpdir) do
+        ENV["XDG_CONFIG_HOME"] = "#{tmpdir}/xdg"
         IRB.conf[:RC_NAME_GENERATOR] = nil
         assert_equal(tmpdir+"/.irb#{IRB::IRBRC_EXT}", IRB.rc_file)
         assert_equal(tmpdir+"/.irb_history", IRB.rc_file("_history"))
+        assert_file.not_exist?(tmpdir+"/xdg")
         IRB.conf[:RC_NAME_GENERATOR] = nil
         FileUtils.touch(tmpdir+"/.irb#{IRB::IRBRC_EXT}")
         assert_equal(tmpdir+"/.irb#{IRB::IRBRC_EXT}", IRB.rc_file)
         assert_equal(tmpdir+"/.irb_history", IRB.rc_file("_history"))
+        assert_file.not_exist?(tmpdir+"/xdg")
       end
     end
 
-- 
cgit v1.2.3


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]