diff options
-rw-r--r-- | libguile/array-handle.c | 1 | ||||
-rw-r--r-- | libguile/array-handle.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/libguile/array-handle.c b/libguile/array-handle.c index 10cd375d4..daa1fcbc7 100644 --- a/libguile/array-handle.c +++ b/libguile/array-handle.c @@ -75,6 +75,7 @@ scm_array_get_handle (SCM array, scm_t_array_handle *h) h->writable_elements = NULL; h->vref = impl->vref; h->vset = impl->vset; + h->vector = SCM_I_ARRAYP (array) ? SCM_I_ARRAY_V (array) : array; impl->get_handle (array, h); } diff --git a/libguile/array-handle.h b/libguile/array-handle.h index e777d4de0..abe617ff5 100644 --- a/libguile/array-handle.h +++ b/libguile/array-handle.h @@ -106,6 +106,9 @@ typedef struct scm_t_array_handle { scm_t_array_element_type element_type; const void *elements; void *writable_elements; + + /* The backing store for the array, and its accessors. */ + SCM vector; scm_t_array_ref vref; scm_t_array_set vset; } scm_t_array_handle; |