aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/guile/de-paul-records.scm7
-rw-r--r--tests/guile/de-paul-records-test.scm4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/guile/de-paul-records.scm b/src/guile/de-paul-records.scm
index 4b4e91b..5aa05f8 100644
--- a/src/guile/de-paul-records.scm
+++ b/src/guile/de-paul-records.scm
@@ -135,12 +135,11 @@
(#,(format-identifiers "~a-~a" record-name #'field-name)
#,record-base))))))
- ((field-name #:-> value-update-expr)
+ ((field-name #:-> value-update-expr value-update-expr-rest ...)
(identifier? #'field-name)
(syntax->field-init #'(field-name #:=> (lambda (field-name)
- value-update-expr))))))
-
-
+ value-update-expr
+ value-update-expr-rest ...))))))
(define-immutable-record-type <record-init> (make-record-init) record-init?
(inherit record-init-inherit record-init-set-inherit)
diff --git a/tests/guile/de-paul-records-test.scm b/tests/guile/de-paul-records-test.scm
index 95d1cb3..7bcc60d 100644
--- a/tests/guile/de-paul-records-test.scm
+++ b/tests/guile/de-paul-records-test.scm
@@ -80,7 +80,9 @@
'(begin
(define %paren-3001.1
(lisp #:<- %paren-3001
- (name #:-> (string-append name ".1"))
+ (name #:->
+ ((const 'test-noop))
+ (string-append name ".1"))
(is-syntactically-scoped? #t)))
(match `(a . ,%paren-3001.1)