me
/
guix
Archived
1
0
Fork 0

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
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
1 changed files with 7 additions and 5 deletions

View File

@ -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.