summaryrefslogtreecommitdiff
path: root/libguile/programs.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-03-04 12:02:02 +0100
committerAndy Wingo <wingo@pobox.com>2010-03-04 13:14:43 +0100
commit2150e9a84a9e0e9f83fa7af2c08c274ebcd9b1c2 (patch)
tree3a3b07230da9939c32536bc011a21693a91c8351 /libguile/programs.h
parent2b2746a831b5f74773d6eec91d2c30d43831e826 (diff)
downloadguile-2150e9a84a9e0e9f83fa7af2c08c274ebcd9b1c2.tar.gz
partial continuations print as #<partial-continuation ...>
* libguile/control.c (reify_partial_continuation): * libguile/programs.c (scm_i_program_print): * libguile/programs.h (SCM_F_PROGRAM_IS_PARTIAL_CONTINUATION) (SCM_PROGRAM_IS_PARTIAL_CONTINUATION): Distinguish partial continuations from full continuations.
Diffstat (limited to 'libguile/programs.h')
-rw-r--r--libguile/programs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/programs.h b/libguile/programs.h
index 26115509b..c8e3bf626 100644
--- a/libguile/programs.h
+++ b/libguile/programs.h
@@ -30,6 +30,7 @@
#define SCM_F_PROGRAM_IS_PRIMITIVE 0x200
#define SCM_F_PROGRAM_IS_PRIMITIVE_GENERIC 0x400
#define SCM_F_PROGRAM_IS_CONTINUATION 0x800
+#define SCM_F_PROGRAM_IS_PARTIAL_CONTINUATION 0x1000
#define SCM_PROGRAM_P(x) (!SCM_IMP (x) && SCM_TYP7(x) == scm_tc7_program)
#define SCM_PROGRAM_OBJCODE(x) (SCM_CELL_OBJECT_1 (x))
@@ -44,6 +45,7 @@
#define SCM_PROGRAM_IS_PRIMITIVE(x) (SCM_CELL_WORD_0 (x) & SCM_F_PROGRAM_IS_PRIMITIVE)
#define SCM_PROGRAM_IS_PRIMITIVE_GENERIC(x) (SCM_CELL_WORD_0 (x) & SCM_F_PROGRAM_IS_PRIMITIVE_GENERIC)
#define SCM_PROGRAM_IS_CONTINUATION(x) (SCM_CELL_WORD_0 (x) & SCM_F_PROGRAM_IS_CONTINUATION)
+#define SCM_PROGRAM_IS_PARTIAL_CONTINUATION(x) (SCM_CELL_WORD_0 (x) & SCM_F_PROGRAM_IS_PARTIAL_CONTINUATION)
SCM_API SCM scm_make_program (SCM objcode, SCM objtable, SCM free_variables);