]> git.eshelyaron.com Git - emacs.git/commitdiff
(defvar_per_buffer): Access buffer_local_flags as Lisp_Object, not int.
authorKarl Heuer <kwzh@gnu.org>
Thu, 6 Oct 1994 22:31:59 +0000 (22:31 +0000)
committerKarl Heuer <kwzh@gnu.org>
Thu, 6 Oct 1994 22:31:59 +0000 (22:31 +0000)
Give XSETBUFFER_OBJFWD an integer offset, not a pointer.

src/lread.c

index fbe6366534ec2554961fba9086f7bdef4e1f93fd..e29d46dccdb2b9e42976510ba13daf74ab187e0b 100644 (file)
@@ -1826,7 +1826,8 @@ defvar_lisp_nopro (namestring, address)
 #ifndef standalone
 
 /* Similar but define a variable whose value is the Lisp Object stored in
- the current buffer.  address is the address of the slot in the buffer that is current now. */
+   the current buffer.  address is the address of the slot in the buffer
+   that is current now. */
 
 void
 defvar_per_buffer (namestring, address, type, doc)
@@ -1842,11 +1843,10 @@ defvar_per_buffer (namestring, address, type, doc)
   sym = intern (namestring);
   offset = (char *)address - (char *)current_buffer;
 
-  XSETBUFFER_OBJFWD (XSYMBOL (sym)->value,
-                    (Lisp_Object *) offset);
+  XSETBUFFER_OBJFWD (XSYMBOL (sym)->value, offset);
   *(Lisp_Object *)(offset + (char *)&buffer_local_symbols) = sym;
   *(Lisp_Object *)(offset + (char *)&buffer_local_types) = type;
-  if (*(int *)(offset + (char *)&buffer_local_flags) == 0)
+  if (XINT (*(Lisp_Object *)(offset + (char *)&buffer_local_flags)) == 0)
     /* Did a DEFVAR_PER_BUFFER without initializing the corresponding
        slot of buffer_local_flags */
     abort ();