print compiled macros correctly

* libguile/macros.c (macro_print): Print macros whose code is a program
  as non-primitive. (Already, primitive-macro? would return #f.)
This commit is contained in:
Andy Wingo 2008-09-02 22:24:11 -07:00
commit 3633ff4e95

View file

@ -28,6 +28,7 @@
#include "libguile/deprecation.h"
#include "libguile/validate.h"
#include "libguile/programs.h"
#include "libguile/macros.h"
#include "libguile/private-options.h"
@ -44,7 +45,7 @@ macro_print (SCM macro, SCM port, scm_print_state *pstate)
|| scm_is_false (scm_printer_apply (SCM_PRINT_CLOSURE,
macro, port, pstate)))
{
if (!SCM_CLOSUREP (code))
if (!SCM_CLOSUREP (code) && !SCM_PROGRAM_P (code))
scm_puts ("#<primitive-", port);
else
scm_puts ("#<", port);