[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r108008: A better fix for bug #114
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r108008: A better fix for bug #11464 with pos-visible-in-window-p and R2L text. |
Date: |
Sat, 19 May 2012 15:14:11 +0300 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 108008
fixes bug(s): http://debbugs.gnu.org/11464
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Sat 2012-05-19 15:14:11 +0300
message:
A better fix for bug #11464 with pos-visible-in-window-p and R2L text.
src/xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
state after an additional call to move_it_in_display_line_to, keep
the values of it->max_ascent and it->max_descent found for the
entire line.
(pos_visible_p): Revert the comparison against bottom_y to what it
was in revid address@hidden
modified:
src/ChangeLog
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-05-15 16:17:42 +0000
+++ b/src/ChangeLog 2012-05-19 12:14:11 +0000
@@ -1,3 +1,13 @@
+2012-05-19 Eli Zaretskii <address@hidden>
+
+ * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
+ state after an additional call to move_it_in_display_line_to, keep
+ the values of it->max_ascent and it->max_descent found for the
+ entire line.
+ (pos_visible_p): Revert the comparison against bottom_y to what it
+ was in revid address@hidden
+ (Bug#11464)
+
2012-05-15 Eli Zaretskii <address@hidden>
* xdisp.c (pos_visible_p): Fix last change. (Bug#11464)
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2012-05-15 16:17:42 +0000
+++ b/src/xdisp.c 2012-05-19 12:14:11 +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)
{
@@ -8689,8 +8689,18 @@
{
/* If TO_Y is in this line and TO_X was reached
above, we scanned too far. We have to restore
- IT's settings to the ones before skipping. */
+ IT's settings to the ones before skipping. But
+ keep the more accurate values of max_ascent and
+ max_descent we've found while skipping the rest
+ of the line, for the sake of callers, such as
+ pos_visible_p, that need to know the line
+ height. */
+ int max_ascent = it->max_ascent;
+ int max_descent = it->max_descent;
+
RESTORE_IT (it, &it_backup, backup_data);
+ it->max_ascent = max_ascent;
+ it->max_descent = max_descent;
reached = 6;
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r108008: A better fix for bug #11464 with pos-visible-in-window-p and R2L text.,
Eli Zaretskii <=