Skip to content

Fix #132: Ansi test RENAME-FILE.1 fails

Raymond Toy requested to merge issue-132-ansi-test-rename-files into master

The test calls (rename-file #P"file-to-be-renamed.txt" #P"file-that-was-renamed.txt"). Note that #*default-pathname-defaults* is set to "/sandbox/".

Tracing unix:unix-rename shows that the file arg is "/sandbox/file-to-be-renamed.txt" in unix:unix-rename. But the new file is "./file-that-was-renamed.txt". That should be "/sandbox/file-that-was-renamed.txt".

This happens because rename-file sets the original file name to be (truename file) and then sets the new-name to (merge-pathnames new-name file), which won't set the directory component. We need to merge the new-name with the original (truename).

This fixes the rename-file.1, rename-file.2, rename-file.6, and rename-file.7 tests too.

Add 3 new tests to test the case of renaming directories, from a message to cmucl-imp on 2008/06/01.

Edited by Raymond Toy

Merge request reports