Subject: bug#11464: 24.1.50; pos-visible-in-window-p returns a false positive with bidi text

From: Eli Zaretskii <[email-masked]>
Date: Tue, 15 May 2012 19:19:52 +0300

> From: Ari Roponen <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 15 May 2012 13:07:08 +0300
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >
> > But since the fix is quite simple, here you go: fixed in revision
> > 107994 on the emacs-24 branch.
> >
> 
> Thank you. I can still reproduce the bug with that revision, but the
> following tweak seems to help.  I'm not sure if it is correct, but at
> least it fixes the testcase, and everything else seems to work okay.
> 
> === modified file 'src/xdisp.c'
> --- src/xdisp.c	2012-05-13 18:22:35 +0000
> +++ src/xdisp.c	2012-05-15 09:51:45 +0000
> @@ -1313,7 +1313,7 @@
>  	visible_p = bottom_y > window_top_y;
>        else if (top_y < it.last_visible_y)
>  	visible_p = 1;
> -      if (bottom_y >= it.last_visible_y
> +      if (bottom_y <= it.last_visible_y
>  	  && it.bidi_p && it.bidi_it.scan_dir == -1
>  	  && IT_CHARPOS (it) < charpos)
>  	{

Interesting.  What are the values of bottom_y and it.last_visible_y
that you see?  I only see strict equality in that condition, so both
variants work for me.

Anyway, I installed the change you suggested, thanks.