--- a/Filename.st Thu Jul 22 19:39:23 2010 +0200
+++ b/Filename.st Thu Jul 22 20:03:16 2010 +0200
@@ -2773,22 +2773,14 @@
(Notice, that a rename is tried first, in case of non-cross device move)"
[self renameTo:newName]
- on:(OperatingSystem errorSignal)
+ on:(OSErrorHolder inappropriateReferentSignal)
do:[:ex |
- |sig|
-
- sig := ex signal.
- sig == OperatingSystem fileNotFoundErrorSignal ifTrue:[
- ex reject
- ].
- sig == OperatingSystem accessDeniedErrorSignal ifTrue:[
- ex reject
- ].
-
+ "handle renames accross device boundaries (Unix. cross device link)"
self isDirectory ifTrue:[
self recursiveMoveDirectoryTo:newName.
] ifFalse:[
- self moveFileTo:newName.
+ self copyTo:newName.
+ self remove.
].
].
@@ -3145,7 +3137,9 @@
self exists ifFalse:[
^ self fileNotFoundError:self
].
- ((OperatingSystem errorHolderForNumber:errno) parameter:newName asFilename) reportError.
+ (OperatingSystem errorHolderForNumber:errno)
+ parameter:newName asFilename;
+ reportError.
].
"
@@ -5784,11 +5778,11 @@
!Filename class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.353 2010-07-22 17:39:23 mb Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.354 2010-07-22 18:03:16 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.353 2010-07-22 17:39:23 mb Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Filename.st,v 1.354 2010-07-22 18:03:16 stefan Exp $'
! !
Filename initialize!