* src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
builds. Suggested by Tom Tromey <tom@tromey.com>. (Bug#33017)
* src/dispnew.c (scrolling_window): Update commentary
regarding xwidget builds.
#endif
/* The type of bool bitfields. Needed to compile Objective-C with
- standard GCC. It was also needed to port to pre-C99 compilers,
- although we don't care about that any more. */
-#if NS_IMPL_GNUSTEP
+ standard GCC, and to make sure adjacent bool_bf fields are packed
+ into the same 1-, 2-, or 4-byte allocation unit in the MinGW
+ builds. It was also needed to port to pre-C99 compilers, although
+ we don't care about that any more. */
+#if NS_IMPL_GNUSTEP || defined(__MINGW32__)
typedef unsigned int bool_bf;
#else
typedef bool bool_bf;
}
#ifdef HAVE_XWIDGETS
- /* Currently this seems needed to detect xwidget movement reliably. */
+ /* Currently this seems needed to detect xwidget movement reliably.
+ This is most probably because an xwidget glyph is represented in
+ struct glyph's 'union u' by a pointer to a struct, which takes 8
+ bytes in 64-bit builds, and thus the comparison of u.val values
+ done by GLYPH_EQUAL_P doesn't work reliably, since it assumes the
+ size of the union is 4 bytes. FIXME. */
return 0;
#endif