records: Use SRFI-11 instead of SRFI-71, for Guile 2.0 compatibility.

This fixes a failure of 'tests/packages.scm' introduced in
b88e38d4b5: 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.
This commit is contained in:
Ludovic Courtès 2023-06-06 09:06:59 +02:00
parent d62c6170ef
commit dc0c5d56ee
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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 @@ (define-syntax match-record-inner
(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.