1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00

macro-transformer recognizes compiled macros

* libguile/macros.c (macro-transformer): Recognize compiled as well as
  interpreted transformer procedures.
This commit is contained in:
Andy Wingo 2008-09-07 23:13:52 +02:00
parent 3633ff4e95
commit 6c289afe76

View file

@ -221,9 +221,15 @@ SCM_DEFINE (scm_macro_transformer, "macro-transformer", 1, 0, 0,
"Return the transformer of the macro @var{m}.")
#define FUNC_NAME s_scm_macro_transformer
{
SCM data;
SCM_VALIDATE_SMOB (1, m, macro);
return ((SCM_CLOSUREP (SCM_PACK (SCM_SMOB_DATA (m)))) ?
SCM_PACK(SCM_SMOB_DATA (m)) : SCM_BOOL_F);
data = SCM_PACK (SCM_SMOB_DATA (m));
if (SCM_CLOSUREP (data) || SCM_PROGRAM_P (data))
return data;
else
return SCM_BOOL_F;
}
#undef FUNC_NAME