• Dmitry Antipov's avatar
    Cleanup basic buffer management. · 36429c89
    Dmitry Antipov authored
    * buffer.h (struct buffer): Change layout to use generic vector
    marking code.  Fix some comments.  Change type of 'clip_changed'
    to bitfield.  Remove unused #ifndef old.
    (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
    (GET_OVERLAYS_AT): Fix indentation.
    (for_each_per_buffer_object_at): New macro.
    * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
    (Fbuffer_local_variables): Use it.
    (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
    * alloc.c (allocate_buffer): Adjust to match new layout of
    struct buffer.  Fix comment.
    (mark_overlay): New function.
    (mark_buffer): Use it.  Use mark_vectorlike to mark normal
    Lisp area of struct buffer.
    (mark_object): Use it.  Adjust marking of misc objects
    and related comments.
    36429c89
buffer.h 41.3 KB