1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 09:40:20 +02:00

Simplify interfaces to scm_vector_elements and scm_vector_writable_elements

* vectors.h: As stated. Don't include array-handle.h.
* vectors.c (scm_vector_elements, scm_vector_writable_elements):
  Reimplement.
  (vector-move-right!, vector-move-left!): Replace uses of
  scm_vector_elements and scm_vector_writable_elements on array types.
* doc/ref/api-data.texi: Fix doc for scm_vector_elements and
  scm_vector_writable_elements.
* libguile/sort.c (stable-sort!): Fix use of
  scm_vector_writable_elements.
This commit is contained in:
Daniel Llorens 2020-02-03 16:18:41 +01:00
parent 40dbe69be5
commit eb2d2c1a41
5 changed files with 139 additions and 124 deletions

View file

@ -577,12 +577,10 @@ SCM_DEFINE (scm_stable_sort_x, "stable-sort!", 2, 0, 0,
}
SCM temp = scm_c_make_vector (len, SCM_UNDEFINED);
scm_t_array_handle temp_handle;
SCM *temp_elts = scm_vector_writable_elements (temp, &temp_handle, NULL, NULL);
SCM *temp_elts = scm_vector_writable_elements (temp);
scm_merge_vector_step (vec_elts, temp_elts, less, 0, len-1, inc);
scm_array_handle_release (&temp_handle);
scm_array_handle_release (&vec_handle);
return items;