set_marker_both (obj, to_buffer, m->charpos, m->bytepos);
}
- PER_BUFFER_VALUE (to, offset) = obj;
+ SET_PER_BUFFER_VALUE_RAW (to, offset, obj);
}
bcopy (from->local_flags, to->local_flags, sizeof to->local_flags);
|| buffer_permanent_local_flags[idx] == 0))
/* Is -2 used anywhere? */
|| idx == -2)
- PER_BUFFER_VALUE (b, offset) = PER_BUFFER_DEFAULT (offset);
+ SET_PER_BUFFER_VALUE_RAW (b, offset, PER_BUFFER_DEFAULT (offset));
}
}
OFFSET in the buffer structure. */
#define PER_BUFFER_VALUE(BUFFER, OFFSET) \
- (*(Lisp_Object *)((OFFSET) + (char *) (BUFFER)))
+ (*find_variable_location ((Lisp_Object *)((OFFSET) + (char *) (BUFFER))))
+
+#define SET_PER_BUFFER_VALUE_RAW(BUFFER, OFFSET, VALUE) \
+ ((*((Lisp_Object *)((OFFSET) + (char *) (BUFFER)))) = (VALUE))
/* Return the symbol of the per-buffer variable at offset OFFSET in
the buffer structure. */
b = XBUFFER (buf);
if (! PER_BUFFER_VALUE_P (b, idx))
- PER_BUFFER_VALUE (b, offset) = newval;
+ SET_PER_BUFFER_VALUE_RAW (b, offset, newval);
}
}
break;