bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5654: Even slightest scrollbar move warping point


From: Jan Djärv
Subject: bug#5654: Even slightest scrollbar move warping point
Date: Sun, 28 Feb 2010 12:41:44 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

It does not happen in 23.1.
Reverting this change:

2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>

        * scroll-bar.el (scroll-bar-set-window-start, scroll-bar-drag-1)
        (scroll-bar-maybe-set-window-start):

        Use with-current-buffer.

fixes it.  I don't know if that is the right thing to do.
Adding a save-excursion in scroll-bar-drag-1 also fixes it:

--- lisp/scroll-bar.el  2010-01-13 08:35:10 +0000
+++ lisp/scroll-bar.el  2010-02-28 11:41:09 +0000
@@ -211,12 +211,13 @@
         (window (nth 0 start-position))
         (portion-whole (nth 2 start-position)))
     (with-current-buffer (window-buffer window)
+      (save-excursion
       ;; 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)))))
+      (set-window-start window (point))))))

 (defun scroll-bar-drag (event)
   "Scroll the window by dragging the scroll bar slider.


        Jan D.



David De La Harpe Golden skrev:
Don't actually use the scrollbar very much, so not presently sure if this was just always the way emacs acted and I simply didn't notice, but right now (23.1.93), if you "move the scrollbar" a tiny bit (not enough to actually visibly scroll the buffer), the point warps to the top of the window.

recipe:

* emacs -Q on X11, with gtk+ (debian libgtk 2.18.6-1) toolkit scrollbars:

place point somewhere other than start of buffer. (if you've just done emacs -Q, it'll probably be at the end of the *scratch* buffer anyway).

mouse-1 down on scrollbar. move even a tiny amount, not enough to scroll. If you've just done emacs -Q, it'll already be at the top, so you could just push it against the top, which you might not expect to do anything, really. Point warps to window start. This happens before
you mouse-1 up.


* emacs -Q on X11, with lucid with toolkit scrollbars: (i.e. 90s-looking 3d-effect scrollbar):

same as gtk+

* emacs -Q on X11, with lucid without toolkit scrollbars (i.e. flat looking scrollbar):

no warp on mouse-1, but of course mouse-1 means something different for these scrollbars - there is an immediate warp, but I think that's also different since these scrollbars immediately scroll to a location corresponding to the position on the scrollbar you mouse-2 down on. So this case might be irrelevant and it's only something that's happening for toolkit scrollbars.



















reply via email to

[Prev in Thread] Current Thread [Next in Thread]