Mercurial > emacs
changeset 59700:c401b93db575
* window.c (Fpos_visible_in_window_p): Simplify return value for
partially visible rows.
(window_scroll_pixel_based): Adapt to that change.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sun, 23 Jan 2005 13:13:03 +0000 |
parents | 6491ad700699 |
children | 5f125540565b |
files | src/window.c |
diffstat | 1 files changed, 11 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Sun Jan 23 13:11:00 2005 +0000 +++ b/src/window.c Sun Jan 23 13:13:03 2005 +0000 @@ -333,11 +333,10 @@ POS defaults to point in WINDOW; WINDOW defaults to the selected window. If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil, -return value is a list (X Y FULLY [RTOP RBOT]) where X and Y are the pixel -coordinates relative to the top left corner of the window, and FULLY is t if the -character after POS is fully visible and nil otherwise. If FULLY is nil, -RTOP and RBOT are the number of pixels invisible at the top and bottom row -of the window. */) +return value is a list (X Y PARTIAL) where X and Y are the pixel coordinates +relative to the top left corner of the window. PARTIAL is nil if the character +after POS is fully visible; otherwise it is a cons (RTOP . RBOT) where RTOP +and RBOT are the number of pixels invisible at the top and bottom of the row. */) (pos, window, partially) Lisp_Object pos, window, partially; { @@ -376,12 +375,10 @@ if (!NILP (in_window) && !NILP (partially)) in_window = Fcons (make_number (x), Fcons (make_number (y), - Fcons (fully_p ? Qt : Qnil, - (fully_p - ? Qnil - : Fcons (make_number (rtop), - Fcons (make_number (rbot), - Qnil)))))); + Fcons ((fully_p ? Qnil + : Fcons (make_number (rtop), + make_number (rbot))), + Qnil))); return in_window; } @@ -4578,7 +4575,7 @@ } else if (auto_window_vscroll_p) { - if (NILP (XCAR (XCDR (XCDR (tem))))) + if (tem = XCAR (XCDR (XCDR (tem))), CONSP (tem)) { int px; int dy = WINDOW_FRAME_LINE_HEIGHT (w); @@ -4586,13 +4583,13 @@ dy = window_box_height (w) - next_screen_context_lines * dy; dy *= n; - if (n < 0 && (px = XINT (Fnth (make_number (3), tem))) > 0) + if (n < 0 && (px = XINT (XCAR (tem))) > 0) { px = max (0, -w->vscroll - min (px, -dy)); Fset_window_vscroll (window, make_number (px), Qt); return; } - if (n > 0 && (px = XINT (Fnth (make_number (4), tem))) > 0) + if (n > 0 && (px = XINT (XCDR (tem))) > 0) { px = max (0, -w->vscroll + min (px, dy)); Fset_window_vscroll (window, make_number (px), Qt);