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.master
parent
d62c6170ef
commit
dc0c5d56ee
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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>
|
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -20,8 +20,8 @@
|
||||||
(define-module (guix records)
|
(define-module (guix records)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-9)
|
#:use-module (srfi srfi-9)
|
||||||
|
#:use-module (srfi srfi-11)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (srfi srfi-71)
|
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 rdelim)
|
#:use-module (ice-9 rdelim)
|
||||||
#:autoload (system base target) (target-most-positive-fixnum)
|
#: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 ()
|
(syntax-rules ()
|
||||||
((_ f)
|
((_ f)
|
||||||
(lookup-field+wrapper record field 0 f)))))
|
(lookup-field+wrapper record field 0 f)))))
|
||||||
(let* ((offset wrap (type (map-fields type match-record)
|
(let*-values (((offset wrap)
|
||||||
field-offset+wrapper))
|
(type (map-fields type match-record)
|
||||||
(variable (wrap (struct-ref record offset))))
|
field-offset+wrapper))
|
||||||
|
((variable)
|
||||||
|
(wrap (struct-ref record offset))))
|
||||||
(match-record-inner record type (rest ...) body ...))))
|
(match-record-inner record type (rest ...) body ...))))
|
||||||
((_ record type (field rest ...) body ...)
|
((_ record type (field rest ...) body ...)
|
||||||
;; Redirect to the canonical form above.
|
;; Redirect to the canonical form above.
|
||||||
|
|
Reference in New Issue