Hi Maxime, First, apologies for the embarrassingly-long silence…
Maxime Devos <maximede...@telenet.be> skribis: > This is a v2 of > https://lists.gnu.org/archive/html/guile-devel/2021-03/msg0026.html, > with a lot more tests, a few less functions and more consistent documentation. > ‘rename-file-at’ has been modified to support #f as one of the two directory > arguments, denoting the current working directory. > > Maxime Devos (14): > Allow file ports in ‘chdir’ when supported. > Allow file ports in ‘readlink’. > Allow file ports in ‘utime’. > Define ‘symlinkat’ wrapper when supported. > Define bindings to ‘mkdirat’ when the C function exists. > Correct documentation of ‘mkdir’ w.r.t. the umask. > Define AT_REMOVEDIR and others when available. > Define a Scheme binding to ‘renameat’ when it exists. > Define a Scheme binding to ‘fchmodat’ when it exists. > Define a Scheme binding to ‘unlinkat’ when it exists. > Define a Scheme binding to ‘fchownat’ when it exists. > Define a Scheme binding to ‘fstatat’ when available. > Define Scheme bindings to ‘openat’ when available. > Update NEWS. I applied the whole series locally, skimmed over the patches, ran the tests, and it all LGTM. I think the strategy to accept a string or a port where applicable (utime, readlink) makes sense and is consistent with existing interfaces; the new *at procedures look fine as well (there’s a naming scheme discrepancy with ‘rename-file-at’ and ‘delete-file-at’, but I think it’s fine: it’s just an evolution of the discrepancy that was already there with ‘delete-file’ and ‘rename-file’.) Copyright for Guile code is assigned to the FSF. I’d like to offer you to do the same if that’s an option for you (I’ll send you the details off-list.) This would add another delay, but hopefully a short one. Thank you! Ludo’.