all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Multi-column character on the right edge and highlighting
@ 2005-10-28 19:58 Kyotaro HORIGUCHI
  2005-10-28 23:14 ` Kim F. Storm
  2005-10-30 21:13 ` Kim F. Storm
  0 siblings, 2 replies; 4+ messages in thread
From: Kyotaro HORIGUCHI @ 2005-10-28 19:58 UTC (permalink / raw)


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.

-- 
Kyotaro HORIGUCHI

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Multi-column character on the right edge and highlighting
  2005-10-28 19:58 Multi-column character on the right edge and highlighting Kyotaro HORIGUCHI
@ 2005-10-28 23:14 ` Kim F. Storm
  2005-10-30 21:13 ` Kim F. Storm
  1 sibling, 0 replies; 4+ messages in thread
From: Kim F. Storm @ 2005-10-28 23:14 UTC (permalink / raw)
  Cc: emacs-devel

Kyotaro HORIGUCHI <horiguti@meadowy.org> 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 <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Multi-column character on the right edge and highlighting
  2005-10-28 19:58 Multi-column character on the right edge and highlighting Kyotaro HORIGUCHI
  2005-10-28 23:14 ` Kim F. Storm
@ 2005-10-30 21:13 ` Kim F. Storm
  2005-10-31  3:45   ` Kyotaro HORIGUCHI
  1 sibling, 1 reply; 4+ messages in thread
From: Kim F. Storm @ 2005-10-30 21:13 UTC (permalink / raw)
  Cc: emacs-devel

Kyotaro HORIGUCHI <horiguti@meadowy.org> 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.

I have installed a fix for this.  Please check if it fixes the problem.

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Multi-column character on the right edge and highlighting
  2005-10-30 21:13 ` Kim F. Storm
@ 2005-10-31  3:45   ` Kyotaro HORIGUCHI
  0 siblings, 0 replies; 4+ messages in thread
From: Kyotaro HORIGUCHI @ 2005-10-31  3:45 UTC (permalink / raw)


> > When this continued lines are highlighed together and then
> > restored, the void column remains highlighed. This can be caused
> > by using transient-mark-mode.
> 
> I have installed a fix for this.  Please check if it fixes the problem.

 The problem has been fixed. Thank you.

-- 
Kyotaro HORIGUCHI

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-10-31  3:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-28 19:58 Multi-column character on the right edge and highlighting Kyotaro HORIGUCHI
2005-10-28 23:14 ` Kim F. Storm
2005-10-30 21:13 ` Kim F. Storm
2005-10-31  3:45   ` Kyotaro HORIGUCHI

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.