This module groups some extensions to library system that have been found convenient, but which are still in development, their interface has not been fixed, etc.
Call G (cutting solutions, i.e., as once/1) and show warning messages if something went wrong (failure and exceptions).
Call G and ignore if something went wrong (failure and exceptions).
Delete D if it is an empty directory.
D is an empty directory
Save a backup copy of file FileName
If To does not exist, or its contents are different from From, delete To and rename From to To. NewOrOld is unified with new or old depending on whether the new or the old file is preserved.
Perms is a term providing valid permissions (“modes”) for User, Group, and Others. These are all valid_mode/1s. Defined as follows:
perms_term(perms(U,G,O)) :- valid_mode(U), valid_mode(G), valid_mode(O).
Perms is a term providing modes for User, Group, and Others.
Mode is an atom that provides a valid set of file permissions (a valid “mode”). Defined as follows:
valid_mode(”). valid_mode('X'). valid_mode(x). valid_mode(w). valid_mode(wX). valid_mode(wx). valid_mode(r). valid_mode(rX). valid_mode(rx). valid_mode(rw). valid_mode(rwX). valid_mode(rwx).
Mode is a file permissions mode.
Set file permissions, but treat regular files as directories w.r.t. 'X' flag
Creates the directories necessary to access the given Path (which can be absolute or relative).
Equivalent to mkpath_mode(Path,0o777,_).
Remove the temporary directory Path (recursively) created with mktempdir_in_tmp/2. As a safety check, this predicate throws an exception if the CREATED_WITH_MKTEMPDIR file is not in Path.
Create a relocatable symlink (computing relative paths) (e.g., /a/b/c (symlink) -> /a/d/e becomes /a/b/c (symlink) -> ../d/e
Create a symlink from From to To. On platforms where symlinks are not supported (Windows) the file is copied instead. The file To is removed if it existed before.
C is a path to B relative to A (using .. if needed) (e.g., /a/b/c -> /a/d/e becomes /a/b/c -> ../../d/e. Assume both are absolute, otherwise just return B.
The standard input is an interactive terminal.