Subject: bug#18866: closed (Re: bug#18866: bytevector-copy creates srfi-4 vector with greater length)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 12 Nov 2014 06:06:02 +0000

Your bug report

#18866: bytevector-copy creates srfi-4 vector with greater length

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
18866: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18866
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18866: bytevector-copy creates srfi-4 vector with greater length
From: Mark H Weaver <[email-masked]>
To: tantalum <[email-masked]>
Cc: [email-masked]
Date: Wed, 12 Nov 2014 01:04:37 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

tantalum <[email-masked]> writes:

> with guile version 2.1.0.89-c5ea7 on an x86_64 GNU/Linux system
> and the following code
>   (use-modules (srfi srfi-4) (rnrs bytevectors))
>   (define a (make-f32vector 2 0))
>   (define b (bytevector-copy a))
>   (write (list a b))
>
> "b" turns out to be an f32vector with length 8, 4 times the length of "a".
> i expected the result to have the same length as the argument
>
> see also http://lists.gnu.org/archive/html/guile-devel/2014-10/msg00064.html

I fixed this in 10679f4c59fcffb0657219e28e38d15df8ad09a0 by changing
'bytevector-copy' to always produce a standard bytevector with unsigned
8-bit elements, as if 'bytevector-copy' was implemented using the
standard procedures 'make-bytevector', 'bytevector-length', etc.
This is on the stable-2.0 branch and will be in Guile 2.0.12.

I'm open to the idea of adding another procedure that copies arbitrary
SRFI-4 vectors, but I think it should have a different name.  If you'd
like to persue this, let's create another ticket for it.

I'm closing this bug now.

      Thanks,
        Mark

Subject: bytevector-copy creates srfi-4 vector with greater length
From: tantalum <[email-masked]>
To: [email-masked]
Date: Mon, 27 Oct 2014 19:28:49 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

with guile version 2.1.0.89-c5ea7 on an x86_64 GNU/Linux system
and the following code
  (use-modules (srfi srfi-4) (rnrs bytevectors))
  (define a (make-f32vector 2 0))
  (define b (bytevector-copy a))
  (write (list a b))

"b" turns out to be an f32vector with length 8, 4 times the length of "a".
i expected the result to have the same length as the argument

see also http://lists.gnu.org/archive/html/guile-devel/2014-10/msg00064.html