Improve error messages for invalid record definitions.
authorMark H Weaver <mhw@netris.org>
Fri, 9 Nov 2012 08:22:40 +0000 (03:22 -0500)
committerMark H Weaver <mhw@netris.org>
Sat, 10 Nov 2012 04:05:42 +0000 (23:05 -0500)
commitf31a0762328b9cffa328ce1540ceaa6f1497e083
tree2644cbfe0d38285b2d575bdfcdeb26b6af48c859
parentdfba1025e56245f55bdda85639e5b59682e7ad47
Improve error messages for invalid record definitions.

* module/srfi/srfi-9.scm (%define-record-type): Accept additional 'form'
  parameter which contains the original form of 'define-record-type' or
  'define-immutable-record-type'.  Add elaborate pattern guard which
  raises descriptive syntax errors for specific errors, and a fallback
  pattern to catch anything else.
  (define-record-type): Pass 'form' parameter to %define-record-type.

* module/srfi/srfi-9/gnu.scm (define-immutable-record-type): Pass 'form'
  parameter to %define-record-type.

* test-suite/tests/srfi-9.test: Add tests.
module/srfi/srfi-9.scm
module/srfi/srfi-9/gnu.scm
test-suite/tests/srfi-9.test