1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 02:51:31 -08:00

(read1): Use BOOL_VECTOR_BITS_PER_CHAR instead of BITS_PER_CHAR for

bool vectors.
This commit is contained in:
Andreas Schwab 2004-04-26 21:28:40 +00:00
parent 4435a68af6
commit d1ca81d9a8

View file

@ -1993,8 +1993,9 @@ read1 (readcharfun, pch, first_in_list)
if (c == '"')
{
Lisp_Object tmp, val;
int size_in_chars = ((XFASTINT (length) + BITS_PER_CHAR - 1)
/ BITS_PER_CHAR);
int size_in_chars
= ((XFASTINT (length) + BOOL_VECTOR_BITS_PER_CHAR - 1)
/ BOOL_VECTOR_BITS_PER_CHAR);
UNREAD (c);
tmp = read1 (readcharfun, pch, first_in_list);
@ -2003,7 +2004,7 @@ read1 (readcharfun, pch, first_in_list)
when the number of bits was a multiple of 8.
Accept such input in case it came from an old version. */
&& ! (XFASTINT (length)
== (SCHARS (tmp) - 1) * BITS_PER_CHAR))
== (SCHARS (tmp) - 1) * BOOL_VECTOR_BITS_PER_CHAR))
Fsignal (Qinvalid_read_syntax,
Fcons (make_string ("#&...", 5), Qnil));
@ -2011,9 +2012,9 @@ read1 (readcharfun, pch, first_in_list)
bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data,
size_in_chars);
/* Clear the extraneous bits in the last byte. */
if (XINT (length) != size_in_chars * BITS_PER_CHAR)
if (XINT (length) != size_in_chars * BOOL_VECTOR_BITS_PER_CHAR)
XBOOL_VECTOR (val)->data[size_in_chars - 1]
&= (1 << (XINT (length) % BITS_PER_CHAR)) - 1;
&= (1 << (XINT (length) % BOOL_VECTOR_BITS_PER_CHAR)) - 1;
return val;
}
Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5),