wingo pushed a commit to branch wip-whippet
in repository guile.

commit da51198ce836397b962ee667e08b29ef6b394471
Author: Andy Wingo <wi...@pobox.com>
AuthorDate: Tue Jun 24 10:44:33 2025 +0200

    Fix a couple SCM_SIMPLE_VECTOR stragglers
    
    * libguile/filesys.c (retrieve_select_type):
    * libguile/hashtab.c (rehash):
    * libguile/posix.c (scm_uname):
    * libguile/vectors.c (scm_c_vector_set_x):
    (scm_c_make_vector): Fix some SCM_SIMPLE_VECTOR users.
---
 libguile/filesys.c | 2 +-
 libguile/hashtab.c | 2 +-
 libguile/posix.c   | 2 +-
 libguile/vectors.c | 8 ++++----
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libguile/filesys.c b/libguile/filesys.c
index 27657f9eb..1e928c4dc 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -885,7 +885,7 @@ retrieve_select_type (fd_set *set, SCM ports_ready, SCM 
list_or_vec)
 
   if (scm_is_vector (list_or_vec))
     {
-      int i = SCM_SIMPLE_VECTOR_LENGTH (list_or_vec);
+      int i = scm_c_vector_length (list_or_vec);
 
       while (--i >= 0)
        {
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index d443c4772..f19b24e39 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -610,7 +610,7 @@ rehash (struct scm_t_hashtable *table, scm_t_hash_fn 
hash_fn,
   table->buckets = new_buckets;
   table->n_items = 0;
 
-  size_t old_size = SCM_SIMPLE_VECTOR_LENGTH (buckets);
+  size_t old_size = scm_c_vector_length (buckets);
   for (i = 0; i < old_size; ++i)
     {
       SCM ls = scm_c_vector_ref (buckets, i);
diff --git a/libguile/posix.c b/libguile/posix.c
index 749bf97b6..6cad7bb0d 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1767,7 +1767,7 @@ SCM_DEFINE (scm_uname, "uname", 0, 0, 0,
   scm_c_vector_set_x (result, 4, scm_from_locale_string (buf.machine));
 /* 
    a linux special?
-  SCM_SIMPLE_VECTOR_SET(result, 5, scm_from_locale_string (buf.domainname));
+  scm_c_vector_set_x (result, 5, scm_from_locale_string (buf.domainname));
 */
   return result;
 }
diff --git a/libguile/vectors.c b/libguile/vectors.c
index 82b8e2294..102c5ac7c 100644
--- a/libguile/vectors.c
+++ b/libguile/vectors.c
@@ -214,7 +214,7 @@ scm_c_vector_set_x (SCM v, size_t k, SCM obj)
   if (k >= SCM_I_VECTOR_LENGTH (v))
     scm_out_of_range (NULL, scm_from_size_t (k)); 
 
-  SCM_SIMPLE_VECTOR_SET (v, k, obj);
+  SCM_I_VECTOR_WELTS (v)[k] = obj;
 }
 #undef FUNC_NAME
 
@@ -246,13 +246,13 @@ scm_c_make_vector (size_t k, SCM fill)
 #define FUNC_NAME s_scm_make_vector
 {
   SCM vector;
-  size_t j;
 
   SCM_ASSERT_RANGE (1, scm_from_size_t (k), k <= VECTOR_MAX_LENGTH);
 
   vector = make_vector (k);
-  for (j = 0; j < k; ++j)
-    SCM_SIMPLE_VECTOR_SET (vector, j, fill);
+  SCM *slots = SCM_I_VECTOR_WELTS (vector);
+  for (size_t i = 0; i < k; ++i)
+    slots[i] = fill;
 
   return vector;
 }

Reply via email to