Pacify valgrind by initializing buffer redisplay bit.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 20 Jan 2014 16:47:41 +0000 (08:47 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 20 Jan 2014 16:47:41 +0000 (08:47 -0800)
Problem reported by Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
* alloc.c (USE_VALGRIND): Move this to ...
* conf_post.h (USE_VALGRIND): ... here.  Use booleans.
* buffer.c (Fget_buffer_create): Initialize redisplay bit
to pacify valgrind.

src/ChangeLog
src/alloc.c
src/buffer.c
src/conf_post.h

index 87b84e0..3ac2257 100644 (file)
@@ -1,5 +1,13 @@
 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Pacify valgrind by initializing buffer redisplay bit.
+       Problem reported by Dmitry Antipov in
+       <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
+       * alloc.c (USE_VALGRIND): Move this to ...
+       * conf_post.h (USE_VALGRIND): ... here.  Use booleans.
+       * buffer.c (Fget_buffer_create): Initialize redisplay bit
+       to pacify valgrind.
+
        Revert some of the CANNOT_DUMP fix (Bug#16494).
        * lread.c (init_lread): Fix typo: NILP, not !NILP.
 
index 7f0a74c..d31cf3b 100644 (file)
@@ -48,12 +48,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <verify.h>
 
-#if (defined ENABLE_CHECKING                   \
-     && defined HAVE_VALGRIND_VALGRIND_H       \
-     && !defined USE_VALGRIND)
-# define USE_VALGRIND 1
-#endif
-
 #if USE_VALGRIND
 #include <valgrind/valgrind.h>
 #include <valgrind/memcheck.h>
index c48610d..8740517 100644 (file)
@@ -573,7 +573,9 @@ even if it is dead.  The return value is never nil.  */)
   BUF_END_UNCHANGED (b) = 0;
   BUF_BEG_UNCHANGED (b) = 0;
   *(BUF_GPT_ADDR (b)) = *(BUF_Z_ADDR (b)) = 0; /* Put an anchor '\0'.  */
-  b->text->inhibit_shrinking = 0;
+  b->text->inhibit_shrinking = false;
+  if (USE_VALGRIND)
+    b->text->redisplay = false;
 
   b->newline_cache = 0;
   b->width_run_cache = 0;
index 7419b53..cdb2f97 100644 (file)
@@ -65,6 +65,15 @@ typedef bool bool_bf;
 # define ADDRESS_SANITIZER false
 #endif
 
+/* True if Emacs might be run under valgrind.  */
+#ifndef USE_VALGRIND
+# if defined ENABLE_CHECKING && defined HAVE_VALGRIND_VALGRIND_H
+#  define USE_VALGRIND true
+# else
+#  define USE_VALGRIND false
+# endif
+#endif
+
 #ifdef DARWIN_OS
 #ifdef emacs
 #define malloc unexec_malloc