comparison lisp/simple.el @ 63750:ca6b783d349c

(line-move-1): Fix previous change.
author Richard M. Stallman <rms@gnu.org>
date Fri, 24 Jun 2005 21:11:58 +0000
parents 2bd9653ec2f2
children 8fe9596925cd ebfb2856c8e6
comparison
equal deleted inserted replaced
63749:04f6d5752339 63750:ca6b783d349c
3440 (signal 'end-of-buffer nil) 3440 (signal 'end-of-buffer nil)
3441 (setq done t))) 3441 (setq done t)))
3442 (when (and (not done) 3442 (when (and (not done)
3443 (not (integerp selective-display)) 3443 (not (integerp selective-display))
3444 (not (line-move-invisible-p (point)))) 3444 (not (line-move-invisible-p (point))))
3445 ;; We avoid vertical-motion when possible
3446 ;; because that has to fontify.
3447 (forward-line 1)
3448 ;; If there are overlays in and around
3449 ;; the text we moved over, we need to be
3450 ;; sophisticated.
3451 (unless (overlays-in (max (1- pos-before) (point-min)) 3445 (unless (overlays-in (max (1- pos-before) (point-min))
3452 (min (1+ (point)) (point-max))) 3446 (min (1+ (point)) (point-max)))
3447 ;; We avoid vertical-motion when possible
3448 ;; because that has to fontify.
3449 (forward-line 1)
3453 (setq line-done t))) 3450 (setq line-done t)))
3454 ;; Otherwise move a more sophisticated way.
3455 ;; (What's the logic behind this code?)
3456 (and (not done) (not line-done) 3451 (and (not done) (not line-done)
3452 ;; Otherwise move a more sophisticated way.
3457 (zerop (vertical-motion 1)) 3453 (zerop (vertical-motion 1))
3458 (if (not noerror) 3454 (if (not noerror)
3459 (signal 'end-of-buffer nil) 3455 (signal 'end-of-buffer nil)
3460 (setq done t)))) 3456 (setq done t))))
3461 (unless done 3457 (unless done
3471 (signal 'beginning-of-buffer nil) 3467 (signal 'beginning-of-buffer nil)
3472 (setq done t))) 3468 (setq done t)))
3473 (when (and (not done) 3469 (when (and (not done)
3474 (not (integerp selective-display)) 3470 (not (integerp selective-display))
3475 (not (line-move-invisible-p (1- (point))))) 3471 (not (line-move-invisible-p (1- (point)))))
3476 (forward-line -1)
3477 (unless (overlays-in (max (1- (point)) (point-min)) 3472 (unless (overlays-in (max (1- (point)) (point-min))
3478 (min (1+ pos-before) (point-max))) 3473 (min (1+ pos-before) (point-max)))
3474 (forward-line -1)
3479 (setq line-done t))) 3475 (setq line-done t)))
3480 (and (not done) (not line-done) 3476 (and (not done) (not line-done)
3481 (zerop (vertical-motion -1)) 3477 (zerop (vertical-motion -1))
3482 (if (not noerror) 3478 (if (not noerror)
3483 (signal 'beginning-of-buffer nil) 3479 (signal 'beginning-of-buffer nil)