From: "jstanley0 (Jeremy Stanley)" Date: 2012-12-12T07:24:56+09:00 Subject: [ruby-core:50793] [ruby-trunk - Bug #7547][Open] Dir.mktmpdir('~something') tries to expand a profile directory Issue #7547 has been reported by jstanley0 (Jeremy Stanley). ---------------------------------------- Bug #7547: Dir.mktmpdir('~something') tries to expand a profile directory https://bugs.ruby-lang.org/issues/7547 Author: jstanley0 (Jeremy Stanley) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2] A change to Dir.mktmpdir sometime between 1.8.7 and 1.9.3 introduced a bug when the prefix starts with a tilde character ('~'). If you try to use the prefix "~something", then instead of creating a subdirectory under the temporary directory named (e.g.) '~something-12345' (which is what ruby 1.8.7 does), it will try to resolve the profile directory for the (hopefully nonexistent) user 'something-12345'. This is easy to reproduce in irb: neodymium:~ jeremy$ irb irb(main):001:0> require 'tmpdir' => true irb(main):002:0> Dir.mktmpdir('wut') => "/var/folders/9z/rqj62zxj60s3c12p2rdqm_3m0000gp/T/wut20121211-7622-1ff0o11" irb(main):003:0> Dir.mktmpdir('~wut') ArgumentError: user wut20121211-7622-1m76is9 doesn't exist from /Users/jeremy/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/tmpdir.rb:132:in `expand_path' from /Users/jeremy/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/tmpdir.rb:132:in `create' from /Users/jeremy/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/tmpdir.rb:80:in `mktmpdir' from (irb):3 from /Users/jeremy/.rbenv/versions/1.9.3-p327/bin/irb:12:in `
' irb(main):004:0> -- http://bugs.ruby-lang.org/