1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-22 19:44:10 +02:00

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.
This commit is contained in:
Andy Wingo 2010-06-06 13:39:44 +02:00
parent 9846796b6a
commit f42d8bd8ff
4 changed files with 5259 additions and 5505 deletions

View file

@ -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;
}