aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorKim F. Storm <[email protected]>2005-01-23 13:13:03 +0000
committerKim F. Storm <[email protected]>2005-01-23 13:13:03 +0000
commit5b1ba1e3304c28668adcf1891458348fb25e8c50 (patch)
treef52fc126f9e3766ac32fc7b796c99467b2044813 /src/window.c
parent6b3d88f70e0a915ce1377f7c0f0428c0c0e127c5 (diff)
* window.c (Fpos_visible_in_window_p): Simplify return value for
partially visible rows. (window_scroll_pixel_based): Adapt to that change.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/window.c b/src/window.c
index ef3d38c155..bdc105da3e 100644
--- a/src/window.c
+++ b/src/window.c
@@ -333,11 +333,10 @@ If POS is only out of view because of horizontal scrolling, return non-nil.
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 @@ of the window. */)
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 @@ window_scroll_pixel_based (window, n, whole, noerror)
}
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 @@ window_scroll_pixel_based (window, n, whole, noerror)
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);