guile-1.8-20061126


[EMAIL PROTECTED]()
==> #()

(array-shape (make-array #t '(10 9)))
==> ((0 -1))

(make-shared-array #() (lambda x #f) '(10 9))
==> #()




--- orig/libguile/unif.c        2006-11-29 23:05:46.526091200 +0100
+++ mod/libguile/unif.c 2006-11-30 01:08:03.876683200 +0100
@@ -764,7 +764,7 @@
  SCM_I_ARRAY_V (ra) = creator (scm_from_size_t (rlen), fill);

  if (1 == SCM_I_ARRAY_NDIM (ra) && 0 == SCM_I_ARRAY_BASE (ra))
-    if (s->ubnd < s->lbnd || (0 == s->lbnd && 1 == s->inc))
+    if (0 == s->lbnd && 1 == s->inc)
      return SCM_I_ARRAY_V (ra);
  return ra;
}
@@ -898,10 +898,7 @@
      inds = scm_cons (scm_from_long (s[k].lbnd), inds);
      if (s[k].ubnd < s[k].lbnd)
       {
-         if (1 == SCM_I_ARRAY_NDIM (ra))
-           ra = make_typed_vector (scm_array_type (ra), 0);
-         else
-           SCM_I_ARRAY_V (ra) = make_typed_vector (scm_array_type (ra), 0);
+         SCM_I_ARRAY_V (ra) = make_typed_vector (scm_array_type (ra), 0);
         scm_array_handle_release (&old_handle);
         return ra;
       }




_______________________________________________
Bug-guile mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-guile

Reply via email to