Subject: bug#46258: openat, chownat, ... in Guile?

From: Maxime Devos <[email-masked]>
Date: Tue, 02 Feb 2021 15:45:31 +0100

Hi guilers,

I would like to see fchownat, openat, fchmodat
and any *at variants I forgot to appear in future versions
of Guile in some form.  I have two proposals, which I will
illustrate with the procedure 'chmod':

* chmod can currently modify permissions of a file.
  This OBJECT argument identifying the file can currently
  be a filename or a port.  Allow a ‘file in a directory’
  object as well.  This could be created with a procedure

  (make-path-at DIRECTORY-PORT FILENAME)

  This procedure does not perform any I/O, but rather
  constructs what is effectively is a pair (DIRECTORY-PORT
  . FILENAME) but with its own type.

* Follow the C API, but with Scheme types.

  (chmodat DIRECTORY-PORT FILENAME MODE FLAGS)

  where FLAGS can include AT_SYMLINK_NOFOLLOW (from chmod(2)
  Linux man page)

Any thoughts?

Greetings,
Maxime

P.S. I'm not subscribed to [email-masked], please CC me.