diff options
-rw-r--r-- | src/guile/de-paul-records.scm | 7 | ||||
-rw-r--r-- | tests/guile/de-paul-records-test.scm | 4 |
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) |