mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-29 00:31:01 -08:00
(Fmove_to_window_line): Undo last change.
(displayed_window_lines): Call line_bottom_y to determine the line's bottom position.
This commit is contained in:
parent
8b6ea97f85
commit
c8bc6f6559
2 changed files with 17 additions and 18 deletions
|
|
@ -1,5 +1,15 @@
|
|||
2001-02-19 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* window.c (Fmove_to_window_line): Undo last change.
|
||||
(displayed_window_lines): Call line_bottom_y to determine
|
||||
the line's bottom position.
|
||||
|
||||
* dispextern.h (line_bottom_y): Add prototype.
|
||||
|
||||
* xdisp.c (line_bottom_y): New function extracted from
|
||||
pos_visible_p.
|
||||
(pos_visible_p): Use it.
|
||||
|
||||
* keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
|
||||
set redisplaying_p to 0 here instead of in Frecursive_edit.
|
||||
(Frecursive_edit): Don't bind `inhibit-redisplay' and don't
|
||||
|
|
|
|||
25
src/window.c
25
src/window.c
|
|
@ -4495,25 +4495,18 @@ displayed_window_lines (w)
|
|||
SET_TEXT_POS_FROM_MARKER (start, w->start);
|
||||
start_display (&it, w, start);
|
||||
move_it_vertically (&it, height);
|
||||
|
||||
if (old_buffer)
|
||||
set_buffer_internal (old_buffer);
|
||||
|
||||
bottom_y = it.current_y + it.max_ascent + it.max_descent;
|
||||
|
||||
if (bottom_y > it.current_y && bottom_y <= it.last_visible_y)
|
||||
/* Hit a line without a terminating newline. */
|
||||
it.vpos++;
|
||||
bottom_y = line_bottom_y (&it);
|
||||
|
||||
/* Add in empty lines at the bottom of the window. */
|
||||
if (bottom_y < height)
|
||||
{
|
||||
struct frame *f = XFRAME (w->frame);
|
||||
int rest = height - bottom_y;
|
||||
int lines = rest / CANON_Y_UNIT (f);
|
||||
it.vpos += lines;
|
||||
int uy = CANON_Y_UNIT (it.f);
|
||||
it.vpos += (height - bottom_y + uy - 1) / uy;
|
||||
}
|
||||
|
||||
if (old_buffer)
|
||||
set_buffer_internal (old_buffer);
|
||||
|
||||
return it.vpos;
|
||||
}
|
||||
|
||||
|
|
@ -4659,13 +4652,9 @@ zero means top of window, negative means relative to bottom of window.")
|
|||
XSETINT (arg, XINT (arg) + lines);
|
||||
}
|
||||
|
||||
#if 0 /* I don't understand why this is done. Among other things,
|
||||
it means that C-u 0 M-r moves to line 1, and C-u -1 M-r
|
||||
moves to the line below the window end. 2000-02-05, gerd */
|
||||
/* Skip past a partially visible first line. */
|
||||
if (w->vscroll)
|
||||
/* Skip past a partially visible first line. */
|
||||
XSETINT (arg, XINT (arg) + 1);
|
||||
#endif
|
||||
|
||||
return Fvertical_motion (arg, window);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue