3351 |
(let ((forward (> arg 0)) |
(let ((forward (> arg 0)) |
3352 |
(part (nth 2 (pos-visible-in-window-p (point) nil t)))) |
(part (nth 2 (pos-visible-in-window-p (point) nil t)))) |
3353 |
(if (and (consp part) |
(if (and (consp part) |
3354 |
(> (setq part (if forward (cdr part) (car part))) 0)) |
(> (if forward (cdr part) (car part)) 0)) |
3355 |
(set-window-vscroll nil |
(set-window-vscroll nil |
3356 |
(if forward |
(if forward |
3357 |
(+ (window-vscroll nil t) |
(+ (window-vscroll nil t) |
3358 |
(min part |
(min (cdr part) |
3359 |
(* (frame-char-height) arg))) |
(* (frame-char-height) arg))) |
3360 |
(max 0 |
(max 0 |
3361 |
(- (window-vscroll nil t) |
(- (window-vscroll nil t) |
3362 |
(min part |
(min (car part) |
3363 |
(* (frame-char-height) (- arg)))))) |
(* (frame-char-height) (- arg)))))) |
3364 |
t) |
t) |
3365 |
(set-window-vscroll nil 0) |
(set-window-vscroll nil 0) |
3366 |
(when (line-move-1 arg noerror to-end) |
(when (line-move-1 arg noerror to-end) |
3367 |
(sit-for 0) |
(when (not forward) |
3368 |
(if (and (not forward) |
(sit-for 0) |
3369 |
(setq part (nth 2 (pos-visible-in-window-p |
(if (and (setq part (nth 2 (pos-visible-in-window-p |
3370 |
(line-beginning-position) nil t))) |
(line-beginning-position) nil t))) |
3371 |
(> (cdr part) 0)) |
(> (cdr part) 0)) |
3372 |
(set-window-vscroll nil (cdr part) t)) |
(set-window-vscroll nil (cdr part) t))) |
3373 |
t))) |
t))) |
3374 |
(line-move-1 arg noerror to-end))) |
(line-move-1 arg noerror to-end))) |
3375 |
|
|