From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.devel Subject: [PATCH v2 00/14] Bindings to *at functions Date: Tue, 16 Nov 2021 11:06:23 +0000 Message-ID: <20211116110637.125579-1-maximedevos@telenet.be> References: <175c3a6572e832d84927937b309a3095cadf5702.camel@telenet.be> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16255"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Maxime Devos To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Tue Nov 16 12:14:04 2021 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mmwPc-00041X-0r for guile-devel@m.gmane-mx.org; Tue, 16 Nov 2021 12:14:04 +0100 Original-Received: from localhost ([::1]:42950 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mmwPa-0003ts-Lv for guile-devel@m.gmane-mx.org; Tue, 16 Nov 2021 06:14:02 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmwOp-0003sa-Ms for guile-devel@gnu.org; Tue, 16 Nov 2021 06:13:15 -0500 Original-Received: from [2a02:1800:120:4::f00:d] (port=51628 helo=newton.telenet-ops.be) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmwOl-0005z6-Qa for guile-devel@gnu.org; Tue, 16 Nov 2021 06:13:15 -0500 Original-Received: from baptiste.telenet-ops.be (baptiste.telenet-ops.be [IPv6:2a02:1800:120:4::f00:13]) by newton.telenet-ops.be (Postfix) with ESMTPS id 4Htjtb0jHtzMvs79 for ; Tue, 16 Nov 2021 12:06:47 +0100 (CET) Original-Received: from localhost.localdomain ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by baptiste.telenet-ops.be with bizsmtp id Jz6j2600Q4UW6Th01z6kGk; Tue, 16 Nov 2021 12:06:44 +0100 X-Mailer: git-send-email 2.30.2 In-Reply-To: <175c3a6572e832d84927937b309a3095cadf5702.camel@telenet.be> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1637060804; bh=bY4R+TEiobfb3v8AGp2C/LY2WnWpNu1f9kKfJ8oj7os=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=eSJHr+vYL5OmVd7jpY25jNHUiFhEedDInsAgIE9BtkgbL4pIzleRiRnT94ibIVmNF LsHkpsOIBqcN21ut72ms5b/pf8Of5OfFLasNyFVpw3mc6aPTZs+dyzRBI4ozsPgt2U HzG/4W6vZs+lZnqW6g9tv8XC/JFB9tSTx51jXuvmegJhO553JFIfIrxRnupRJBuvBt CCcIVebSjhJ111IF0AilxAHdRS80BX4NLImH1s4ubHsGF/WtQ5u0fV6EhcbcnIMChC Sn8OyBC+8ktfG+aw3IIdhpmsyaWu8GUQ+Aj4N58PM68if7oed3DHlCXn3elLU8qBx+ bxe5JE9mPcTbQ== X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a02:1800:120:4::f00:d (failed) Received-SPF: pass client-ip=2a02:1800:120:4::f00:d; envelope-from=maximedevos@telenet.be; helo=newton.telenet-ops.be X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:20937 Archived-At: 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. NEWS | 12 + configure.ac | 9 +- doc/ref/guile.texi | 3 +- doc/ref/posix.texi | 97 +++++- libguile/filesys.c | 395 +++++++++++++++++++++++-- libguile/filesys.h | 9 + libguile/posix.c | 34 ++- libguile/posix.h | 2 +- libguile/syscalls.h | 2 + test-suite/tests/filesys.test | 536 ++++++++++++++++++++++++++++++++++ test-suite/tests/posix.test | 71 ++++- 11 files changed, 1120 insertions(+), 50 deletions(-) base-commit: 6f1b620b829bc0a1852a43e9cb843fd719954a0f -- 2.30.2