summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Llorens <lloda@sarc.name>2020-02-06 15:52:58 +0100
committerDaniel Llorens <lloda@sarc.name>2020-04-09 16:59:39 +0200
commit26510db52c0027fb3f38df53851af6f4aa213256 (patch)
treec15af7235a1e2165325484d0dfee6e48ab5e4709
parent0910fcde46a6edb839821fca70ff023f40661c6b (diff)
downloadguile-26510db52c0027fb3f38df53851af6f4aa213256.tar.gz
Pull generalized-vectors from under bytevectors
-rw-r--r--libguile/bytevectors.c6
-rw-r--r--libguile/generalized-vectors.c7
-rw-r--r--libguile/generalized-vectors.h1
3 files changed, 7 insertions, 7 deletions
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index 7dfdab499..fc9c02e2b 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -37,12 +37,12 @@
#include <gmp.h>
+/* FIXME want to remove this dependence out. See bitvectors.h */
#include "array-handle.h"
#include "arrays.h"
#include "boolean.h"
#include "dynwind.h"
#include "extensions.h"
-#include "generalized-vectors.h"
#include "gsubr.h"
#include "list.h"
#include "numbers.h"
@@ -2138,10 +2138,6 @@ scm_bootstrap_bytevectors (void)
"scm_init_bytevectors",
(scm_t_extension_init_func) scm_init_bytevectors,
NULL);
-
- scm_i_register_vector_constructor
- (scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_VU8],
- scm_make_bytevector);
}
void
diff --git a/libguile/generalized-vectors.c b/libguile/generalized-vectors.c
index e3d0f6967..33fe02db3 100644
--- a/libguile/generalized-vectors.c
+++ b/libguile/generalized-vectors.c
@@ -29,6 +29,7 @@
#include "generalized-vectors.h"
#include "array-handle.h"
+#include "bytevectors.h"
#include "bitvectors.h"
#include "strings.h"
#include "vectors.h"
@@ -44,7 +45,7 @@ struct scm_t_vector_ctor
static struct scm_t_vector_ctor vector_ctors[VECTOR_CTORS_N_STATIC_ALLOC];
static int num_vector_ctors_registered = 0;
-void
+static void
scm_i_register_vector_constructor (SCM type, SCM (*ctor)(SCM, SCM))
{
if (num_vector_ctors_registered >= VECTOR_CTORS_N_STATIC_ALLOC)
@@ -83,6 +84,10 @@ SCM_VECTOR_IMPLEMENTATION (SCM_ARRAY_ELEMENT_TYPE_CHAR, scm_make_string)
void
scm_init_generalized_vectors ()
{
+ scm_i_register_vector_constructor
+ (scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_VU8],
+ scm_make_bytevector);
+
#define REGISTER(tag, TAG) \
scm_i_register_vector_constructor \
(scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_##TAG], \
diff --git a/libguile/generalized-vectors.h b/libguile/generalized-vectors.h
index 1c5d021fc..4d347d3ac 100644
--- a/libguile/generalized-vectors.h
+++ b/libguile/generalized-vectors.h
@@ -29,7 +29,6 @@
/* Generalized vectors */
SCM_API SCM scm_make_generalized_vector (SCM type, SCM len, SCM fill);
-SCM_INTERNAL void scm_i_register_vector_constructor (SCM type, SCM (*ctor)(SCM, SCM));
SCM_INTERNAL void scm_init_generalized_vectors (void);