3342 |
(or (memq prop buffer-invisibility-spec) |
(or (memq prop buffer-invisibility-spec) |
3343 |
(assq prop buffer-invisibility-spec))))) |
(assq prop buffer-invisibility-spec))))) |
3344 |
|
|
3345 |
;; Perform vertical scrolling of tall images if necessary. |
;; This is like line-move-1 except that it also performs |
3346 |
;; Don't vscroll in a keyboard macro. |
;; vertical scrolling of tall images if appropriate. |
3347 |
|
;; That is not really a clean thing to do, since it mixes |
3348 |
|
;; scrolling with cursor motion. But so far we don't have |
3349 |
|
;; a cleaner solution to the problem of making C-n do something |
3350 |
|
;; useful given a tall image. |
3351 |
(defun line-move (arg &optional noerror to-end try-vscroll) |
(defun line-move (arg &optional noerror to-end try-vscroll) |
3352 |
(if (and auto-window-vscroll try-vscroll |
(if (and auto-window-vscroll try-vscroll |
3353 |
|
;; But don't vscroll in a keyboard macro. |
3354 |
(not defining-kbd-macro) |
(not defining-kbd-macro) |
3355 |
(not executing-kbd-macro)) |
(not executing-kbd-macro)) |
3356 |
(let ((forward (> arg 0)) |
(let ((forward (> arg 0)) |
3373 |
;; Update display before calling pos-visible-in-window-p, |
;; Update display before calling pos-visible-in-window-p, |
3374 |
;; because it depends on window-start being up-to-date. |
;; because it depends on window-start being up-to-date. |
3375 |
(sit-for 0) |
(sit-for 0) |
3376 |
|
;; If the current line is partly hidden at the bottom, |
3377 |
|
;; scroll it partially up so as to unhide the bottom. |
3378 |
(if (and (setq part (nth 2 (pos-visible-in-window-p |
(if (and (setq part (nth 2 (pos-visible-in-window-p |
3379 |
(line-beginning-position) nil t))) |
(line-beginning-position) nil t))) |
3380 |
(> (cdr part) 0)) |
(> (cdr part) 0)) |