summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rottmann <a.rottmann@gmx.at>2010-06-19 14:52:56 +0200
committerAndy Wingo <wingo@pobox.com>2010-06-19 14:52:56 +0200
commitc4a8200fa0f28ac9bab80ee6c2ab93fbd818c33f (patch)
tree8f57f8ee53652d159c813e5ebd7c24ef2484ffd3
parentb1e5445f778abb61832c70b884b1afe52bab75b6 (diff)
downloadguile-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.scm4
-rw-r--r--test-suite/tests/srfi-9.test2
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!))