Rebol Programming/rename

= USAGE: = RENAME old new

= DESCRIPTION: = Renames a file to a new name.

RENAME is a function value. = ARGUMENTS =
 * old -- path to the old file (Type: file url)
 * new -- new name (not a path) (Type: file url string)

= (SPECIAL ATTRIBUTES) =
 * catch

= SOURCE CODE = rename: func [ "Renames a file to a new name." [catch] old [file! url!] "path to the old file" new [file! url! string!] "new name (not a path)" /local p dir blk ][   dir: open first p: split-path clean-path old blk: copy dir either not none? blk: find blk second p [ throw-on-error [change skip dir ((index? blk) - 1) new] ] [       throw make error! reduce ['access 'no-rename old] ]    close dir ]