move revealed-count mechanism to fports.c
authorAndy Wingo <wingo@pobox.com>
Sun, 19 Feb 2012 11:34:20 +0000 (12:34 +0100)
committerAndy Wingo <wingo@pobox.com>
Sun, 19 Feb 2012 12:30:30 +0000 (13:30 +0100)
commit3753e22736feb56ad22ec802bbad16e080066789
treeb5143e8bf15dd1c62ce32a7131975c006f44ce1f
parentbc1bc9e32088958c1b381f9ec0056e40340433a1
move revealed-count mechanism to fports.c

* libguile/fports.c (scm_revealed_count, scm_port_revealed)
  (scm_set_port_revealed_x, scm_adjust_port_revealed_x): Move these APIs
  here, and only operate on fports.  To keep revealed ports alive, now
  we will just keep them in a data structure that the GC knows about --
  a static list.

* libguile/fports.h: Add revealed count to scm_t_fport, and move decls
  of revealed-count functions here.

* libguile/ports.h:
* libguile/ports.c: Adapt to change.  Remove SCM_REVEALED and
  SCM_SETREVEALED; since they only apply to fports now, keeping them
  around would be inviting type errors.
  (finalize_port): We don't need to worry about resuscitating ports
  here.

* libguile/init.c: Use the scm_set_port_revealed_x function to set the
  revealed counts on stream ports.
libguile/fports.c
libguile/fports.h
libguile/init.c
libguile/ports.c
libguile/ports.h