User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:functions:ensure-directories-exist [2019/07/14 17:00]
cl:functions:ensure-directories-exist [2019/09/18 01:00] (current)
Line 1: Line 1:
 +====== Function ENSURE-DIRECTORIES-EXIST ======
 +
 +====Syntax====
 +  * **ensure-directories-exist** //pathspec ''&​key''​ verbose// → //pathspec, created//
 +
 +====Arguments and Values====
 +  * //​pathspec//​ - a //​[[CL:​Glossary:​pathname designator]]//​.
 +  * //verbose// - a //​[[CL:​Glossary:​generalized boolean]]//​.
 +  * //created// - a //​[[CL:​Glossary:​generalized boolean]]//​.
 +
 +====Description====
 +Tests whether the directories containing the specified //​[[CL:​Glossary:​file]]//​ actually exist, and attempts to create them if they do not.
 +
 +If the containing directories do not exist and if //verbose// is //​[[CL:​Glossary:​true]]//,​ then the //​[[CL:​Glossary:​implementation]]//​ is permitted (but not required) to perform output to //​[[CL:​Glossary:​standard output]]// saying what directories were created. If the containing directories exist, or if //verbose// is //​[[CL:​Glossary:​false]]//,​ this function performs no output.
 +
 +The //​[[CL:​Glossary:​primary value]]// is the given //​[[CL:​Glossary:​pathspec]]//​ so that this operation can be straightforwardly composed with other file manipulation expressions. The //​[[CL:​Glossary:​secondary value]]//, //​created//,​ is //​[[CL:​Glossary:​true]]//​ if any directories were created.
 +
 +====Examples====
 +None.
 +
 +====Affected By====
 +The host computer'​s file system.
 +
 +====Exceptional Situations====
 +An error of type **[[CL:​Types:​file-error]]** is signaled if the host, device, or directory part of //​pathspec//​ is //​[[CL:​Glossary:​wild]]//​.
 +
 +If the directory creation attempt is not successful, an error of type **[[CL:​Types:​file-error]]** is signaled; if this occurs, it might be the case that none, some, or all of the requested creations have actually occurred within the //​[[CL:​Glossary:​file system]]//.
 +
 +====See Also====
 +**[[CL:​Functions:​probe-file|Function PROBE-FILE]]**,​ **[[CL:​Functions:​open|Function OPEN]]**, {\secref\PathnamesAsFilenames}
 +
 +====Notes====
 +None.
 +
 +\issue{FILE-OPEN-ERROR:​SIGNAL-FILE-ERROR} \issue{FILE-OPEN-ERROR:​SIGNAL-FILE-ERROR} \issue{FILE-OPEN-ERROR:​SIGNAL-FILE-ERROR}