summaryrefslogtreecommitdiff
path: root/libguile/programs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/programs.c')
-rw-r--r--libguile/programs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libguile/programs.c b/libguile/programs.c
index 189b64e74..ac35e3c10 100644
--- a/libguile/programs.c
+++ b/libguile/programs.c
@@ -79,7 +79,14 @@ scm_i_program_print (SCM program, SCM port, scm_print_state *pstate)
(scm_c_resolve_module ("system vm program"),
scm_from_locale_symbol ("write-program"));
- if (scm_is_false (write_program) || print_error)
+ if (SCM_PROGRAM_IS_CONTINUATION (program))
+ {
+ /* twingliness */
+ scm_puts ("#<continuation ", port);
+ scm_uintprint (SCM_CELL_WORD_1 (program), 16, port);
+ scm_putc ('>', port);
+ }
+ else if (scm_is_false (write_program) || print_error)
{
scm_puts ("#<program ", port);
scm_uintprint (SCM_CELL_WORD_1 (program), 16, port);