* buffer.h (BUF_COMPACT): New macro to follow the common style.
authorDmitry Antipov <dmantipov@yandex.ru>
Mon, 24 Dec 2012 11:41:28 +0000 (15:41 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Mon, 24 Dec 2012 11:41:28 +0000 (15:41 +0400)
* 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.

src/ChangeLog
src/buffer.c
src/buffer.h

index 648f14a..1967cdb 100644 (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
index 3cf590d..21c42fc 100644 (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);
     }
 }
 
index d838d37..a8769fd 100644 (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)