rename-file-raw
differs from cl:rename-file in
that it mimics the UNIX mv/Windows MOVE method of
resolving relative pathnames when renaming files. If
new-name is a relative pathname, it is merged
with *default-pathname-defaults* to get the actual
new name. cl:rename-file
merges new-name with
filespec. The difference can be seen with the
following example:

;; *default-pathname-defaults* is an absolute pathname and
;; both directories /usr/home/user1/tmp/ and
;; /usr/home/user1/tmp/tmp/ exist.
*default-pathname-defaults*
-> #p"/usr/home/user1/"
(probe-file "tmp/foo.cl") -> #p"/usr/home/user1/tmp/foo.cl"
(probe-file "tmp/tmp/") -> #p"/usr/home/user1/tmp/tmp/"
;; Only one of the following four forms may be evaluated,
;; since after evaluation the file specified by
;; the first argument will not exist.
;; Only the first value returned is shown.
(rename-file "tmp/foo.cl" "tmp/baz.cl")
-> #p"/usr/home/user1/tmp/tmp/baz.cl"
(rename-file-raw "tmp/foo.cl" "tmp/baz.cl")
-> #p"/usr/home/user1/tmp/baz.cl"
(rename-file "tmp/foo.cl" "baz.cl")
-> #p"/usr/home/user1/tmp/baz.cl"
(rename-file-raw "tmp/foo.cl" "baz.cl")
-> #p"/usr/home/user1/baz.cl"