summaryrefslogtreecommitdiff
path: root/libguile/macros.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-06-06 13:39:44 +0200
committerAndy Wingo <wingo@pobox.com>2010-06-06 13:39:44 +0200
commitf42d8bd8ff8dbdbdfd9584d281a449ab0de74c2f (patch)
tree1a4139322e29df137f2fc7a1eccf3bf44ac06099 /libguile/macros.c
parent9846796b6abb6ecbce0d596db32daa7ac5921a2a (diff)
downloadguile-f42d8bd8ff8dbdbdfd9584d281a449ab0de74c2f.tar.gz
simplify macro representation in the wake of module hygiene changes
* module/ice-9/psyntax.scm (chi-install-global, chi-macro) (eval-local-transformer): Now that we handle module hygiene through syntax objects, there is no more need to record the current module when installing syntax transformers. * module/ice-9/psyntax-pp.scm: Regenerated (trickily). * libguile/_scm.h: Bump objcode version for macro representation change. * libguile/macros.c (scm_macro_transformer): Adapt to change in macro representation.
Diffstat (limited to 'libguile/macros.c')
-rw-r--r--libguile/macros.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libguile/macros.c b/libguile/macros.c
index b3fea9391..aa6b9cd1c 100644
--- a/libguile/macros.c
+++ b/libguile/macros.c
@@ -157,9 +157,8 @@ SCM_DEFINE (scm_macro_transformer, "macro-transformer", 1, 0, 0,
/* here we rely on knowledge of how psyntax represents macro bindings, but
hey, there is code out there that calls this function, and expects to get
a procedure in return... */
- if (scm_is_pair (SCM_MACRO_BINDING (m))
- && scm_is_true (scm_procedure_p (scm_car (SCM_MACRO_BINDING (m)))))
- return scm_car (SCM_MACRO_BINDING (m));
+ if (scm_is_true (scm_procedure_p (SCM_MACRO_BINDING (m))))
+ return SCM_MACRO_BINDING (m);
else
return SCM_BOOL_F;
}