[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#32002: 24.4; Scroll bar start, end not correct
From: |
martin rudalics |
Subject: |
bug#32002: 24.4; Scroll bar start, end not correct |
Date: |
Sat, 14 Jul 2018 10:01:09 +0200 |
> ((eq part 'handle)
> (scroll-bar-drag-1 event))))
>
> My guess is the latter, in which case I think the problem is in
> scroll-bar-drag-1. Can you spot it? I think it calculates the new
> starting point of the window incorrectly, because it doesn't take into
> account the special situation with scroll-bar-adjust-thumb-portion in
> this particular case.
Right, presumably. What happens here is that in 'scroll-bar-drag-1'
we go to 'point-max' since 'portion-whole' is (1 . 1) and
'scroll-bar-scale' returns WHOLE in that case and set the start
position of that window to 'point-max'. If, in that case, we do
nothing as in
(defun scroll-bar-drag-1 (event)
(let* ((start-position (event-start event))
(window (nth 0 start-position))
(portion-whole (nth 2 start-position)))
(unless (= (car portion-whole) (cdr portion-whole))
(save-excursion
(with-current-buffer (window-buffer window)
;; Calculate position relative to the accessible part of the buffer.
(goto-char (+ (point-min)
(scroll-bar-scale portion-whole
(- (point-max) (point-min)))))
(vertical-motion 0 window)
(set-window-start window (point)))))))
the problem is resolved. But I'm afraid that I understand too little
about overscrolling and the portion/whole stuff to confidently
recommend such a solution. Hopefully, you will come up with a better
one.
martin
- bug#32002: 24.4; Scroll bar start, end not correct, (continued)
- bug#32002: 24.4; Scroll bar start, end not correct, Andrew Kurn, 2018/07/10
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/10
- bug#32002: 24.4; Scroll bar start, end not correct, Andrew Kurn, 2018/07/12
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/12
- bug#32002: 24.4; Scroll bar start, end not correct, Stephen Berman, 2018/07/12
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/12
- bug#32002: 24.4; Scroll bar start, end not correct, Mike Kupfer, 2018/07/14
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/14
- bug#32002: 24.4; Scroll bar start, end not correct,
martin rudalics <=
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/21
- bug#32002: 24.4; Scroll bar start, end not correct, martin rudalics, 2018/07/22
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/22
- bug#32002: 24.4; Scroll bar start, end not correct, martin rudalics, 2018/07/23
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/27
- bug#32002: 24.4; Scroll bar start, end not correct, martin rudalics, 2018/07/27
- bug#32002: 24.4; Scroll bar start, end not correct, Andrew Kurn, 2018/07/27
- bug#32002: 24.4; Scroll bar start, end not correct, Eli Zaretskii, 2018/07/27
- bug#32002: 24.4; Scroll bar start, end not correct, martin rudalics, 2018/07/28
- bug#32002: 24.4; Scroll bar start, end not correct, Mike Kupfer, 2018/07/28