Cleanup basic buffer management.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)
commit36429c89cbd7282a7614a358e5edb4d37f4a3f47
treeeafca213d91a33d626e60caec38ccc21bdd394fe
parentb544fef2ac730e5fc8c072b33584d9b48d25f6fa
Cleanup basic buffer management.
* 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.
src/ChangeLog
src/alloc.c
src/buffer.c
src/buffer.h