From 730fdb31117e1467e4cc620c9715596427fd5b5a Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 3 May 2016 00:10:59 -0400 Subject: [PATCH] Fix crash when cdr is a value type --- runtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime.c b/runtime.c index fad67cf7..0ba26b8c 100644 --- a/runtime.c +++ b/runtime.c @@ -789,7 +789,7 @@ static object _Cyc_write(object x, FILE * port) break; } - for (tmp = cdr(x); tmp && ((closure) tmp)->tag == pair_tag; tmp = cdr(tmp)) { + for (tmp = cdr(x); tmp && !is_value_type(tmp) && ((closure) tmp)->tag == pair_tag; tmp = cdr(tmp)) { if (has_cycle == boolean_t) { if (i++ > 20) break; /* arbitrary number, for now */