* ports.c, ports.h (scm_make_port_type): New interface for
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Sat, 24 Jul 1999 23:10:13 +0000 (23:10 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Sat, 24 Jul 1999 23:10:13 +0000 (23:10 +0000)
commitf12733c9d43d6147d9e7bf09cf51225945a1a97c
treee6084917c36e40a6e99b4c8ea8416a922e4ca239
parentc16366271080ad9064a06a0b21e25d030024863c
* ports.c, ports.h (scm_make_port_type): New interface for
creation of port types (replaces scm_newptob).  Just as for the
smobs, we need to separate the internal representation of smob
types from the interface, so that we easily can add new fields and
rearrange things without caring about backward compatibility.
This change was forced by the need in GOOPS to create classes
representing port types.
(scm_set_ptob_mark, scm_set_ptob_free, scm_set_ptob_print,
scm_set_ptob_equalp, scm_set_ptob_flush_input, scm_set_ptob_close,
scm_set_ptob_seek, scm_set_ptob_truncate,
scm_set_ptob_input_waiting_p): New setters.
(scm_newptob): Rewritten to use scm_make_port_type.  For backward
compatibility.
(scm_ptobs): Changed type scm_ptobfuns --> scm_ptob_descriptor.
(scm_prinport): Removed.
(scm_port_print): Added.
(scm_print_port_mode): Added.
(void_port_ptob, print_void_port, close_void_port, noop0):
Removed.  Removed #include "genio.h" Added #include "objects.h",
#include "smobs.h"
libguile/ports.c
libguile/ports.h