emacs-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]