Reinier Olislagers schrieb:
> And while ~ is a relative path,

No, this is an absolute path (pointing to the home directory). It only needs expansion to give you this absolute path. It's just a placeholder for a certain absolute path (which can vary). One or two dots would be a relative path (meaning current and parent directory).


> the defining characteristic is that is a
> character that gets expanded by (at least) the shell, as Mattias pointed
> out in his other mail.

And it's not the only variable that can be expanded (by the shell). Environment variables may be used in paths too.


> Still, ExpandFileName DOES expand ~ to /home/whatever, and that is not
> mentioned in help:
> "ExpandFileName expands the filename to an absolute filename."

How can this be misunderstood? What else should be expanded if not placeholders and variables?



> I think the docs for ExpandFileName should be updated to indicate ~ gets
> expanded, e.g.:
> "ExpandFileName expands the filename to an absolute filename. On
> Unix/Linux systems, ExpandFileName will also expand the ~ (home
> directory) symbol."

But ~ is not the only placeholder that will be expanded. Relative paths would become absolute paths and environment variables will be replaced by their values too. And I think it's not restricted to Linus/Unix, it happens on Windows too. So if at all I would list all these possible expansions:

"ExpandFileName expands the filename to an absolute filename. Replaced would be
-) placeholders (like ~)
-) environment variables (like HOME)
-) relative path would completed to absolute paths
etc.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to