lloda pushed a commit to branch wip-vector-cleanup in repository guile. commit f4fccd190951621666112c60374dd6dd0d66bed0 Author: Daniel Llorens <ll...@sarc.name> AuthorDate: Thu Feb 6 15:52:58 2020 +0100
Pull generalized-vectors from under bytevectors --- libguile/bytevectors.c | 6 +----- libguile/generalized-vectors.c | 7 ++++++- libguile/generalized-vectors.h | 1 - 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c index 7dfdab4..fc9c02e 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 e3d0f69..33fe02d 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 1c5d021..4d347d3 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);