summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-12-12 13:43:37 +0000
committerGerd Moellmann <gerd@gnu.org>2001-12-12 13:43:37 +0000
commit201c831a096feecbad341f30d8c7497c466ab11a (patch)
tree9e93dff21501794375c19a8550030796be3d7e65
parentf7ccfc8c711b842cb3d1e3c9780b5f9c039daedd (diff)
downloademacs-201c831a096feecbad341f30d8c7497c466ab11a.tar.gz
(Frecenter): Simplify computation in the case of window
system frames and ARG < 0; use window_box_height.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/window.c9
2 files changed, 12 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2dceefd631e..fc6c8577046 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2001-12-12 Gerd Moellmann <gerd@gnu.org>
+
+ * xdisp.c (move_it_vertically_backward): Change heuristic
+ for the case that we didn't move far enough initially.
+
+ * window.c (Frecenter): Simplify computation in the case of window
+ system frames and ARG < 0; use window_box_height.
+
2001-12-11 Richard M. Stallman <rms@gnu.org>
* Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
diff --git a/src/window.c b/src/window.c
index 7d0a1eec6cd..6ee3086d616 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4584,18 +4584,17 @@ and redisplay normally--don't erase and redraw the frame. */)
nlines = - XINT (arg) - 1;
move_it_by_lines (&it, nlines, 1);
- y1 = it.current_y - y0;
- h = line_bottom_y (&it) - y1;
+ y1 = line_bottom_y (&it);
/* If we can't move down NLINES lines because we hit
the end of the buffer, count in some empty lines. */
if (it.vpos < nlines)
y1 += (nlines - it.vpos) * CANON_Y_UNIT (it.f);
- y0 = it.last_visible_y - y1 - h;
-
+ h = window_box_height (w) - (y1 - y0);
+
start_display (&it, w, pt);
- move_it_vertically (&it, - y0);
+ move_it_vertically (&it, - h);
charpos = IT_CHARPOS (it);
bytepos = IT_BYTEPOS (it);
}