From 0e94efb35430d7974a55c3915ec6a1a1c14faaab Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 23 Oct 2012 00:36:12 -0400 Subject: [PATCH 6/9] Repurpose scm_i_port_weak_hash to associate an alist with each port. * libguile/ports.c (scm_i_port_weak_hash): Document that the values in this hash table will now be alists. Previously the value slots were unused. (scm_new_port_table_entry): Change the initial value of the entry in scm_i_port_weak_hash from SCM_BOOL_F to SCM_EOL. --- libguile/ports.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libguile/ports.c b/libguile/ports.c index 301bc44..55808e2 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -533,7 +533,8 @@ scm_i_dynwind_current_load_port (SCM port) /* We need a global registry of ports to flush them all at exit, and to - get all the ports matching a file descriptor. + get all the ports matching a file descriptor. The associated values + are alists, where additional information can be associated with ports. */ SCM scm_i_port_weak_hash; @@ -633,7 +634,7 @@ scm_new_port_table_entry (scm_t_bits tag) SCM_SET_CELL_TYPE (z, tag); SCM_SETPTAB_ENTRY (z, entry); - scm_hashq_set_x (scm_i_port_weak_hash, z, SCM_BOOL_F); + scm_hashq_set_x (scm_i_port_weak_hash, z, SCM_EOL); /* For each new port, register a finalizer so that it port type's free function can be invoked eventually. */ -- 1.7.10.4