diff options
author | Andy Wingo <wingo@pobox.com> | 2016-04-03 11:13:13 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2016-04-04 16:30:56 +0200 |
commit | 4460f1f15280e3378633115fe9035448a68c636b (patch) | |
tree | 9bc3b16ee9eba1d92e10b0f233f4822eaabe917f | |
parent | 4eb9fd47c47fcd3d9da8aaced8b729a9cd303ab4 (diff) | |
download | guile-4460f1f15280e3378633115fe9035448a68c636b.tar.gz |
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.
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | doc/ref/api-io.texi | 8 | ||||
-rw-r--r-- | libguile/ports.c | 6 | ||||
-rw-r--r-- | libguile/ports.h | 2 |
4 files changed, 3 insertions, 16 deletions
@@ -19,7 +19,10 @@ Instead, use the symbol values `none', `line', or `block', respectively, as arguments to the `setvbuf' function. * 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): diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi index e1501e2b4..80a227202 100644 --- a/doc/ref/api-io.texi +++ b/doc/ref/api-io.texi @@ -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 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 Called when the port is collected during gc. It should free any resources used by the port. diff --git a/libguile/ports.c b/libguile/ports.c index da8b4d22c..3f1b5b1c5 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -268,12 +268,6 @@ scm_make_port_type (char *name, } void -scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM)) -{ - scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->mark = mark; -} - -void scm_set_port_free (scm_t_bits tc, size_t (*free) (SCM)) { scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->free = free; diff --git a/libguile/ports.h b/libguile/ports.h index d8527be5f..f6c217fe3 100644 --- a/libguile/ports.h +++ b/libguile/ports.h @@ -184,7 +184,6 @@ typedef enum scm_t_port_type_flags { typedef struct scm_t_ptob_descriptor { char *name; - SCM (*mark) (SCM); size_t (*free) (SCM); int (*print) (SCM exp, SCM port, scm_print_state *pstate); SCM (*equalp) (SCM, SCM); @@ -224,7 +223,6 @@ SCM_API scm_t_bits scm_make_port_type (char *name, void (*write) (SCM port, const void *data, 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_print (scm_t_bits tc, int (*print) (SCM exp, |