>>>>> On Mon, 24 Jan 2005 11:08:02 +0100, storm@cua.dk (Kim F. Storm) said: >> Here is a revised patch including a fix for the above bug. > Very good, thanks! Please install it. Thanks for checking. I'd like to leave it to Steven because the whole patch (attached below) includes some changes for Mac. Actually, I cannot do it by myself at the moment. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp 2005-01-24 YAMAMOTO Mitsuharu * dispextern.h (struct glyph_string): New members clip_head and clip_tail. * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip region to the area between clip_head and clip_tail. (draw_glyphs): Record the area that need to be actually redrawn to the new variables clip_head and clip_tail when there are overhangs. Set values of these variables to the corresponding members in struct glyph_string. Refine x coordinates for notice_overwritten_cursor using clip_head and clip_tail. * macgui.h (STORE_XCHARSETSTRUCT): New macro. * macterm.c (mac_compute_glyph_string_overhangs): Implement with QDTextBounds. (x_draw_glyph_string): Don't fill the background of the successor of a glyph with a right overhang if the successor will draw a cursor. (XLoadQueryFont): Obtain font metrics using QDTextBounds. (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.