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:
parent
4435a68af6
commit
d1ca81d9a8
1 changed files with 6 additions and 5 deletions
11
src/lread.c
11
src/lread.c
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue