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 56 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.