guile-1.8-20061126
(let ((a (make-shared-array #() (lambda x #f) 0 2)))
(array-contents a))
==> #f
---------------
(let ((a (make-shared-array #() (lambda x #f) 0 2)))
(array-for-each display a)) ; and other scm_ramapc-based functions
Backtrace:
In current input:
3: {0}* (let* ((a (make-shared-array # # ...))) (display a) ...)
5: 1 [array-for-each #<primitive-generic display> #2:0:2()]
<unnamed port>:5:3: In procedure array-for-each in expression
(array-for-each di
splay a):
<unnamed port>:5:3: Value out of range: 0
ABORT: (out-of-range)
--- orig/libguile/unif.c 2006-11-30 10:25:50.101433600 +0100
+++ mod/libguile/unif.c 2006-11-30 13:03:16.244320000 +0100
@@ -900,6 +900,7 @@
{
SCM_I_ARRAY_V (ra) = make_typed_vector (scm_array_type (ra), 0);
scm_array_handle_release (&old_handle);
+ SCM_SET_ARRAY_CONTIGUOUS_FLAG (ra);
return ra;
}
}
_______________________________________________
Bug-guile mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-guile