diff options
author | Andreas Rottmann <a.rottmann@gmx.at> | 2010-06-19 14:52:56 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-06-19 14:52:56 +0200 |
commit | c4a8200fa0f28ac9bab80ee6c2ab93fbd818c33f (patch) | |
tree | 8f57f8ee53652d159c813e5ebd7c24ef2484ffd3 | |
parent | b1e5445f778abb61832c70b884b1afe52bab75b6 (diff) | |
download | guile-c4a8200fa0f28ac9bab80ee6c2ab93fbd818c33f.tar.gz |
Fix SRFI-9 for records without fields
* module/srfi/srfi-9.scm (define-record-type): Deal with fieldless records.
* test-suite/tests/srfi-9.test: Add a fieldless record definition.
-rw-r--r-- | module/srfi/srfi-9.scm | 4 | ||||
-rw-r--r-- | test-suite/tests/srfi-9.test | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/module/srfi/srfi-9.scm b/module/srfi/srfi-9.scm index 39f4e34e5..80c3b60e8 100644 --- a/module/srfi/srfi-9.scm +++ b/module/srfi/srfi-9.scm @@ -95,6 +95,8 @@ (lambda (x) (define (field-identifiers field-specs) (syntax-case field-specs () + (() + '()) ((field-spec) (syntax-case #'field-spec () ((name accessor) #'(name)) @@ -138,6 +140,8 @@ (define (accessors type-name field-specs indices) (syntax-case field-specs () + (() + #'()) ((field-spec) (syntax-case #'field-spec () ((name accessor) diff --git a/test-suite/tests/srfi-9.test b/test-suite/tests/srfi-9.test index a645ddc09..cf933a894 100644 --- a/test-suite/tests/srfi-9.test +++ b/test-suite/tests/srfi-9.test @@ -23,6 +23,8 @@ #:use-module (srfi srfi-9)) +(define-record-type :qux (make-qux) qux?) + (define-record-type :foo (make-foo x) foo? (x get-x) (y get-y set-y!)) |