Subject: bug#6878: bool-vectors of length 0 signal error when aref/aset the 0th element

From: MON KEY <[email-masked]>
Date: Thu, 19 Aug 2010 13:09:35 -0400

On Thu, Aug 19, 2010 at 12:18 PM, Chong Yidong <[email-masked]> wrote:
> MON KEY <[email-masked]> writes:
>
>> So why would/should Emacs let me create a bool-vectors that I can
>> neither set nor get without signalling an error?
>
> You can vconcat them.
>

Yep:

(let* ((ab (make-bool-vector 1 t))
      (abeq (cons ab ab)))
 (vconcat (car abeq) (cdr abeq)))

;=>[t t]

But, again, where is the `t' or `nil'?

(let* ((ab (make-bool-vector 0 t))
      (abeq (cons ab ab)))
 (vconcat (car abeq) (cdr abeq)))

;=> []

The manual says a `t' or `nil' "must" be there.

--
/s_P\