[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 06/18: Remove port mark functions

From: Andy Wingo
Subject: [Guile-commits] 06/18: Remove port mark functions
Date: Wed, 06 Apr 2016 17:27:07 +0000

wingo pushed a commit to branch wip-port-refactor
in repository guile.

commit 4460f1f15280e3378633115fe9035448a68c636b
Author: Andy Wingo <address@hidden>
Date:   Sun Apr 3 11:13:13 2016 +0200

    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.
 NEWS                |    3 +++
 doc/ref/api-io.texi |    8 --------
 libguile/ports.c    |    6 ------
 libguile/ports.h    |    2 --
 4 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/NEWS b/NEWS
index 1be6c83..0ab0b39 100644
--- a/NEWS
+++ b/NEWS
@@ -19,7 +19,10 @@ Instead, use the symbol values `none', `line', or `block', 
 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 e1501e2..80a2272 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}.
address@hidden 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
address@hidden components.  Set using
address@hidden void scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM port))
address@hidden 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 da8b4d2..3f1b5b1 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -268,12 +268,6 @@ scm_make_port_type (char *name,
-scm_set_port_mark (scm_t_bits tc, SCM (*mark) (SCM))
-  scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->mark = mark;
 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 d8527be..f6c217f 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,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]