True when RelPath is Path, relative to the file RelToFile. Path
and RelTo are first handed to absolute_file_name/2,
which makes the absolute and canonical. Below are two examples:
Path = '../../nice'.
?- relative_file_name(Path, '/home/janw/deep/dir/file', '../../nice').
Path = '/home/janw/nice'.
Add a terminating
/ to get a path relative to a directory,
?- relative_file_name('/home/janw/deep/dir/file', './', Path).
Path = 'deep/dir/file'.
|All ||paths must be in canonical POSIX
notation, i.e., using / to separate segments in the path. See
- It would probably have been cleaner to use a directory as second
argument. We can not do such dynamically as this predicate is defined as
a syntactical operation, which implies it may be used for
non-existing paths and URLs.