Re: ensure-directories aka create-directories
Lassi Kortela 31 Jul 2020 12:10 UTC
> This is mkdir(1) with the -p argument, officially a POSIX standard:
>
> https://pubs.opengroup.org/onlinepubs/9699919799/utilities/mkdir.html
Yes, basically the same thing.
> And I agree, it's a really useful thing. It would not be super
> expensive to add to srfi-170.html, and the Chibi Scheme sample
> implementation. The former has undergone enough changes (two APIs
> dropped) that I assume another draft will need to be published.
When people write their own ad hoc implementation of it, the following
are easy to get wrong:
- handling the situation where the given path (or its parents) exist but
are not directories.
- splitting the pathname correctly when looping through pathname
components to create the parents.
- giving into the temptation to use the shortcut:
(unless (exists? ...) (create ...))
instead of doing it right:
(guard (create ...) (... (if EEXIST-or-EISDIR ...))
We could consolidate all additions/changes to the next draft.