[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 e724a8f: Fix redisplay of glyphless characters
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-26 e724a8f: Fix redisplay of glyphless characters |
Date: |
Sat, 13 Oct 2018 12:48:19 -0400 (EDT) |
branch: emacs-26
commit e724a8f6694280fcb4753a87011abf9dc1c2771e
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix redisplay of glyphless characters
* src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
builds. Suggested by Tom Tromey <address@hidden>. (Bug#33017)
* src/dispnew.c (scrolling_window): Update commentary
regarding xwidget builds.
---
src/conf_post.h | 8 +++++---
src/dispnew.c | 7 ++++++-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/conf_post.h b/src/conf_post.h
index 69f686d..a09e529 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -48,9 +48,11 @@ along with GNU Emacs. If not, see
<https://www.gnu.org/licenses/>. */
#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;
diff --git a/src/dispnew.c b/src/dispnew.c
index a81d6f6..d3a3196 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -4125,7 +4125,12 @@ scrolling_window (struct window *w, bool header_line_p)
}
#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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 e724a8f: Fix redisplay of glyphless characters,
Eli Zaretskii <=