aboutsummaryrefslogtreecommitdiff
path: root/guix/records.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-06-06 09:06:59 +0200
committerLudovic Courtès <ludo@gnu.org>2023-06-06 11:54:39 +0200
commitdc0c5d56ee04d8a2b57f316be7f95b9aca244ab5 (patch)
treebf1b2dbbd8f2436a165581edd152becbd243dcd5 /guix/records.scm
parentd62c6170efd82b361e08f4f52149709d1c7ae5e4 (diff)
downloadguix-dc0c5d56ee04d8a2b57f316be7f95b9aca244ab5.tar
guix-dc0c5d56ee04d8a2b57f316be7f95b9aca244ab5.tar.gz
records: Use SRFI-11 instead of SRFI-71, for Guile 2.0 compatibility.
This fixes a failure of 'tests/packages.scm' introduced in b88e38d4b51b9aa0e857baeb614c000e491ad309: some of the tests import (guix records) on the build side, which uses '%bootstrap-guile' (Guile 2.0) where SRFI-71 is unavailable. * guix/records.scm (match-record-inner): Use SRFI-11 instead of SRFI-71.
Diffstat (limited to 'guix/records.scm')
-rw-r--r--guix/records.scm12
1 files changed, 7 insertions, 5 deletions
diff --git a/guix/records.scm b/guix/records.scm
index 6c9f29eb3e..5af3e780a0 100644
--- a/guix/records.scm
+++ b/guix/records.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -20,8 +20,8 @@
(define-module (guix records)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
+ #:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
- #:use-module (srfi srfi-71)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:autoload (system base target) (target-most-positive-fixnum)
@@ -622,9 +622,11 @@ to thunked values. Raise a syntax violation when the field is not found."
(syntax-rules ()
((_ f)
(lookup-field+wrapper record field 0 f)))))
- (let* ((offset wrap (type (map-fields type match-record)
- field-offset+wrapper))
- (variable (wrap (struct-ref record offset))))
+ (let*-values (((offset wrap)
+ (type (map-fields type match-record)
+ field-offset+wrapper))
+ ((variable)
+ (wrap (struct-ref record offset))))
(match-record-inner record type (rest ...) body ...))))
((_ record type (field rest ...) body ...)
;; Redirect to the canonical form above.