add scm_c_make_port; the port table is now a weak set
authorAndy Wingo <wingo@pobox.com>
Sun, 23 Oct 2011 18:51:52 +0000 (20:51 +0200)
committerAndy Wingo <wingo@pobox.com>
Sun, 23 Oct 2011 18:52:29 +0000 (20:52 +0200)
commit2721f9182da74cf98426cc335f3f39c265cc412d
treedf24895aaa6fabcc4103d263e40f540f24c141ff
parent7887be7df59b6f909aa9008454354f45dac1a8ea
add scm_c_make_port; the port table is now a weak set

* libguile/ports.c (scm_c_make_port_with_encoding, scm_c_make_port): New
  functions, to replace scm_new_port_table_entry.  Use a weak set
  instead of a weak table.
  (scm_i_remove_port):
  (scm_c_port_for_each, scm_port_for_each): Adapt to use weak set.
  (scm_i_void_port): Use scm_c_make_port.
  (scm_init_ports): Make a weak set.

* libguile/fports.c:
* libguile/ioext.c:
* libguile/r6rs-ports.c:
* libguile/strports.c:
* libguile/vports.c: Adapt to use the new scm_c_make_port API.
libguile/fports.c
libguile/ioext.c
libguile/ports.c
libguile/ports.h
libguile/r6rs-ports.c
libguile/strports.c
libguile/vports.c