aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorEli Zaretskii2010-01-01 06:39:56 -0500
committerEli Zaretskii2010-01-01 06:39:56 -0500
commit5e65aec01a9bc5a147e492f11dd0115c98bedef4 (patch)
treee4e90662056e2320c9a6941a96b7caaf9227313a /src/dispextern.h
parente5a2fec7b4a8c1435d74d50796259b3e4b895cd4 (diff)
downloademacs-5e65aec01a9bc5a147e492f11dd0115c98bedef4.tar.gz
emacs-5e65aec01a9bc5a147e492f11dd0115c98bedef4.zip
Retrospective commit from 2009-10-17.
Continue working on display of R2L glyph rows. Reverse glyphs in term.c:append_glyph rather than in extend_face_to_end_of_line. Fix bidi iteration near BEGV and ZV. dispextern.h (struct glyph): New members resolved_level and bidi_type. xdisp.c (append_glyph, append_composite_glyph) (produce_image_glyph, append_stretch_glyph): Set them. term.c (append_glyph): Ditto. xdisp.c (display_line, next_element_from_buffer): Set the glyph row's reversed_p flag if the paragraph base direction is odd. (extend_face_to_end_of_line): Don't reverse the glyphs here. term.c (append_glyph): Reverse glyphs here. bidi.c (bidi_get_next_char_visually): Don't exit early when at ZV. (bidi_paragraph_init): Don't step over a newline if at BEGV. (bidi_paragraph_init): Handle empty buffers.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index ae6ecbb0d5c..5f18b7f3a4a 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -370,6 +370,13 @@ struct glyph
370 /* Non-zero means don't display cursor here. */ 370 /* Non-zero means don't display cursor here. */
371 unsigned avoid_cursor_p : 1; 371 unsigned avoid_cursor_p : 1;
372 372
373 /* Resolved bidirection level of the characters [0..63]. */
374 unsigned resolved_level : 6;
375
376 /* Resolved bidirectional type of this character, see enum
377 bidi_type_t below. */
378 unsigned bidi_type : 5;
379
373#define FACE_ID_BITS 20 380#define FACE_ID_BITS 20
374 381
375 /* Face of the glyph. This is a realized face ID, 382 /* Face of the glyph. This is a realized face ID,