GNU bug report logs -
#11464
24.1.50; pos-visible-in-window-p returns a false positive with bidi text
Previous Next
Reported by: Ari Roponen <ari.roponen <at> gmail.com>
Date: Sun, 13 May 2012 15:56:01 UTC
Severity: normal
Found in version 24.1.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #58 received at 11464 <at> debbugs.gnu.org (full text, mbox):
> From: Ari Roponen <ari.roponen <at> gmail.com>
> Cc: mwd <at> cert.org, 11464 <at> debbugs.gnu.org
> Date: Fri, 18 May 2012 13:47:26 +0300
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > And if that happens, the correction code below, viz.:
> >
> > if (bottom_y <= it.last_visible_y
> > && it.bidi_p && it.bidi_it.scan_dir == -1
> > && IT_CHARPOS (it) < charpos)
> >
> > would evaluate to false, and visible_p would have stayed at its 1
> > value, which is wrong.
> >
> > So could you please clarify this case?
>
> Yes, pos_visible_p indeed returns incorrect value (1), but it is called
> from Fpos_visible_in_window_p, which returns the correct value. For
> longer description, see below.
OK, but pos_visible_p is called from other places, and needs to
produce a correct result by itself.
> > Also, what was the value of top_y in your first case, i.e.:
> >
> >> bottom_y = 300
> >> it.last_visible_y = 304
>
> That case has the following values now (in emacs-24 rev. 108005):
>
> bottom_y = 302
> it.last_visible_y = 304
> top_y = 285
Very strange, for both 300 and 302. These values seem to imply that
the screen line where we wind up spans pixel coordinates [285..302],
which means move_it_to didn't get to its goal coordinate 303.
What are the values of it.max_ascent and it.max_descent in this case,
at the point where the move_it_to call on line 1287 returns?
> I'm not sure why bottom_y has changed its value. I guess that is
> because I installed some new fonts.
That's okay, they both puzzle me alike.
Thanks.
This bug report was last modified 13 years and 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.