Issue #9263 has been reported by vajrasky (Vajrasky Kok).

----------------------------------------
Feature #9263: When creating symlink (or link) and the destination exists already, the error message is ambiguous
https://bugs.ruby-lang.org/issues/9263

Author: vajrasky (Vajrasky Kok)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: current: 2.1.0


Assume file 'link_b' already exists.

irb(main):001:0> File.symlink('a.txt', 'link_b')
Errno::EEXIST: File exists @ sys_fail2 - (a.txt, link_b)
	from (irb):1:in `symlink'
	from (irb):1
	from /home/ethan/Documents/code/ruby/localruby/bin/irb:11:in `<main>'

We don't need both file information "(a.txt, link_b)". For EEXIST, it always refers to the destination file. So the error message should be:
Errno::EEXIST: File exists @ sys_fail2 - link_b
	from (irb):1:in `symlink'
	from (irb):1
	from /home/ethan/Documents/code/ruby/localruby/bin/irb:11:in `<main>'

I already created a patch for this. Tested on Linux. I haven't tested on Windows yet. If this is a go, then I'll test it on Windows later (Does Ruby 2.1 support symlink on Windows NT 6?).



-- 
http://bugs.ruby-lang.org/