[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 10/41: More robust low-level frame printer
From: |
Andy Wingo |
Subject: |
[Guile-commits] 10/41: More robust low-level frame printer |
Date: |
Wed, 02 Dec 2015 08:06:48 +0000 |
wingo pushed a commit to branch master
in repository guile.
commit 9a8c2995aefcbc39381215f18e2733c6943060e9
Author: Andy Wingo <address@hidden>
Date: Fri Nov 27 12:31:16 2015 +0100
More robust low-level frame printer
* libguile/frames.c (scm_i_frame_print): Print using
frame-procedure-name, not frame-procedure.
---
libguile/frames.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/libguile/frames.c b/libguile/frames.c
index 7432f8d..7492adf 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -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);
}
- [Guile-commits] branch master updated (13edcf5 -> 2468871), Andy Wingo, 2015/12/02
- [Guile-commits] 03/41: Remove br-if-equal opcode, Andy Wingo, 2015/12/02
- [Guile-commits] 02/41: Don't compile equal? to br-if-equal, Andy Wingo, 2015/12/02
- [Guile-commits] 04/41: Identify boot continuations by code, not closure, Andy Wingo, 2015/12/02
- [Guile-commits] 01/41: Fix miscompilation of closures allocated as vectors, Andy Wingo, 2015/12/02
- [Guile-commits] 08/41: Add frame-procedure-name, Andy Wingo, 2015/12/02
- [Guile-commits] 06/41: Apply of non-programs has IP that is not from prev frame, Andy Wingo, 2015/12/02
- [Guile-commits] 07/41: Remove primitive?, add primitive-code?, Andy Wingo, 2015/12/02
- [Guile-commits] 10/41: More robust low-level frame printer,
Andy Wingo <=
- [Guile-commits] 05/41: All arities serialize a "closure" binding, Andy Wingo, 2015/12/02
- [Guile-commits] 12/41: ,registers doesn't use frame-procedure, Andy Wingo, 2015/12/02
- [Guile-commits] 11/41: Better frame-call-representation printing of GC clobbers, Andy Wingo, 2015/12/02
- [Guile-commits] 09/41: frame-call-representation avoids frame-procedure., Andy Wingo, 2015/12/02
- [Guile-commits] 15/41: Remove frame-procedure, Andy Wingo, 2015/12/02
- [Guile-commits] 13/41: Remove `procedure' repl command, Andy Wingo, 2015/12/02
- [Guile-commits] 14/41: VM traps don't match on value of slot 0, Andy Wingo, 2015/12/02
- [Guile-commits] 17/41: Remove frame->module, Andy Wingo, 2015/12/02
- [Guile-commits] 19/41: Add bv-length instruction, Andy Wingo, 2015/12/02
- [Guile-commits] 18/41: Range inference over the full U64+S64 range, Andy Wingo, 2015/12/02