* buffer.h (BUF_COMPACT): New macro to follow the common style.

* buffer.c (Fget_buffer_create): Use it to set compact field of
struct buffer_text to avoid accessing an uninitialized value
when compact_buffer is called for the first time.
(compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF.
This commit is contained in:
Dmitry Antipov 2012-12-24 15:41:28 +04:00
parent dab2e22def
commit f9e7c67e4c
3 changed files with 14 additions and 2 deletions

View file

@ -1,3 +1,11 @@
2012-12-24 Dmitry Antipov <dmantipov@yandex.ru>
* buffer.h (BUF_COMPACT): New macro to follow the common style.
* buffer.c (Fget_buffer_create): Use it to set compact field of
struct buffer_text to avoid accessing an uninitialized value
when compact_buffer is called for the first time.
(compact_buffer): Use convenient BUF_COMPACT and BUF_MODIFF.
2012-12-23 Eli Zaretskii <eliz@gnu.org>
* w32.c (acl_set_file): If setting the file security descriptor

View file

@ -575,6 +575,7 @@ even if it is dead. The return value is never nil. */)
BUF_CHARS_MODIFF (b) = 1;
BUF_OVERLAY_MODIFF (b) = 1;
BUF_SAVE_MODIFF (b) = 1;
BUF_COMPACT (b) = 1;
set_buffer_intervals (b, NULL);
BUF_UNCHANGED_MODIFIED (b) = 1;
BUF_OVERLAY_UNCHANGED_MODIFIED (b) = 1;
@ -1669,7 +1670,7 @@ compact_buffer (struct buffer *buffer)
which aren't changed since last compaction. */
if (BUFFER_LIVE_P (buffer)
&& (buffer->base_buffer == NULL)
&& (buffer->text->compact != buffer->text->modiff))
&& (BUF_COMPACT (buffer) != BUF_MODIFF (buffer)))
{
/* If a buffer's undo list is Qt, that means that undo is
turned off in that buffer. Calling truncate_undo_list on
@ -1694,7 +1695,7 @@ compact_buffer (struct buffer *buffer)
current_buffer = save_current;
}
}
buffer->text->compact = buffer->text->modiff;
BUF_COMPACT (buffer) = BUF_MODIFF (buffer);
}
}

View file

@ -193,6 +193,9 @@ INLINE_HEADER_BEGIN
/* FIXME: should we move this into ->text->auto_save_modiff? */
#define BUF_AUTOSAVE_MODIFF(buf) ((buf)->auto_save_modified)
/* Compaction count. */
#define BUF_COMPACT(buf) ((buf)->text->compact)
/* Marker chain of buffer. */
#define BUF_MARKERS(buf) ((buf)->text->markers)