thread the module through syntax-case's expansion
authorAndy Wingo <wingo@pobox.com>
Mon, 30 Mar 2009 00:15:25 +0000 (17:15 -0700)
committerAndy Wingo <wingo@pobox.com>
Fri, 17 Apr 2009 13:20:16 +0000 (15:20 +0200)
commit4e237f1460c06c8e13dd2db4a2c690342a532664
tree8b7f4b321b03c2e476354978eb2ddb6e3e43b375
parente02e84deedacc2209e05b935742cb8268f5f0f9a
thread the module through syntax-case's expansion

* libguile/debug.h:
* libguile/debug.c (scm_procedure_module): New procedure, returns the
  module that was current when the given procedure was defined. Used by
  syncase to scope free identifiers.

* module/ice-9/psyntax-pp.scm: Recompiled.

* module/ice-9/psyntax.scm: Thread the module through the syntax
  expansion. This is harder than it would appear because in many places
  the different components of syntax objects are destructured.

* module/ice-9/syncase.scm (guile-macro): Adapt to new signature for
  syntax transformer functions.
libguile/debug.c
libguile/debug.h
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/ice-9/syncase.scm