1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

Remove port mark functions

* doc/ref/api-io.texi (Port Implementation): Remove documentation.
* libguile/ports.c (scm_set_port_mark): Remove function.
* libguile/ports.h (scm_t_ptob_descriptor): Remove mark function.
* NEWS: Add entry.
This commit is contained in:
Andy Wingo 2016-04-03 11:13:13 +02:00
parent 4eb9fd47c4
commit 4460f1f152
4 changed files with 3 additions and 16 deletions

3
NEWS
View file

@ -19,7 +19,10 @@ Instead, use the symbol values `none', `line', or `block', respectively,
as arguments to the `setvbuf' function. as arguments to the `setvbuf' function.
* Incompatible changes * Incompatible changes
** Remove `scm_set_port_mark'
Port mark functions have not been called since the switch to the BDW
garbage collector.
Changes in 2.1.2 (changes since the 2.1.1 alpha release): Changes in 2.1.2 (changes since the 2.1.1 alpha release):

View file

@ -2303,14 +2303,6 @@ A pointer to a NUL terminated string: the name of the port type. This
is the only element of @code{scm_ptob_descriptor} which is not is the only element of @code{scm_ptob_descriptor} which is not
a procedure. Set via the first argument to @code{scm_make_port_type}. a procedure. Set via the first argument to @code{scm_make_port_type}.
@item mark
Called during garbage collection to mark any SCM objects that a port
object may contain. It doesn't need to be set unless the port has
@code{SCM} components. Set using
@deftypefun void scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM port))
@end deftypefun
@item free @item free
Called when the port is collected during gc. It Called when the port is collected during gc. It
should free any resources used by the port. should free any resources used by the port.

View file

@ -267,12 +267,6 @@ scm_make_port_type (char *name,
return scm_tc7_port + ptobnum * 256; return scm_tc7_port + ptobnum * 256;
} }
void
scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM))
{
scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->mark = mark;
}
void void
scm_set_port_free (scm_t_bits tc, size_t (*free) (SCM)) scm_set_port_free (scm_t_bits tc, size_t (*free) (SCM))
{ {

View file

@ -184,7 +184,6 @@ typedef enum scm_t_port_type_flags {
typedef struct scm_t_ptob_descriptor typedef struct scm_t_ptob_descriptor
{ {
char *name; char *name;
SCM (*mark) (SCM);
size_t (*free) (SCM); size_t (*free) (SCM);
int (*print) (SCM exp, SCM port, scm_print_state *pstate); int (*print) (SCM exp, SCM port, scm_print_state *pstate);
SCM (*equalp) (SCM, SCM); SCM (*equalp) (SCM, SCM);
@ -224,7 +223,6 @@ SCM_API scm_t_bits scm_make_port_type (char *name,
void (*write) (SCM port, void (*write) (SCM port,
const void *data, const void *data,
size_t size)); size_t size));
SCM_API void scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM));
SCM_API void scm_set_port_free (scm_t_bits tc, size_t (*free) (SCM)); SCM_API void scm_set_port_free (scm_t_bits tc, size_t (*free) (SCM));
SCM_API void scm_set_port_print (scm_t_bits tc, SCM_API void scm_set_port_print (scm_t_bits tc,
int (*print) (SCM exp, int (*print) (SCM exp,