summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/pathname.rb6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ab58372e9b..8e499ec3e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun May 15 14:35:46 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory
+ was failed. [ruby-core:4992]
+
Sun May 15 09:57:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (unixtime_to_filetime): deal with DST.
diff --git a/lib/pathname.rb b/lib/pathname.rb
index 19630415c1..bac540230f 100644
--- a/lib/pathname.rb
+++ b/lib/pathname.rb
@@ -860,10 +860,10 @@ class Pathname # * mixed *
# Removes a file or directory, using <tt>File.unlink</tt> or
# <tt>Dir.unlink</tt> as necessary.
def unlink()
- if FileTest.directory? @path
- Dir.unlink @path
- else
+ begin
File.unlink @path
+ rescue Errno::EISDIR
+ Dir.unlink @path
end
end
alias delete unlink