Subject: bug#13011: 24.2; Text flickering moving cursor with box around text enabled

From: Eli Zaretskii <[email-masked]>
Date: Fri, 30 Nov 2012 10:13:30 +0200

[Please don't remove the bug address from the CC list, we want all
this discussion to be archived in the bug tracker.]

> Date: Fri, 30 Nov 2012 01:45:30 +0100 (CET)
> From: "[email-masked]" <[email-masked]>
> Cc:  <[email-masked]>
> 
> The horizontal flickering has 2 cases:
> 
> 1) font-lock mode disabled.
> Current line has a single global box around current line 
> Moving cursor vertically produce 1 pixel flickering due to the left border 
> that adds 1 pixel.
> Moving cursor horizontal (along the same line) produce flickering crossing 
> parenthesis when paren-mode is enabled. 2 more pixels if the matching 
> one is in another line, 4 more pixels if on the same. This because it draw 
> a box on highlight parenthesis adding  2 pixels for box.

This is the same problem as with stretches of white space.  Its reason
is separate from the one that causes the entire line to shift one
pixel to the right when the line thickness is -1.

> 2) Font-lock-mode enabled.
> Current line seems to have a single global box but looking careful it has 
> many consecutive boxes, one for every font-lock-face.

Same as above: a different reason.

> Moving cursor vertical increase current line length of one pixel for box 
> (cab be very big) producing flickering.

This is done deliberately, as I show in the code snippets I posted.
We are discussing why was this done, and will see whether and how to
fix that after we understand the reason(s).

> This happens also in line without space and tab like this no sense line:
> void{(if(a<b)while(c=d)do)switch(e)

Same as above: a different reason.