1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 01:00:20 +02:00

More robust low-level frame printer

* libguile/frames.c (scm_i_frame_print): Print using
  frame-procedure-name, not frame-procedure.
This commit is contained in:
Andy Wingo 2015-11-27 12:31:16 +01:00
parent 029af6f68a
commit 9a8c2995ae

View file

@ -43,9 +43,17 @@ scm_i_frame_print (SCM frame, SCM port, scm_print_state *pstate)
{
scm_puts_unlocked ("#<frame ", port);
scm_uintprint (SCM_UNPACK (frame), 16, port);
scm_putc_unlocked (' ', port);
scm_write (scm_frame_procedure (frame), port);
/* don't write args, they can get us into trouble. */
if (scm_module_system_booted_p)
{
SCM name = scm_frame_procedure_name (frame);
if (scm_is_true (name))
{
scm_putc_unlocked (' ', port);
scm_write (name, port);
}
}
/* Don't write args, they can be ridiculously long. */
scm_puts_unlocked (">", port);
}