[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multi-column character on the right edge and highlighting
From: |
Kim F. Storm |
Subject: |
Re: Multi-column character on the right edge and highlighting |
Date: |
Sat, 29 Oct 2005 01:14:33 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Kyotaro HORIGUCHI <address@hidden> writes:
> In the frame with 80 column width, a two-column width character
> at 80th column is pushed out into the next line and the last
> column of the first line becomes void.
>
> When this continued lines are highlighed together and then
> restored, the void column remains highlighed. This can be caused
> by using transient-mark-mode.
>
>
> This behavior is caused by set_glyph_string_background_width() in
> xdisp.c.
>
> | set_glyph_string_background_width (s, start, last_x)
> | ...
> | if (start == s->row->used[s->area]
> | && s->area == TEXT_AREA
> | && ((s->hl == DRAW_NORMAL_TEXT
> | && (s->row->fill_line_p
> ==> || s->face->background != default_face->background
> | || s->face->stipple != default_face->stipple
> | || s->row->mouse_face_p))
> | || s->hl == DRAW_MOUSE_FACE
> | || ((s->hl == DRAW_IMAGE_RAISED || s->hl == DRAW_IMAGE_SUNKEN)
> | && s->row->fill_line_p)))
> | s->extends_to_end_of_line_p = 1;
>
> The condition marked with `==>' inhibits restoring highlighted
> void column. Removing this condition settles the problem.
>
> I can't understand why this condition is there, so I have no idea
> of whether this condition may be simply removed or not.
I don't quite understand why that condition is a problem --
Based on your description of the problem, it seems correct to extend
the background to the end of the line, so why does it fix the bug to
_remove_ a condition for extending the face to EOL?!
--
Kim F. Storm <address@hidden> http://www.cua.dk