Don't mix definitions and expressions in SRFI-9
authorAndreas Rottmann <a.rottmann@gmx.at>
Wed, 9 Mar 2011 20:36:54 +0000 (21:36 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 9 Mar 2011 20:36:54 +0000 (21:36 +0100)
commit531c9f1dc51c4801c4d031ee80a31f15285a6b85
tree04ec2bc4a3be0bb154494353e2806f0d4b861227
parentc428e58681fbd006d253bda51b3543110b317b8d
Don't mix definitions and expressions in SRFI-9

The expansion of `define-inlinable' contained an expression, which made
SRFI-9's `define-record-type' fail in non-toplevel contexts ("definition
used in expression context").

* module/srfi/srfi-9.scm (define-inlinable): Get rid of apparently
  useless expression in the expansion, so the expansion yields only
  definitions.  At the same time, use a space in the generated names to
  lessen the chances of name conflicts, also avoiding -Wunused-toplevel
  warnings.
* test-suite/tests/srfi-9.test (non-toplevel): New test verifying that
  `define-record-type' works in non-toplevel context as well.
* doc/ref/srfi-modules.texi (SRFI-9 - define-record-type): Add
  subsubsection noting that Guile does not enforce top-levelness.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
doc/ref/srfi-modules.texi
module/srfi/srfi-9.scm
test-suite/tests/srfi-9.test