diff src/lread.c @ 55158:e69f42e233dc

(read1): Use BOOL_VECTOR_BITS_PER_CHAR instead of BITS_PER_CHAR for bool vectors.
author Andreas Schwab <schwab@suse.de>
date Mon, 26 Apr 2004 21:28:40 +0000
parents f78c7b75f616
children a65f6f256839 1a68e4b22355 4c90ffeb71c5
line wrap: on
line diff
--- a/src/lread.c	Mon Apr 26 21:26:17 2004 +0000
+++ b/src/lread.c	Mon Apr 26 21:28:40 2004 +0000
@@ -1993,8 +1993,9 @@
 	  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 @@
 		     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 @@
 	      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),