summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-04-03 12:08:07 +0200
committerAndy Wingo <wingo@pobox.com>2016-04-04 16:30:56 +0200
commite98f64009d493cb9b3bcd00d3846c96772f00778 (patch)
tree04c3f3db40617b554b36efed42cab66c2a6b1ca4
parent67b147fb7a5e8771b0314fcc0fcc826db09d9949 (diff)
downloadguile-e98f64009d493cb9b3bcd00d3846c96772f00778.tar.gz
Remove port equal functions
* doc/ref/api-io.texi (Port Implementation): Remove mention of port equal functions. * NEWS: Update. * libguile/ports.c (scm_set_port_equalp): Remove. * libguile/ports.h (scm_t_ptob_descriptor): Remove equalp function.
-rw-r--r--NEWS6
-rw-r--r--doc/ref/api-io.texi6
-rw-r--r--libguile/ports.c6
-rw-r--r--libguile/ports.h2
4 files changed, 6 insertions, 14 deletions
diff --git a/NEWS b/NEWS
index 24c43b7a0..c5a2a3f38 100644
--- a/NEWS
+++ b/NEWS
@@ -24,6 +24,12 @@ as arguments to the `setvbuf' function.
Port mark functions have not been called since the switch to the BDW
garbage collector.
+** Remove `scm_set_port_equalp'
+
+Likewise port equal functions weren't being called. Given that ports
+have their own internal buffers, it doesn't make sense to hook them into
+equal? anyway.
+
** Remove `scm_set_port_free'
It used to be that if an open port became unreachable, a special "free"
diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi
index c175d2eac..759d33940 100644
--- a/doc/ref/api-io.texi
+++ b/doc/ref/api-io.texi
@@ -2313,12 +2313,6 @@ The first argument @var{port} is the object being printed, the second
argument @var{dest_port} is where its description should go.
@end deftypefun
-@item equalp
-Not used at present. Set using
-
-@deftypefun void scm_set_port_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM))
-@end deftypefun
-
@item close
Called when the port is closed. It should free any resources used by
the port. Set using
diff --git a/libguile/ports.c b/libguile/ports.c
index e42f983c5..2c509eac0 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -275,12 +275,6 @@ scm_set_port_print (scm_t_bits tc, int (*print) (SCM exp, SCM port,
}
void
-scm_set_port_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM))
-{
- scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->equalp = equalp;
-}
-
-void
scm_set_port_close (scm_t_bits tc, int (*close) (SCM))
{
scm_c_port_type_ref (SCM_TC2PTOBNUM (tc))->close = close;
diff --git a/libguile/ports.h b/libguile/ports.h
index 379fba294..6b9a006b8 100644
--- a/libguile/ports.h
+++ b/libguile/ports.h
@@ -187,7 +187,6 @@ typedef struct scm_t_ptob_descriptor
{
char *name;
int (*print) (SCM exp, SCM port, scm_print_state *pstate);
- SCM (*equalp) (SCM, SCM);
int (*close) (SCM port);
void (*write) (SCM port, const void *data, size_t size);
@@ -228,7 +227,6 @@ SCM_API void scm_set_port_print (scm_t_bits tc,
int (*print) (SCM exp,
SCM port,
scm_print_state *pstate));
-SCM_API void scm_set_port_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM));
SCM_API void scm_set_port_close (scm_t_bits tc, int (*close) (SCM));
SCM_API void scm_set_port_needs_close_on_gc (scm_t_bits tc, int needs_close_p);