# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1149241183 0 # Node ID 93891551768089c74bb12cbd6530f90318c39e3c # Parent 070b40db0b2a22767342a1282439034da466aa5c (next_element_from_composition): Set it->object to it->string if composition is coming from string. (set_cursor_from_row): Don't return 0 unless row displays a continued line. (dump_glyph): Dump composite glyph. diff -r 070b40db0b2a -r 938915517680 src/xdisp.c --- a/src/xdisp.c Fri Jun 02 08:49:25 2006 +0000 +++ b/src/xdisp.c Fri Jun 02 09:39:43 2006 +0000 @@ -6238,6 +6238,8 @@ it->position = (STRINGP (it->string) ? it->current.string_pos : it->current.pos); + if (STRINGP (it->string)) + it->object = it->string; return 1; } @@ -11777,7 +11779,7 @@ /* If we reached the end of the line, and end was from a string, cursor is not on this line. */ - if (glyph == end) + if (glyph == end && row->continued_p) return 0; } @@ -14961,6 +14963,25 @@ glyph->left_box_line_p, glyph->right_box_line_p); } + else if (glyph->type == COMPOSITE_GLYPH) + { + fprintf (stderr, + " %5d %4c %6d %c %3d 0x%05x %c %4d %1.1d%1.1d\n", + glyph - row->glyphs[TEXT_AREA], + '+', + glyph->charpos, + (BUFFERP (glyph->object) + ? 'B' + : (STRINGP (glyph->object) + ? 'S' + : '-')), + glyph->pixel_width, + glyph->u.cmp_id, + '.', + glyph->face_id, + glyph->left_box_line_p, + glyph->right_box_line_p); + } }